Skip to main content
CometChat sends real-time webhook notifications throughout the lifecycle of your ringing calls and call sessions. Use these to track activity, trigger backend workflows, build analytics dashboards, or keep your systems in sync.
To configure webhooks for your app, see the Webhook Management guide. For general webhook concepts, see the Webhooks Overview.

How It Works

When a calling event occurs (a call is initiated, a participant joins, a recording is generated, etc.), CometChat sends an HTTP POST request to your configured webhook endpoint with a JSON payload describing the event. Each payload includes:
  • trigger — the event name (e.g. call_initiated, meeting_ended)
  • data — event-specific payload with call/session details
  • appId and region — your CometChat app identifiers
  • webhook — the webhook configuration ID

Webhook Event Flows

Ringing Flow

Call Session Flow

Event Categories

CometChat calling webhooks are split into two categories based on how the call was initiated:

Ringing Events

Triggered when using the Ringing flow — where a caller initiates a call and the recipient receives an incoming call notification with accept/reject options.Covers the full call lifecycle: initiation, busy, cancelled, rejected, unanswered, and session start/end.

Call Session Events

Triggered when using Call Sessions — where participants join a session directly without a ringing flow.Covers session start/end, participant join/leave, and recording generation.

Idempotency

Webhooks may be delivered more than once due to network retries. Each event includes an idempotency key composed of multiple fields from the payload. Use this key to deduplicate events on your end. See the individual event pages for the specific idempotency key for each event.

Quick Reference

Ringing Events

Call Session Events