Skip to main content
Webhooks notify your systems the moment something happens in CloudTalk. Instead of polling the API, you register an HTTPS endpoint and CloudTalk sends it a signed JSON 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.
  1. Go to Account → Webhooks and click Add endpoint. Enter the HTTPS URL your endpoint listens on and, optionally, a description.
  2. Choose the event types to subscribe to. Leave the selection empty to receive every event type, including ones added in the future.
  3. Open the new endpoint and reveal its signing secret. Store it in your handler’s configuration and verify signatures on every delivery.
  4. 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.
From the same page you can later edit the URL or subscriptions, rotate the signing secret, disable or re-enable the endpoint, resend a single delivery, or recover every failed delivery since a chosen time. Your endpoint must be reachable over HTTPS and should respond with a 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; only data 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.