Events

The Event object

FieldDescription
eventIdstring - Unique identifier for the event
eventTypestring - Type of the event that occurred (workflow_run.completed)
payloadobject - Contains the relevant object for the event type (see Payload Type column in tables below)

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

Example Event (JSON Payload)
{
"eventId": "event_1234",
"eventType": "workflow_run.completed",
"payload": {
"object": "workflow_run",
"id": "workflow_run_1234"
// etc.
}
}
Example Event (Signed Download URL)
{
"eventId": "event_1234",
"eventType": "workflow_run.completed",
"payload": {
"data": "<signed download URL here>"
}
}

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 TypePayload TypeDescription
workflow_run.completedWorkflowRunTriggered whenever a WorkflowRun is completed
workflow_run.failedWorkflowRunTriggered whenever a WorkflowRun fails
workflow_run.needs_reviewWorkflowRunTriggered whenever a WorkflowRun needs review*
workflow_run.rejectedWorkflowRunTriggered whenever a WorkflowRun is rejected from the Extend dashboard. More info
workflow_run.step_run.processedWorkflowStepRunTriggered whenever a WorkflowStep is finished processing. The payload is a single stepRun object from the stepRuns array. Useful for consuming incremental extractions to create streaming-like experiences.

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

Processor run specific event types

The following table outlines the event types you can receive via webhook for a given processor run that you have created using the API after you have created a webhook endpoint and subscribed to the desired event types.

Event TypePayload TypeDescription
processor_run.processedProcessorRunTriggered whenever a ProcessorRun has finished processing
processor_run.failedProcessorRunTriggered whenever a ProcessorRun fails

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 TypePayload TypeDescription
workflow.createdWorkflowTriggered when a new Workflow is created
workflow.deployedWorkflowTriggered when a Workflow is deployed
workflow.deletedWorkflowTriggered when a Workflow is deleted
processor.createdProcessorTriggered when a new Processor is created
processor.updatedProcessorTriggered when a Processor is updated
processor.deletedProcessorTriggered when a Processor is deleted
processor.draft.updatedProcessorTriggered 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.publishedProcessorVersionTriggered when a new ProcessorVersion of a Processor is published. Typically this is when someone hits Publish on the Extend Dashboard.
parser_run.processedParserRunTriggered when a ParserRun finishes processing.
parser_run.failedParserRunTriggered when a ParserRun fails.
edit_run.processedEditRun (fills document form fields)Triggered after an API-created EditRun finishes filling the document’s form fields.
edit_run.failedEditRun (fills document form fields)Triggered when an API-created EditRun fails before it finishes filling the document’s form fields.
form_detection_run.processedFormDetectionRun (detects and annotates form fields)Triggered after a FormDetectionRun created directly through the Form Detection API finishes detecting fields and generating the edit schema.
form_detection_run.failedFormDetectionRun (detects and annotates form fields)Triggered when a FormDetectionRun created directly through the Form Detection API fails.