Generic Webhooks
Dispatch works with any service that can send or receive HTTP webhooks — no specific integration required.
Receiving Webhooks (Source)
Any service that supports outgoing webhooks can send events to Dispatch. Create a source endpoint and point the external service at your webhook URL:
POST https://your-api.dispatch.tech/hooks/<slug>
Authentication
Choose one of two methods when configuring the external service:
HMAC signature — most webhook senders support signing their requests. Set the signing secret on both the external service and your Dispatch endpoint. Dispatch accepts signatures in either of these headers:
X-Hub-Signature-256: sha256=<hex-hmac>
X-Dispatch-Signature: sha256=<hex-hmac>
API key — if the external service can set custom headers, use a project API key:
Authorization: Bearer dsp_your-api-key
Event Type Extraction
If the sending service doesn't include an event type header, set the Event Type Path on the endpoint to a dot-notation path into the JSON body (e.g., action, event.type, or data.object). Dispatch will extract the event type from that field automatically.
Example
BODY='{"action":"opened","issue":{"title":"Bug report"}}'
SIG=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "your-signing-secret" | cut -d' ' -f2)
curl -X POST https://your-api.dispatch.tech/hooks/my-slug \
-H "Content-Type: application/json" \
-H "X-Dispatch-Signature: sha256=$SIG" \
-d "$BODY"
Dispatch responds with 202 Accepted and an event_id once the event is queued.
Forwarding Webhooks (Destination)
Create a Webhook destination to forward events to any HTTP endpoint. Dispatch will POST the event payload to the target URL.
Creating a Webhook Destination
- Navigate to Destinations → Create Destination
- Enter a name
- Select Webhook as the type
- Enter the target URL
- Optionally filter by event types
- Click Create
What Gets Sent
The raw event payload is forwarded as a JSON POST request. If a transform is configured on the link, the transformed payload is sent instead. Templates are not applied to webhook destinations — the payload (original or transformed) is always forwarded as-is.
Dispatch also injects headers identifying the event:
X-Dispatch-Event-ID: <event-uuid>
X-Dispatch-Endpoint-ID: <endpoint-uuid>
The prefix (dispatch) can be customized per project via the Header Prefix setting.
Retry Behavior
Failed deliveries are retried automatically using the destination's retry policy (default: 7 attempts with exponential backoff). See Destinations for details.