For the complete documentation index, see llms.txt. This page is also available as Markdown.

Workflow 1: Enroll a New Identity for Verification

This workflow starts a verification session in 1Kosmos, creates a matching account in the source, and emails the user a link to begin verification.

Steps

#

Step

SailPoint Step Type

1

Identity Created

Trigger

2

Create 1Kosmos Workflow Instance

HTTP Request

3

Create Account

Create Account

4

Send Verification Email

Send Email

Identity Created

Set the workflow trigger to Identity Created. This fires whenever a new identity is created in SailPoint from any of your sources, and makes that identity's attributes (email, first name, last name, identity ID) available to the rest of the workflow.

Create 1Kosmos Workflow Instance

Add an HTTP Request step that calls the 1Kosmos Create Workflow Instance API to start a new IDV session for the user, using the trigger data from Step 1.

POST https://{1kosmos_host}/workflowapi/workflow_instance/tenant/{tenant_id}/community/{community_id}/create

Accept: application/json

Content-Type: application/json

keyId: {keyId}

keySecret: {keySecret}

license: {license}

requestfromswagger: true

{

"data": {

"metaData": {

"email": "{{$.trigger.attributes.email}}",

"firstName": "{{$.trigger.attributes.firstname}}",

"identityId": "{{$.trigger.identity.id}}",

"lastName": "{{$.trigger.attributes.lastname}}"

},

"workflowId": "{your 1Kosmos workflowId}"

}

}

Response

{

"data": {

"wfInstanceId": "wfi-abc123-def456-ghi789",

"wfInstanceUrl": "https://{1kosmos_host}/workflow/wf_instance/wfi-abc123-def456-ghi789"

}

}

Create Account

Add a Create Account step in the workflow. This will create an account in the source using the trigger data from Step 1 and the wfInstanceId returned in Step 2.

POST https://{tenant}.api.{domain}.com/v3/accounts

Authorization: Bearer {access_token}

Content-Type: application/json

{

"attributes": {

"createDate": "{{$.now()}}",

"email": "{{$.trigger.attributes.email}}",

"lastName": "{{$.trigger.attributes.lastname}}",

"firstName": "{{$.trigger.attributes.firstname}}",

"id": "{{$.hTTPRequest.body.data.wfInstanceId}}",

"idvStatus": "PENDING",

"name": "{{$.trigger.attributes.email}}",

"sourceId": "{your source ID}"

},

"identityId": "{{$.trigger.identity.id}}"

}

The id value you set here becomes the account's nativeIdentity in SailPoint (SailPoint separately generates its own internal account ID). Workflow 2 uses nativeIdentity as the key to find this account again, so it must match the wfInstanceId from Step 2.

Send Verification Email

Add a Send Email step to notify the user:

  • Recipient: identity.attributes.email

  • Link: the wfInstanceUrl returned in Step 2

Last updated

Was this helpful?