Webhook 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 event type links 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 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.cancelledTriggered whenever a WorkflowRun is cancelled
workflow_run.step_run.processedTriggered 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.

Workflow global events

Event TypeDescription
workflow.createdTriggered when a new Workflow is created
workflow.deployedTriggered when a Workflow is deployed
workflow.deletedTriggered when a Workflow is deleted

Run event types

The following tables outline the event types you can receive via webhook for runs created using the API.

Extract run events

Event TypeDescription
extract_run.processedTriggered whenever an ExtractRun has finished processing
extract_run.failedTriggered whenever an ExtractRun fails

Classify run events

Event TypeDescription
classify_run.processedTriggered whenever a ClassifyRun has finished processing
classify_run.failedTriggered whenever a ClassifyRun fails

Split run events

Event TypeDescription
split_run.processedTriggered whenever a SplitRun has finished processing
split_run.failedTriggered whenever a SplitRun fails

Batch processor run events

Applies to batch extract, classify, and split operations.

Event TypeDescription
batch_processor_run.processedTriggered whenever a batch processor run has finished processing
batch_processor_run.failedTriggered whenever a batch processor run fails

Batch parse run events

Applies to batch parse operations created via POST /parse_runs/batch.

Event TypeDescription
batch_parse_run.processedTriggered whenever a batch parse run has finished processing
batch_parse_run.failedTriggered whenever a batch parse run fails

Parse run events

Event TypeDescription
parse_run.processedTriggered whenever a ParseRun has finished processing
parse_run.failedTriggered whenever a ParseRun fails

Edit and form detection run events

Event TypeDescription
edit_run.processedTriggered after an EditRun finishes filling the document’s form fields.
edit_run.failedTriggered when an EditRun fails before it finishes filling the document’s form fields.
form_detection_run.processedTriggered after a FormDetectionRun created directly through the Form Detection API finishes detecting and annotating fields and generating the edit schema.
form_detection_run.failedTriggered when a FormDetectionRun created directly through the Form Detection API fails.

Processor event types

The following tables outline event types for processor (extractor, classifier, splitter) lifecycle events.

Extractor events

Event TypeDescription
extractor.createdTriggered when a new Extractor is created
extractor.updatedTriggered when an Extractor is updated
extractor.deletedTriggered when an Extractor is deleted
extractor.draft.updatedTriggered when an Extractor’s draft version is updated
extractor.version.publishedTriggered when a new ExtractorVersion is published

Classifier events

Event TypeDescription
classifier.createdTriggered when a new Classifier is created
classifier.updatedTriggered when a Classifier is updated
classifier.deletedTriggered when a Classifier is deleted
classifier.draft.updatedTriggered when a Classifier’s draft version is updated
classifier.version.publishedTriggered when a new ClassifierVersion is published

Splitter events

Event TypeDescription
splitter.createdTriggered when a new Splitter is created
splitter.updatedTriggered when a Splitter is updated
splitter.deletedTriggered when a Splitter is deleted
splitter.draft.updatedTriggered when a Splitter’s draft version is updated
splitter.version.publishedTriggered when a new SplitterVersion is published