Process execution webhooks are used during the execution of processes you run on spektr's platform.
Read more about webhooks in spektr here.
All webhook events are sent in batches of the following shape:
{
"results": [
event1,
event2,
...
]
}
In the above representation, the results array contains individual events as described below.
WIPThese events are work in progress and their definition might slightly change in the final version.
| Webhook | Description | Status |
|---|---|---|
| PROCESS_RUN_START | Event created when a process starts running | Available |
| LOOP_RUN_START | Event created when a loop starts running | Available |
| PROCESS_RUN_END | Event created when a process finishes running | Available |
| SERVICE_RUN | Event created when a service response is received | Available |
| ALERT_ESCALATED | Event created when an alert is created | Available |
| ALERT_RESOLVED | Event created when an alert is resolved | Available |
| CUSTOMER_TAG_ADDED | Event created when a tag is added to a customer by a process or a user | Available |
| CUSTOMER_TAG_REMOVED | Event created when a tag is removed from a customer by a user | Available |
| CUSTOMER_STATUS_CHANGE(deprecated) | Event created when the status of a customer changes through a status node or manually by a user | Available |
| CUSTOMER_STATUS_CHANGED | Event created when the status of a customer changes through a status node or manually by a user | Available |
| CUSTOMER_DUPLICATE_DETECTION | Event created when a customer is found as duplicate | Available |
| CUSTOMER_RECORD_UPDATE(deprecated) | Event created when a customer receives an external update | Available |
| CUSTOMER_RECORD_CHANGED | Event created when a customer receives an update | Available |
| OWNERSHIP_AI_CREATED | Event created when a customer is created by AI discovery. | Available |
| OWNERSHIP_AI_ADDED_OWNER | Event created when an owner is added in the connection graph using AI discovery. | Available |
| CLIENT_RECORD_SYNC | Event created when an imported customer through a connector is synced. | Available |
| STEP_INIT | Event created when a form is rendered in the skyhub form editor application. | Available |
| STEP_SUBMIT | Event created when a form is submitted in the skyhub form editor application. | Available |
PROCESS_RUN_START
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "process_run_start",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"processType": "risk",
"processName": "Risk Assessment",
"processId": "12345",
"contextId": "67890",
"token": "<the token>",
"reference": "optional-reference",
"parentProcessId": "<id-of-parent-linked-process>",
"parentSpektrId": "<spektrId-of-parent-entity>"
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| eventType | string | Type of event, e.g., process_run_start. | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data.processType | string | Type of process, e.g., 'risk', 'monitoring', 'onboarding', etc. | |
| data.processName | string | Name of the process. | |
| data.processId | string | ID of the process. | |
| data.contextId | string | ID of the run. | |
| data.token | string \ | undefined | The token associated with this process run. |
| data.reference | string \ | undefined | Optional value passed to the onboarding process through a query param. |
| data.parentProcessId | string \ | undefined | Optional value passed if the process that issues the event is triggered by another process |
| data.parentSpektrId | string \ | undefined | Optional values passed if the process that issues the event is triggered by another process linked to an UBO block |
LOOP_RUN_START
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "loop_run_start",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"processType": "risk",
"processName": "Risk Assessment",
"processId": "12345",
"contextId": "67890",
"stepType": "form",
"stepId": "686660b873833dea357e8702",
"token": "<the token>",
"reference": "optional-reference",
"spektr_id": "<id of the client related to this event>",
"parentProcessId": "<id-of-parent-linked-process>",
"parentSpektrId": "<spektrId-of-parent-entity>",
// ...all execution related spektr data fields (e.g. form submitted values, service mapped values, scores, etc.
"loopHeader": "Any header value", // Header set in loop settings
"loopMessage": "Any loop message", // Message set in loop settings
"loopUrl": "https://actions.spektr.com/form?token=eyJpZCI6ImI2NzllNzcw....", // Form filling URL
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| eventType | string | Type of event, e.g., loop_run_start. | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data.processType | string | Type of process, e.g., 'risk', 'monitoring', 'onboarding', etc. | |
| data.processName | string | Name of the process. | |
| data.processId | string | ID of the process. | |
| data.contextId | string | ID of the run. | |
| data.stepType | string | The type of the step that was inited, e.g. 'form' or 'ownershipTreeForm'. | |
| data.stepId | string | The ID of the step that was inited. | |
| data.token | string \ | undefined | The token associated with this process run. |
| data.reference | string \ | undefined | Optional value passed to the onboarding process through a query param. |
| data.spektr_id | string \ | undefined | Id of the client related to this event |
| data.* | object | Rest of the execution related spektr data fields (e.g. form submitted values, service mapped values, scores, etc | |
| loopHeader | string \ | undefined | Header set in loop settings |
| loopMessage | string \ | undefined | Message set in loop settings |
| loopUrl | string \ | undefined | Form filling URL |
| data.parentProcessId | string \ | undefined | Optional value passed if the process that issues the event is triggered by another process |
| data.parentSpektrId | string \ | undefined | Optional values passed if the process that issues the event is triggered by another process linked to an UBO block |
Samples
{
id: '6867b8db50ffa326d667ac63',
workspaceId: 'd861cbbc0b5b5a0fcf201910cf8aa8c2',
eventType: 'loop_run_start',
timestamp: 1751627995564,
spektrId: '6867b8db50ffa326d667ac5f',
data: {
processType: 'onboarding',
processName: 'test stringList startOnboarding',
processId: '686660b573833dea357e86f6',
contextId: '6867b8db50ffa326d667ac60',
token:
'eyJpZCI6ImQ4NjFjYmJjMGI1YjVhMGZjZjIwMTkxMGNmOGFhOGMyIiwidG9rZW4iOiJiZTFjMTE3NDI3YjQ4NTdjMmExODQ2ZjU4YjljM2I0ZDI1ZjkxYmJmZjcyMWQ4YzNlNTVmZWNkZDc0ZDQ3ZTEyIn0=',
spektr_id: '6867b8db50ffa326d667ac5f',
score: 0,
loopHeader: 'Any header value',
loopMessage: 'Any loop message',
loopUrl: 'https://actions.spektr.com/form?token=eyJpZCI6ImQ4NjFjYmJjMGI1YjVhMGZjZjIwMTkxMGNmOGFhOGMyIiwidG9rZW4iOiJiZTFjMTE3NDI3YjQ4NTdjMmExODQ2ZjU4YjljM2I0ZDI1ZjkxYmJmZjcyMWQ4YzNlNTVmZWNkZDc0ZDQ3ZTEyIn0='
},
},
PROCESS_RUN_END
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "<event-type>",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"company_name": "unilever",
"company_number": "123",
"country_of_incorporation": "GB",
// other client record and execution fields
"processType": "onboarding",
"processOutput": "<output of the process>",
"processName": "<process-name>",
"processId": "12345",
"reference": "optional-reference",
"customerStatus": "pending",
"score": 0,
"contextId": "6850ea584ee798c166e36802",
"tags": [
{ "color": "rgba(0,0,0,1)", "label": "xxx" },
{ "color": "rgba(255,0,0,1)", "label": "red", "icon": "Siren" },
],
}
}| Name | Type | Description | ||
|---|---|---|---|---|
| id | string | Event identifier. | ||
| spektrId | string | ID of the end-user related to this event. | ||
| eventType | string | Event type, e.g. process_run_end | ||
| timestamp | number | Epoch timestamp when the event was created. | ||
| workspaceId | string | ID of the workspace. | ||
| data | object | key-value entries from end-user or external services. 'key' corresponds to field.key when entry was submitted by end-user. | ||
| data.* | ... | all client record and/or execution fields | ||
| data.processName | string | Name of the process. | ||
| data.processType | string | Type of process, e.g. 'onboarding' | ||
| data.processOutput | string | Output of the process, e.g. 'unknown' | ||
| data.processId | string | ID of the process | ||
| data.reference | string \ | undefined | Optional value passed to the onboarding process through a query param. | |
| data.score | number | Score of the process run or 0 | ||
| data.contextId | string | ID of the execution of the process | ||
| data.customerStatus | string | pending \ | rejected \ | approved |
| data.tags | object[] | Array of tags | ||
| data.tags[].color | string \ | undefined | Color of tag, e.g. rgba(255,0,0,1) | |
| data.tags[].label | string \ | undefined | Label of tag, e.g. 'Some tag' | |
| data.tags[].icon | string \ | undefined | Icon of tag, e.g. 'Siren' |
Samples
{
id: '686f58da3b9059f19eb2d066',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'process_run_end',
timestamp: 1752127706390,
spektrId: '686e28baebd46db5a35beccb',
data: {
company_name: 'test1',
vat_number: '123',
customerStatus: 'approved',
processType: 'loop',
processOutput: 'unknown',
processName: 'loop',
processId: '6863946a7addd2ed37a96af8',
score: 0,
contextId: '686f589e1926bef99eda763e',
tags: []
},
},
SERVICE_RUN
{
"id": "<event-id>",
"spektrId": "<id of the client related to this event>",
"eventType": "service_run",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"vendorType": "service type",
"vendorSearchId": "<id of the vendor call can be used to fetch raw data>",
"stepType": "service type",
"stepId": "<step id>",
"contextId":"<process run id",
"processId":"<process id>",
"processName": "process name",
"processType": "process type",
"reference": "optional-reference",
"vendorData": {}
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| timestamp | number | Epoch timestamp when the event was created. | |
| eventType | string | service_run | |
| workspaceId | string | ID of the workspace. | |
| stepType | string | Type of the step | |
| stepId | string | ID of the step | |
| data.vendorType | string | Type of the vendor. | |
| data.vendorData.* | ... | all client record and/or execution fields | |
| data.contextId | string | ID of the process run. | |
| data.processId | string | ID of the process. | |
| data.processName | string | Name of the process. | |
| data.processType | string | Type of process, e.g., 'risk', 'monitoring', 'onboarding', etc. | |
| data.reference | string \ | undefined | Optional value passed to the onboarding process through a query param. |
Samples
{
"id": "6895df57920b519635cd08ff",
"workspaceId": "559ae2249db800a7b0fa02ad58b196ae",
"eventType": "service_run",
"timestamp": 1754652503978,
"spektrId": "6895df2c8ecdcab40a53e5c8",
"data": {
"stepType": "complyAdvantageKyc",
"stepId": "689520965b9adf44780d2b6d",
"vendorType": "complyAdvantageKyc",
"contextId": "6895df2c8ecdcab40a53e5c9",
"processId": "6890970bb7a99f6e058e6254",
"processName": "test customers",
"processType": "onboarding",
"vendorData": {
"complyAdvantageKyc_has_sanctions": true,
"complyAdvantageKyc_has_adverse_media": true,
"complyAdvantageKyc_is_PEP": true,
"complyAdvantageKyc_is_PEP_class_1": true,
"complyAdvantageKyc_has_sanctions_hit_count": 2,
"complyAdvantageKyc_has_adverse_media_hit_count": 15,
"complyAdvantageKyc_is_PEP_hit_count": 1,
"complyAdvantageKyc_is_PEP_class_1_hit_count": 1,
"complyAdvantageKyc_has_warnings": false,
"complyAdvantageKyc_service_failure": false,
"has_sanctions_unresolved_alerts": true,
"has_sanctions_alerts_with_no_matches": false,
"has_adverse_media_unresolved_alerts": true,
"has_adverse_media_alerts_with_no_matches": false,
"has_is_pep_unresolved_alerts": true,
"has_is_pep_alerts_with_no_matches": false
}
}
}ALERT_ESCALATED
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "alert_resolved",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"contextId":"<process-run-id",
"processId":"<process-id>",
"alertType":"<type of alert>",
"alertId":"<alert-id>",
"alertName": "<alert name>",
"reference": "<associated reference if present, or else undefined>",
"datasetId": "<dataset-id>",
"status": "open"
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| eventType | string | Type of event, e.g., "alert_resolved". | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data.contextId | string | ID of the process run. | |
| data.alertType | string | The type of alert e.g. "manual_review" | |
| data.datasetId | string | The dataset for the customer the alert pertains to | |
| data.alertId | string | Alert ID. | |
| data.alertName | string | Name of the alert. | |
| data.status | string | The status of the alert e.g. "open" |
ALERT_RESOLVED
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "alert_resolved",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"contextId":"<process-run-id",
"processId":"<process-id>",
"userId":"<user-id that resolved alert>",
"alertId":"<alert-id>",
"alertName": "<alert name>",
"reference": "<associated reference if present, or else undefined>"
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| eventType | string | Type of event, e.g., "alert_resolved". | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data.contextId | string | ID of the process run. | |
| data.processId | string | Process ID. | |
| data.userId | string | ID of the user who resolved the alert. | |
| data.alertId | string | Alert ID. | |
| data.alertName | string | Name of the alert. | |
| data.reference | string \ | undefined | Associated reference if present, or else undefined. |
Samples
{
id: '685bee5fc7097fb20c2d0693',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'alert_resolved',
timestamp: 1750855263822,
spektrId: '6867939d9a16445cb538a881',
data: {
processId: '67ea79350b4c07c041a50db7',
contextId: '67eba5f9ce9a594e4519cc88',
alertId: '67eba62500dd50ed396deb0c',
alertName: 'ComplyAdvantage PEP Alert'
},
},
CUSTOMER_TAG<>
{
"id": "<event-id>",
"spektrId": "<id end-user to/from which the tag was added/removed>",
"eventType": "customer_tag_add" | "customer_tag_remove",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"tagId": "<tag-id>",
"tagName": "<tag name if present, or else undefined>",
"action": "add" | "remove",
"userId":"<user-id that added/removed the tag>",
"processId":"<process-id that added/removed>",
"reference": "<associated reference if present, or else undefined>"
}
| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user to which the tag was added. | |
| eventType | string | Type of event, e.g., "customer_tag_add" or "customer_tag_remove" | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data.tagId | string | Tag ID. | |
| data.tagName | string \ | undefined | Tag name if present, or else undefined. |
| data.action | string | Action performed, i.e., 'add' or 'remove'. | |
| data.userId | string \ | null | ID of the user who added the tag, may be null. |
| data.processId | string \ | null | Process ID, may be null. |
| data.reference | string \ | undefined | Associated reference if present, or else undefined. |
Samples
{
id: '6852bca704fe27794144fec3',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'customer_tag_add',
timestamp: 1750252711466,
spektrId: '6867939d9a16445cb538a881',
data: {
tagName: 'dfs',
action: 'add'
},
},
CUSTOMER_STATUS_CHANGE (deprecated)
{
"id": "<event-id>",
"spektrId": "<id end-user to which the tag was added>",
"eventType": "customer_status_change",
"timestamp": 1672531199000,
"data": {
"oldStatus": "<old status>",
"newStatus":"<new status>",
"customerName": "name of the end-user (individual or corporation)",
"userId":"<user-id that changed the status if changed by user>",
"processId": "<process-id that changed the status if changed by a process>",
"processName": "<process name that changed the status if changed by a process>"
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the tag was added. |
| eventType | string | Type of event: customer_tag_add |
| timestamp | number | Epoch timestamp when the event was created. |
| data.oldStatus | string | Old status before the change. Possible values are "pending" | "approved" | "rejected" | "archived" | undefined |
| data.newStatus | string | Possible values are "pending" | "approved" | "rejected" | "archived" | undefined |
| data.customerName | string | Name of the end-user (individual or corporation). |
| data.processId | string | null | Process ID that changed the status, if changed by a process. |
| data.processName | string | null | Process name that changed the status, if changed by a process. |
CUSTOMER_STATUS_CHANGED
{
"id": "<event-id>",
"spektrId": "<id end-user to which the tag was added>",
"eventType": "customer_status_changed",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"oldStatus": "<old status>",
"newStatus":"<new status>",
"method": {
"type": "process" | "user",
"processId": "<process-id>",
"userId": "<user-id>"
},
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the tag was added. |
| eventType | string | Type of event: customer_tag_add |
| timestamp | number | Epoch timestamp when the event was created. |
| data.oldStatus | string | Old status before the change. Possible values are "pending" | "approved" | "rejected" | "archived" | undefined |
| data.newStatus | string | Possible values are "pending" | "approved" | "rejected" | "archived" | undefined |
| data.method | object | Metadata about the update method. |
| data.method.type | string | The source of the update (i.e. "process" or "user") |
| data.method.processId | string | undefined | Process ID that caused the update, if the type is "process" |
| data.method.userId | string | undefined | User ID that caused the update, if the type is "user" |
Samples
{
id: '6879f8090e380801df2a3e92',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'customer_status_changed',
timestamp: 1752823817954,
spektrId: '68777232009ac594ff34644f',
data: {
oldStatus: 'pending',
newStatus: 'approved',
method: { type: 'process' },
spektr_id: '68777232009ac594ff34644f',
},
},
CUSTOMER_DUPLICATE_DETECTION
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "customer_duplicate_detection",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"processId": "12345",
"contextId": "67890",
"reference": "optional-reference",
"spektr_id": "ID of the end-user to which the tag was added.",
"customerDuplicateData": { "newRecordId": "<spektrId>", "oldRecordId": "<spektrId>" }
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user related to this event. | |
| eventType | string | Type of event, e.g., customer_duplicate_detection. | |
| timestamp | number | Epoch timestamp when the event was created. | |
| processId | string | ID of the process. | |
| contextId | string | ID of the run. | |
| workspaceId | string | ID of the workspace. | |
| data.processId | string \ | undefined | ID of the process. |
| data.contextId | string \ | undefined | ID of the execution context. |
| data.reference | string \ | undefined | Associated reference if present, or else undefined. |
| data.spektr_id | string \ | undefined | Related spektrId if present, or else undefined. |
| data.customerDuplicateData | Object | Contains the spektrId of the original record and the duplicate | |
| data.customerDuplicateData.newRecordId | string \ | undefined | The spektrId of the new record. |
| data.customerDuplicateData.oldRecordId | string \ | undefined | The spektrId of the old record. |
Samples
{
id: '68416dd53ed4ba72512d7a70',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'customer_duplicate_detection',
timestamp: 1749118421121,
spektrId: '686cc916dab2db293799a2c3',
data: {
contextId: '68416db4aec0b0c8bd26d5fc',
processId: '67d1301295adc080b6a01719',
customerDuplicateData: { newRecordId: '68416db4aec0b0c8bd26d5fb' },
spektr_id: '686cc916dab2db293799a2c3',
},
},
CUSTOMER_RECORD_UPDATE (deprecated)
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "customer_record_update",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"reference": "optional-reference",
"first_name": "new name"
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "customer_tag_add". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data | object | Data that has been updated. |
CUSTOMER_RECORD_CHANGED
{
"id": "<event-id>",
"spektrId": "<id end-user related to this event>",
"eventType": "customer_record_changed",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"changes": [
{
"fieldId": "<field ID that changed>",
"oldValue": "<old value of the field>",
"newValue": "<new value of the field>"
}
],
"method": {
"type": "api"
},
"reference": "optional-reference",
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "customer_tag_add". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data | object | Data that has been updated. |
| data.changes | array | An array of field changes. |
| data.changes[].fieldId | string | The ID of the field that changed |
| data.changes[].oldValue | any | The old value of the field that changed |
| data.changes[].newValue | any | The new value of the field that changed |
| data.method | object | Metadata related to the method that triggered the update |
| data.method.type | string | The method type that triggered the update, e.g. 'api' |
Samples
{
id: '6878e0ed4a0ed103aad2517d',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'customer_record_changed',
timestamp: 1752752365392,
spektrId: '6878df333cf39b7d3199f16e',
data: {
changes: [
{ fieldId: 'a0', newValue: 'a0' },
{ fieldId: 'a1', oldValue: 'v2', newValue: 'v99' },
{
fieldId: 'company_name',
oldValue: 'company name 2',
newValue: 'company name 3',
},
],
method: { type: 'api' }
},
},
OWNERSHIP_AI_CREATED
{
"id": "<event-id>",
"spektrId": "<id of end-user related to this event>",
"eventType": "ownership_ai_created",
"timestamp": 1672531199000,
"workspaceId": "<id of workspace>",
"data": {
"parentId":"<parent-spektrId>",
"spektr_id": '<id of end-user related to this event>'
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "ownership_ai_created". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data.parentId | string | The id of the parent customer. |
| data.spektr_id | string | The id of the end user related to this event. |
Samples
{
id: '6853e5c8ab3b749662feb3a6',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'ownership_ai_created',
timestamp: 1750328776922,
spektrId: '6853e5c8ab3b749662feb39f',
data: {
parentId: '6853e5c8ab3b749662feb39f',
spektr_id: '6853e5c8ab3b749662feb39f',
},
},
OWNERSHIP_AI_ADDED_OWNER
{
"id": "<event-id>",
"workspaceId": "<id of workspace>",
"spektrId": "<id end-user related to this event>",
"eventType": "ownership_ai_added_owner",
"timestamp": 1672531199000,
"data": {
"childId": "<spektrId of the child>",
"spektr_id": "<id end-user related to this event>",
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "ownership_ai_added_owner". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data.childId | string | The id of the child customer which was AI discovered. |
| data.spektr_id | string | The id of the end user related to this event. |
Samples
{
id: '6810bfcdc656e5f3e1594362',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'ownership_ai_added_owner',
timestamp: 1745928141388,
spektrId: '680f4a0f0d9a0fe44154de02',
data: {
childId: '6810bfccc656e5f3e1594353',
spektr_id: '680f4a0f0d9a0fe44154de02',
},
},
CLIENT_RECORD_SYNC
{
"id": "<event-id>",
"workspaceId": "<id of workspace>",
"spektrId": "<id end-user related to this event>",
"eventType": "client_record_sync",
"timestamp": 1672531199000,
"data": {
"lastSyncedAt": 1672531199000,
"vendor":"<vendor name, e.g. hubspot>",
"objectType":"<object type>"
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "client_record_sync". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data.lastSyncedAt | number | The time when the customer was synced, in millis since epoch |
| data.vendor | string | The vendor that was used to sync the customer data, e.g. hubspot |
| data.objectType | string | The object type of the customer in relation with the vendor, e.g. hubspot contacts |
Samples
{
id: '6811c9c1516c28952cfb5fc3',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'client_record_sync',
timestamp: 1745996225926,
spektrId: '6811c9318c21029ae05832bd',
data: {
lastSyncedAt: 1745996225915,
vendor: 'hubspot',
objectType: 'hubspot contacts',
spektr_id: '6811c9318c21029ae05832bd',
},
},
STEP_INIT
{
"id": "<event-id>",
"workspaceId": "<id of workspace>",
"spektrId": "<id end-user related to this event>",
"eventType": "step_init",
"timestamp": 1672531199000,
"data": {
"processType": "risk",
"processName": "Risk Assessment",
"processId": "12345",
"contextId": "67890",
"stepId": "<ID of the inited step>",
"stepType": "<step type, 'form' or 'ownershipTreeForm'>",
"token": "<the token>",
"reference": "optional-reference"
}
}| Name | Type | Description | |
|---|---|---|---|
| id | string | Event ID. | |
| spektrId | string | ID of the end-user to which the update was performed. | |
| eventType | string | Type of event, e.g., "client_record_sync". | |
| timestamp | number | Epoch timestamp when the event was created. | |
| workspaceId | string | ID of the workspace. | |
| data | object | key-value entries from end-user or external services. 'key' corresponds to field.key when entry was submitted by end-user. | |
| data.processName | string | Name of the process. | |
| data.processType | string | Type of process, e.g. 'onboarding' | |
| data.processId | string | ID of the process | |
| data.stepId | string | ID of the inited step. | |
| data.stepType | string | Type of the inited step, 'form' or 'ownershipTreeForm'. | |
| data.reference | string \ | undefined | Optional value passed to the onboarding process through a query param. |
| data.contextId | string | ID of the execution of the process |
Samples
{
id: '687782e92f8e4aaa7c857e3c',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'step_init',
timestamp: 1752662761594,
spektrId: '687782da2f8e4aaa7c857dda',
data: {
processType: 'onboarding',
processName: 'test stringList startOnboarding',
processId: '686660b573833dea357e86f6',
contextId: '687782da2f8e4aaa7c857ddb',
stepType: 'form',
stepId: '686660b873833dea357e8702',
token:
'eyJpZCI6ImQ4NjFjYmJjMGI1YjVhMGZjZjIwMTkxMGNmOGFhOGMyIiwidG9rZW4iOiJkMTRkN2YwMWI5MGZkNThmMmYxMjNlMmM2NzNkZTE0MmFjNDZlMzBkZjdmMDgzYjk3ZWRlYTM4MmU2YTE3YjRmIn0='
},
},
STEP_SUBMIT
{
"id": "<event-id>",
"workspaceId": "<id of workspace>",
"spektrId": "<id end-user related to this event>",
"eventType": "step_init",
"timestamp": 1672531199000,
"data": {
"processType": "risk",
"processName": "Risk Assessment",
"processId": "12345",
"contextId": "67890",
"stepId": "<ID of the submitted step>",
"stepType": "<step type, 'form' or 'ownershipTreeForm'>",
"token": "<the token>",
"reference": "optional-reference"
}
}| Name | Type | Description |
|---|---|---|
| id | string | Event ID. |
| spektrId | string | ID of the end-user to which the update was performed. |
| eventType | string | Type of event, e.g., "client_record_sync". |
| timestamp | number | Epoch timestamp when the event was created. |
| workspaceId | string | ID of the workspace. |
| data | object | key-value entries from end-user or external services. 'key' corresponds to field.key when entry was submitted by end-user. |
| data.processName | string | Name of the process. |
| data.processType | string | Type of process, e.g. 'onboarding' |
| data.processId | string | ID of the process |
| data.stepId | string | ID of the submitted step. |
| data.stepType | string | Type of the submitted step, 'form' or 'ownershipTreeForm'. |
| data.contextId | string | ID of the execution of the process |
Samples
{
id: '687782e92f8e4aaa7c857e3c',
workspaceId: '559ae2249db800a7b0fa02ad58b196ae',
eventType: 'step_submit',
timestamp: 1752662761594,
spektrId: '687782da2f8e4aaa7c857dda',
data: {
processType: 'onboarding',
processName: 'test stringList startOnboarding',
processId: '686660b573833dea357e86f6',
contextId: '687782da2f8e4aaa7c857ddb',
stepType: 'form',
stepId: '686660b873833dea357e8702',
token:
'eyJpZCI6ImQ4NjFjYmJjMGI1YjVhMGZjZjIwMTkxMGNmOGFhOGMyIiwidG9rZW4iOiJkMTRkN2YwMWI5MGZkNThmMmYxMjNlMmM2NzNkZTE0MmFjNDZlMzBkZjdmMDgzYjk3ZWRlYTM4MmU2YTE3YjRmIn0='
},
},