Webhooks

Receive real-time notifications when calls, voicemails, and form submissions occur.

What Are Webhooks?

Webhooks push event data to your server in real time. Instead of polling the API for new calls, your server receives an HTTP POST the moment something happens.

Setting Up Webhooks

Add a Webhook step to any call flow. When a call reaches that step, CallScaler sends a POST request to your URL with the full call data.

You can also use webhooks in call flow automations to trigger on specific events like call ended, voicemail received, or call missed.

Webhook Payload

Webhook requests are HTTP POST with a JSON body:

{
  "event": "call.ended",
  "call_id": "abc-123-def",
  "tracking_number": "+13055559876",
  "caller_number": "+13055551234",
  "destination_number": "+13055554567",
  "duration_seconds": 145,
  "status": "answered",
  "call_flow_name": "Google Ads",
  "recording_url": "https://...",
  "utm_source": "google",
  "utm_campaign": "plumbing",
  "landing_page_url": "https://yoursite.com/plumbing",
  "timestamp": "2026-01-15T14:30:00Z"
}

Retry Policy

If your endpoint returns a non-2xx status code, CallScaler retries up to 3 times with exponential backoff: 1 minute, 5 minutes, then 15 minutes.

Common Uses

Webhooks connect CallScaler to the rest of your stack:

  • CRMs (Salesforce, HubSpot, Zoho) for automatic call logging
  • Zapier or Make for connecting to 5,000+ apps
  • Slack or Teams for real-time call notifications
  • Google Sheets for spreadsheet logging (or use the built-in addon)
  • Custom dashboards and internal reporting tools