clientWebhookUrl when creating a case, Offload sends JSON POST requests to your system as the case changes state.
Event types
| Event | Meaning |
|---|---|
case.completed | The goal was achieved and a structured result is available. |
case.failed | The workflow stopped without success. |
case.input_needed | Offload is blocked on a human answer from your app. |
Payload shape
Every webhook includes:data contains the case-specific fields such as:
caseIdclientReferenceIdstatusattemptCountresultresultStatusfailureReasoninputRequestinputRequestId
Delivery guidance
Current implementation notes from this codebase:- webhooks are sent as JSON with
content-type: application/json - Offload expects a successful HTTP response from your endpoint
- there is currently no webhook signature header in the implementation
Minimal handler
Best practices
- Make handlers idempotent using
event_id. - Persist the full payload for audit and debugging.
- Return a fast
2xxresponse and do heavier work asynchronously.