The Event object

FieldDescription
eventIdstring - Unique identifier for the event
eventTypestring - Type of the event that occurred (workflow_run.completed)
payloadobject - Contains the WorkflowRun object. See the WorkflowRun object for the shape.

Here is what you can expect for a given incoming event:

Example Event
{
  "eventId": "event_1234",
  "eventType": "workflow_run.completed",
  "payload": {
    "object": "workflow_run",
    "id": "workflow_run_1234"
    // etc.
  }
}

Workflow specific event types

The following table outlines the various event types you can receive via webhooks for a given workflow after you have created a webhook endpoint and subscribed to the desired event types.

Event TypeDescription
workflow_run.completedTriggered whenever a WorkflowRun is completed
workflow_run.failedTriggered whenever a WorkflowRun fails
workflow_run.needs_reviewTriggered whenever a WorkflowRun needs review*
workflow_run.rejectedTriggered whenever a WorkflowRun is rejected from the Extend dashboard. More info
workflow_run.step_run.processedTriggered whenever a WorkflowStep is finished processing, e.g. extraction steps, etc. This can be useful for consuming incremental extractions for workflows with multiple AI steps to create streaming-like experiences.

* Only triggered when the workflow is configured to have a HumanReview step in the Extend workflow builder.

Global event types

The following table outlines the various event types you can receive via webhooks for your workspace as a whole after you have created a webhook endpoint and subscribed to the desired global event types.

Event TypeDescription
workflow.createdTriggered when a new Workflow is created
workflow.deployedTriggered when a Workflow is deployed
workflow.deletedTriggered when a Workflow is deleted
processor.createdTriggered when a new Processor is created
processor.updatedTriggered when a Processor is updated
processor.deletedTriggered when a Processor is deleted
processor.draft.updatedTriggered when a Processor’s draft version is updated. Typically this is when someone hits Save on the Extend Dashboard or a config is updated via the API.
processor.version.publishedTriggered when a new ProcessorVersion of a Processor is published. Typically this is when someone hits Publish on the Extend Dashboard.