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

Workflow 2: Record the Verification Result

This workflow looks up the account created by Workflow 1, retrieves the verification outcome from 1Kosmos, and writes it back to the account.

Steps

#

Step

SailPoint Step Type

1

External Trigger

Trigger

2

Look Up 1Kosmos Account

Get Accounts

3

Get Verification Result

HTTP Request

4

Update Account

HTTP Request

External Trigger

Set the workflow trigger to External Trigger. An external trigger gives the workflow its own callable endpoint and its own auth credentials — calling that endpoint is what starts this workflow. SailPoint generates the endpoint URL, client ID, and client secret automatically when you add this trigger; open the trigger configuration to copy all three. You'll enter them into the 1Kosmos workflow, so that 1Kosmos can call this workflow when verification finishes.

1Kosmos calls this endpoint with the workflow instance ID in the request body, available in the workflow as:

$.trigger.data.wfInstanceId

Look Up 1Kosmos Account

Add a Get Accounts step to find the account whose nativeIdentity matches the wfInstanceId from Step 1, and save its internal id — you'll need it for the update in Step 4.

GET https://{tenant}.api.{domain}.com/v3/accounts?filters=nativeIdentity eq "{wfInstanceId}" and sourceId eq "{sourceId}"

Authorization: Bearer {access_token}

Get Verification Result

Add an HTTP Request step that calls the 1Kosmos result summary API to retrieve the outcome of the verification session.

GET https://{1kosmos_host}/workflowapi/workflow_instance/{wfInstanceId}/result_summary

Accept: application/json

keyId: {keyId}

keySecret: {keySecret}

license: {license}

requestfromswagger: true

Response

{

"data": {

"communityId": "{community_id}",

"createdAt": "2026-06-08T14:27:30.345Z",

"expiresAt": "2026-06-15T14:27:30.345Z",

"metaData": {

"email": "{email}",

"firstName": "{first_name}",

"identityId": "{identity_id}",

"lastName": "{last_name}"

},

"startAt": "2026-06-08T14:28:09.983Z",

"status": "COMPLETED",

"summary": {

"docsScanned": ["PASSPORT"],

"person_info": {

"dob": "{dob}",

"firstName": "{first_name}",

"lastName": "{last_name}"

}

},

"tenantId": "{tenant_id}",

"updatedAt": "2026-06-08T14:29:03.655Z",

"wfInstanceId": "{wfInstanceId}",

"workflowId": "{workflowId}"

},

"publicKey": "{publicKey}",

"signature_token": "{signature_token}"

}

Update Account

Add an HTTP Request step that calls the SailPoint PATCH /v3/accounts/{id} API to write the result onto the account, using the internal account id from Step 2 and the status from Step 3.

An HTTP Request step is used here rather than a built-in account-update step, since SailPoint's Workflow Builder doesn't currently include a step that can patch arbitrary account attributes like this — calling the API directly is the way to do it.

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

Authorization: Bearer {access_token}

Content-Type: application/json-patch+json

[

{

"op": "add",

"path": "/attributes/idvStatus",

"value": "{{$.hTTPRequest.body.data.status}}"

},

{

"op": "add",

"path": "/attributes/updateDate",

"value": "{{$.now()}}"

}

]

Last updated

Was this helpful?