Skip to content
View as Markdown

Events and Payloads ​

The Tailor Platform offers a wide range of events that allow you to trigger specific actions within your applications. These events play a crucial role in building dynamic workflows and enable you to automate processes based on real-time data changes. Refer to the Event based trigger section for details on using and configuring events.

Below is a list of supported events and their payloads.

TailorDB ​

Record Created ​

tailordb.type_record.created

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
typeNameString: Name of the type.
newRecordObject: The new record added to Tailor DB.

Record Updated ​

tailordb.type_record.updated

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
typeNameString: Name of the type.
oldRecordObject: The old record in Tailor DB.
newRecordObject: The updated record in Tailor DB.

Record Deleted ​

tailordb.type_record.deleted

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
typeNameString: Name of the type.
oldRecordObject: The deleted record.

File Uploaded ​

tailordb.type_record_file.uploaded

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
typeNameString: Name of the type.
metadata.content_typeString: MIME type of the uploaded file.
metadata.field_nameString: Name of the file field that received the upload.
metadata.last_uploaded_atDateTime: Timestamp when the file was uploaded.
metadata.parent_idString: ID of the record that owns the file.
metadata.sha256sumString: SHA256 checksum of the uploaded file.
metadata.sizeInteger: Size of the uploaded file in bytes.

Resolver ​

Resolver Executed ​

pipeline.resolver.executed

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
resolverNameString: Name of the resolver.
succeeded.resultObject: The result object contains pipelines and resolver data.
failed.errorString: The error message provides details about the cause of the error.

Auth ​

Access Token Issued ​

auth.access_token.issued

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.

Built-in IdP ​

User Created ​

idp.user.created

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
userIdString: The ID of the created IdP user.

User Updated ​

idp.user.updated

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
userIdString: The ID of the updated IdP user.

User Deleted ​

idp.user.deleted

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
namespaceNameString: Name of the application.
userIdString: The ID of the deleted IdP user.

Workflow ​

Workflow publishes events on every meaningful state transition of a workflow execution, at two granularity levels. Workflow-level events describe the execution as a whole, and job-level events describe a single job execution within it.

Workflows are not scoped to an application namespace, so these events carry no namespaceName field.

Publishing is controlled per resource by publishEvents. When an executor subscribes to a workflow's events, the SDK enables publishing automatically on the resources that produce them. See Execution Events for details.

All workflow-level events share the following fields.

Field NameDescription
workspaceIdString: The workspace ID where the event occurred.
workflowIdString: ID of the workflow resource.
workflowNameString: Name of the workflow.
workflowExecutionIdString: ID of the workflow execution.

Job-level events share the fields above plus the following.

Field NameDescription
workflowJobExecutionIdString: ID of the job execution.
jobFunctionNameString: Name of the job, as passed to createWorkflowJob.

Workflow Execution Started ​

workflow.workflow_execution.started

Published when the execution starts running, including when it starts running again after a retry or a resume.

Workflow Execution Completed ​

workflow.workflow_execution.completed

Published when the execution reaches a terminal state.

Field NameDescription
successBoolean: Whether the execution succeeded.
errorString: The error message. Present when success is false.

Workflow Execution Retried ​

workflow.workflow_execution.retried

Published when the execution is retried automatically by its retry policy.

Field NameDescription
retryCountInteger: Number of retries already attempted for this execution.
retryAfterDateTime: Timestamp the retry is scheduled for.

Workflow Execution Resumed ​

workflow.workflow_execution.resumed

Published when a failed or retry-pending execution is resumed manually.

Workflow Execution Wait Started ​

workflow.workflow_execution.wait_started

Published when a job suspends the execution on a wait point. Refer to Wait / Resolve for details on wait points.

Workflow Execution Wait Resolved ​

workflow.workflow_execution.wait_resolved

Published when a waiting execution is released by resolving its wait point.

Job Execution Started ​

workflow.workflow_execution.job_execution.started

Published when the job is submitted and its execution starts running.

Job Execution Completed ​

workflow.workflow_execution.job_execution.completed

Published when the job execution reaches a terminal state. A job execution released from a wait point publishes Job Execution Wait Resolved instead.

Field NameDescription
successBoolean: Whether the job execution succeeded.
errorString: The error message. Present when success is false.

Job Execution Wait Started ​

workflow.workflow_execution.job_execution.wait_started

Published when the job calls tailor.workflow.wait() and its execution is created in the waiting state.

Field NameDescription
waitKeyString: The wait point key the job execution is suspended on.
waitPayloadString: JSON-serialized payload recorded with the wait point. Absent when the wait point recorded none.

Job Execution Wait Resolved ​

workflow.workflow_execution.job_execution.wait_resolved

Published when a waiting job execution is released by resolving its wait point.

Field NameDescription
waitKeyString: The wait point key that was resolved.