POST for every event you subscribe to: a call starting, a contact changing, a transcript becoming ready.
These pages describe the account-level webhooks you set up under Account → Webhooks in the CloudTalk Dashboard. Several other CloudTalk features can also call an endpoint you own, including the Webhook step in Call Flow Designer, the Send via Webhook option on an AI Voice Agent, and Workflow Automation actions. Those send their own payloads over their own delivery path: they are not signed with the scheme described here, and the retry, replay and retention behaviour on these pages does not apply to them.
Call events
The full call lifecycle: from first ring to finished recording.
Contact events
Keep contact data in sync with your CRM.
User events
Team changes and live user availability.
Message events
Inbound and outbound SMS, MMS, and WhatsApp.
Conversation Intelligence
Transcripts, summaries, sentiment, topics, talk ratio, and call scores.
AI Voice Agents
Structured data captured by AI Voice Agents.
Dialer
Dispositions and survey responses from Dialer campaigns.
Set up your first webhook
Webhooks are available on the Essential plan and higher. They are managed in the CloudTalk Dashboard under Account → Webhooks; you need an Admin role to see it.- Go to Account → Webhooks and click Add endpoint. Enter the HTTPS URL your endpoint listens on and, optionally, a description.
- Choose the event types to subscribe to. Leave the selection empty to receive every event type, including ones added in the future.
- Open the new endpoint and reveal its signing secret. Store it in your handler’s configuration and verify signatures on every delivery.
- Click Send test event, pick an event type, and confirm your endpoint responds with a
2xx. The attempt (and every real delivery after it) appears in the endpoint’s delivery log.
2xx quickly. See delivery and retries for how CloudTalk handles slow or failing endpoints.
If you don’t see Webhooks under Account, either your role isn’t Admin or your plan is below Essential. Your account manager can help with either.
The event envelope
Every webhook arrives with the same top-level structure; onlydata differs per event type. Every envelope field is always present.
Fields with empty values are omitted from
data rather than sent as null. Treat a missing optional field as empty.Event catalogue
Delivery guarantees at a glance
- At-least-once: rare duplicates carry the same
event_id; de-duplicate on it. - No ordering guarantee: sort by
occurred_at. - Signed: every delivery carries signature headers; verify them.
- Retried: a failed delivery is retried up to 50 times over ~11.5 hours. An endpoint that fails continuously for ~5 days is disabled, then automatically re-enabled if it recovers within 12 hours. See delivery and retries.
- Retained 30 days: event payloads stay available to view, resend or recover for 30 days.
Next steps
Verify signatures
Authenticate every delivery before trusting it.
Delivery and retries
Timeouts, the retry schedule, and best practices for reliable handlers.