execution.failed
An execution reached `failed`
Sent once when an execution's status transitions to failed.
first_error_message is the engine's first recorded error; the
full failed_steps array is available from
GET /executions/{workflow_execution_id} with executions:read:full.
Payload
-
idstring (uuid) required -
eventstring required One ofexecution.failed -
created_atstring (date-time) required -
dataobject required-
workflow_execution_idinteger required -
workflow_idinteger required -
batch_execution_idinteger Present only for batch rows. -
external_referencestring -
execution_modestring One oftestlive -
statusstring required One offailed -
review_statusstring required One ofnonein_reviewapproveddenied -
completed_atstring (date-time) -
first_error_messagestring The first error the engine recorded for this run.
-
How to handle it
- Answer
2xxas soon as the delivery is stored and do the real work on a queue. Any other response, a connection error or a timeout (5 s connect, 10 s read) counts as a failure: Cascades retries after 1m, 5m, 30m, 2h, 8h, 24h, then marks the deliverydead. - De-duplicate on the envelope's
id— it is identical across retries and across every subscriber's copy of the same event — or on theX-Cascades-Deliveryheader, which names one delivery row. - Verify
X-Cascades-Signaturebefore you act on the body (next section). - Treat
dataas a pointer, not the record: readdata.workflow_execution_idand call GET /executions/{id} for the current status, the decision and — withexecutions:read:full— thestep_outputs. data.execution_modesays whether the run wastestorlive. Test-mode runs deliver this event too, so guard production side effects on it.
Verify before you trust it
Compute HMAC-SHA256(signing_secret, "<t>.<raw body>") and compare it in constant time with the v1 (or, during rotation, v0) value in X-Cascades-Signature. Samples are in the right-hand rail and in the verify webhooks guide.
Deliveries retry on any non-2xx response, so handle the same X-Cascades-Delivery id more than once safely. See all webhook events.