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)
1{
2 "eventId": "event_1234",
3 "eventType": "workflow_run.completed",
4 "payload": {
5 "object": "workflow_run",
6 "id": "workflow_run_1234"
7 // etc.
8 }
9}
Example Event (Signed Download URL)
1{
2 "eventId": "event_1234",
3 "eventType": "workflow_run.completed",
4 "payload": {
5 "data": "<signed download URL here>"
6 }
7}

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

Parse run events

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

Edit run events

Event TypeDescription
edit_run.processedTriggered whenever an EditRun has finished processing
edit_run.failedTriggered whenever an EditRun 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