Skip to main content
Configure webhooks when your app needs to react to token, message, receipt, call, or recording events. WADial sends metadata events only, not raw call audio.

Create an endpoint

Create an HTTPS endpoint in your app that accepts POST requests with JSON:
{
  "id": "019f...",
  "type": "message.receipt",
  "createdAt": "2026-06-30T12:00:00.000Z",
  "sessionId": "019f...",
  "data": {}
}
Return a 2xx response after your app stores or processes the event.

Create the webhook

Call the webhook endpoint:
POST /api/v1/webhooks
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "url": "https://example.com/wadial/webhook",
  "events": ["message.receipt", "call.ended", "call.recording.ready"]
}
WADial returns a signing secret once. Store it securely.

Verify signatures

Each delivery includes these headers:
HeaderPurpose
wadial-event-idUnique delivery event id
wadial-event-typeEvent name
wadial-signatureTimestamp and HMAC signature
Verify the signature before processing the event. Reject old timestamps and signatures that do not match your webhook secret.