Call Analytics API documentation

Zapier integration

Connect Call Analytics to thousands of apps with Zapier — no code. Push calls in with Webhooks by Zapier, and receive reports out with a Catch Hook.

1. Get an API key

Create a key with calls:write scope under Company → API keys and copy it. See Authentication.

Send calls in — Webhooks by Zapier (POST)

Build a Zap whose trigger is whatever produces your recording (a dialer, a call app, a Google Drive upload, etc.), then add an action step:

  1. Add an action and choose Webhooks by Zapier → POST.
  2. URL:
    https://api.callanalyticsapi.com/webhooks/inbound/generic
  3. Payload Type: json.
  4. Data: map trigger fields to the keys our inbound endpoint accepts (it accepts several aliases per field):
    id             →  {{trigger external/call id}}
    contact_name   →  {{customer name}}
    phone          →  {{customer phone}}
    recording_url  →  {{recording link}}
    duration       →  {{duration in seconds}}
    agent_name     →  {{rep name}}
    source_system  →  zapier
  5. Headers:
    X-Api-Key      |  cc_3a91f8e2_your_api_key
    Content-Type   |  application/json
  6. Test the step. A successful call returns 201 {"call_id":…,"status":"received"}; a repeat of the same id returns 200 "duplicate", so re-runs are safe.

Field mapping reference

Zapier data keyCall attribute
id / external_call_idExternal id (dedupe key)
contact_nameCustomer name
phoneCustomer phone
emailCustomer email
recording_url / recordingRecording URL (must be fetchable)
durationDuration in seconds
agent_nameRep name
contact_idCRM contact id

Get reports out — Catch Hook

Receive the finished report in Zapier and fan it out to any app (Slack, Sheets, your CRM):

  1. Create a new Zap with the trigger Webhooks by Zapier → Catch Hook.
  2. Copy the custom webhook URL Zapier gives you.
  3. In our app, go to Company → Webhooks, add an endpoint with that URL, and subscribe it to call.report_completed (and any other events you want, e.g. call.low_score_detected).
  4. Trigger a test call so Zapier catches a sample payload, then map fields like report.overall_score, report.summary, report.crm_note, and report.buying_signals into your downstream action.

The Catch Hook receives the same signed payload as any outbound webhook. Zapier doesn't verify the X-Cadence-Signature header for you, so if you need authenticity guarantees, route through a small verification step (see Webhooks) or keep the Catch Hook URL secret.

For the complete inbound/outbound contract, see Generic webhook.