Skip to main content
WEBHOOK

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

The body of the execution webhook, sent once when an execution finishes.

event
enum<string>
required

Always execution.terminal.

Available options:
execution.terminal
schema_version
integer
required

The payload version. Fields are only ever added within a version.

Example:

1

execution_id
string
required

The execution's id, as used by the execution APIs. Stable across a resend, so it is what to deduplicate on.

workflow_id
string<uuid>
required
workflow_version
integer
required

The published version the execution ran.

campaign_id
string<uuid>
required
reference_id
string
required

Your own identifier for the contact, exactly as you uploaded it.

status
enum<string>
required

How the execution ended. Reaching any end node is completed, including one labelled a failure — read outcome for that.

Available options:
completed,
failed,
cancelled,
aborted
occurred_at
string<date-time>
required

When the execution finished. A resend carries the same value.

trail
object[]
required

Every node attempt in order, with the branch each one took. Always complete, however large.

termination_reason
string | null

The end node's label when the execution reached one. Otherwise why it stopped, always one of internal_error, required_variable_missing, cancelled, campaign_aborted, zombie or terminated.

outcome
enum<string> | null

The end node's classification. null when no end node was reached.

Available options:
success,
failure,
neutral

Response

200

Return any 2xx status once you have accepted the payload. Anything else is logged as a failed delivery.