Skip to main content
Create webhook endpoints from the dashboard or API.
WADial sends events as signed POST requests.

Verify signatures

The signature is an HMAC SHA-256 over:
Use the signing secret shown once when you create the webhook. Always verify against the raw request body bytes, before JSON parsing changes whitespace or key order. Reject requests with an old timestamp, missing v1, or a mismatched digest.
The webhook headers are:

Events

Webhook events are retryable, signed deliveries for persisted token activity. For pairing-code prompts while a token is actively connecting, use the live SSE stream.
  • session.created
  • session.deleted
  • connection.state
  • auth.qr
  • auth.paired
  • message.received
  • message.sent
  • message.receipt
  • message.failed
  • call.incoming
  • call.state
  • call.ended
  • call.error
  • call.recording.ready
  • stanza.error
  • stream.failure
See the event catalog for payload notes and the SSE stream reference for live-only events. Webhooks never include raw call audio. Use the call media WebSocket for live PCM streams. Return a 2xx response after processing the event. Non-2xx responses count as failed deliveries in the dashboard.