> For the complete documentation index, see [llms.txt](https://docs.1kosmos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.1kosmos.com/integrations/identity-verification/sailpoint-identity-verification-for-workflows/initial-sailpoint-set-up.md).

# Initial Sailpoint set up

Before configuration, check for the following:&#x20;

* Admin access to your SailPoint ISC tenant, including access to SaaS Workflows&#x20;
* Admin access to your 1Kosmos tenant/community&#x20;
* 1Kosmos API credentials for your tenant: keyId, keySecret, license, tenant\_id, community\_id, and your host&#x20;

&#x20;

#### SailPoint ISC — Create a Source&#x20;

The integration requires a dedicated source in SailPoint ISC to store Identity Verification status attributes for each identity. This source is non-authoritative — it holds IDV outcome data that SailPoint surfaces at the identity level to inform access decisions. For instructions on creating and configuring a source in SailPoint ISC, see [Configuring Sources](https://documentation.sailpoint.com/saas/help/sources/config_sources.html).&#x20;

In your source, use the following attributes:

| Attribute       | Description                                                                                                                   |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| id              | 1Kosmos workflow instance ID. Used as the account identifier and nativeIdentity. If the workflow is not complete, add this in |
| name            | User's email address.                                                                                                         |
| firstName       | User's first name.                                                                                                            |
| lastName        | User's last name.                                                                                                             |
| email           | User's email address.                                                                                                         |
| idvStatus       | Current IDV status. Values: PENDING, COMPLETED.                                                                               |
| idvStatusReason | Reason associated with the IDV status. Mapping from result\_summary to be determined — not currently populated.               |
| createDate      | Date the record was created.                                                                                                  |
| updateDate      | Date the record was last updated.                                                                                             |

&#x20;

#### Identity Profile Configuration&#x20;

Add idvStatus and idvStatusReason attributes to the Identity Profiles that govern the target identities and configure the attribute mappings to retrieve these values from the source.&#x20;

#### SailPoint Personal Access Token (PAT)&#x20;

Create a Personal Access Token in SailPoint with the following OAuth scopes:&#x20;

* idn:accounts:read&#x20;
* idn:accounts:manage&#x20;

Creating the PAT gives you a client ID and client secret. You'll use these to obtain a bearer token before making any SailPoint API calls (see Section 2.4). Full instructions and a runnable example are in the [SailPoint API reference](https://developer.sailpoint.com/docs/api/identity-security-cloud-api/) and the [Postman collection](https://developer.sailpoint.com/docs/api/postman-collections).&#x20;

#### Authenticate to the SailPoint API&#x20;

The HTTP Request steps used in both workflows call the SailPoint API directly, so each one needs a bearer token. Tokens are obtained via the OAuth 2.0 client\_credentials grant, using the PAT from Section 2.3. &#x20;

**Token request**&#x20;

`POST https://{tenant}.api.{domain}.com/oauth/token`&#x20;

`Content-Type: application/x-www-form-urlencoded`&#x20;

`grant_type=client_credentials&client_id={pat_client_id}&client_secret={pat_client_secret}`&#x20;

&#x20;

**Token response**&#x20;

`{`&#x20;

&#x20; `"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",`&#x20;

&#x20; `"token_type": "Bearer",`&#x20;

&#x20; `"expires_in": 750`&#x20;

`}`&#x20;

Include the token on every subsequent SailPoint API call&#x20;

```
Authorization: Bearer {access_token} 
```

For a complete working example, see the [SailPoint API reference](https://developer.sailpoint.com/docs/api/identity-security-cloud-api/) and the [Postman collection](https://developer.sailpoint.com/docs/api/postman-collections).&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.1kosmos.com/integrations/identity-verification/sailpoint-identity-verification-for-workflows/initial-sailpoint-set-up.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
