How webhooks work
- A call completes (or a run finishes)
- Dograh executes any
webhooknodes in the workflow asynchronously - The payload template is rendered with the run’s context and sent as a JSON
POST(or your configured method) to your endpoint - Non-200 responses are logged but do not block or retry by default (configure
retry_configto change this)
Payload context variables
The following variables are available in yourpayload_template using double-brace syntax (e.g. {{workflow_run_id}}):
Call disposition
Use{{gathered_context.call_disposition}} for the raw workflow outcome or
{{gathered_context.mapped_call_disposition}} for your organization’s mapped
code. {{gathered_context.call_status}} remains the observed reason the call
ended. See Call Dispositions to configure custom business
outcomes for each workflow and understand the fallback behavior.
Dograh always includes a top-level
call_disposition field in the delivered
payload. If your template doesn’t set one, it is added automatically from the
raw gathered_context.call_disposition; if your template sets it explicitly,
your value is kept.Example payload template
Authentication
Webhook requests support the following authentication methods, configured via a stored credential:Receiving webhooks
Your endpoint should:- Accept
POSTrequests withContent-Type: application/json - Respond with a
2xxstatus code promptly (within 30 seconds) - Handle duplicate deliveries idempotently (retries may deliver the same payload more than once)