Skip to main content
Create a destination in Settings → Integrations → Webhooks or through the Webhooks API.

Choose sources and events

All resources receives selected event types across the organization. Selected resources can mix chat agents, voice agents and campaigns. End-user events are organization-wide and require All resources. See the event catalogue for applicable sources.

Receive and verify

Verify the signature against the raw body before parsing. Use your destination’s secret and the shared verification recipe. Return a successful HTTP response promptly. Deduplicate on the envelope’s id because delivery can happen more than once. Order is not guaranteed. Replays keep the same event ID and body, with a fresh signature for each attempt.

Retries

An event is tried up to 8 times in total with backoff after network errors, timeouts, 408, 429 and 5xx responses. Any other 4xx fails at once. A paused or stopped destination does not send normal pending deliveries.

Destination health

Admins receive alert emails when delivery becomes Failing or Stopped. A successful delivery restores Healthy. A successful test or a URL change can recover a stopped destination. Recovery replays eligible failed events from the last 24 hours.

Failed events and replay

Delivery history remains for 30 days. In Failed events, replay eligible failures while the destination is enabled and not stopped. Replay requires an available body. Deleting call or conversation content can make its stored event body unavailable. Resuming a paused destination does not automatically replay its paused failures. Select them for replay.

Test events

A test uses type webhook.test. data.sampleType identifies the chosen event, and data.sample contains its example data. Tests are limited to five per minute per destination. Tests do not change health, except a successful test can recover Stopped.