Stream Aircall call events via webhooks, retrieve call recordings, and sync call data to a CRM
domain: developer.aircall.io · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate to the Aircall API with your API ID and API token using HTTP Basic Auth against https://api.aircall.io/v1
Create a webhook integration via POST /v1/webhooks with your public endpoint URL and a list of subscribed events (e.g., call.answered, call.ended, call.recording)
Receive POST payloads from Aircall on call events — each payload includes a call object with id, direction, duration, recording, and tags fields
After receiving a call.ended event, GET /v1/calls/{callId} to retrieve the full call record including recording_url
Download the recording from recording_url (time-limited signed URL) and store it in your own object storage before the URL expires
POST call metadata (duration, agent, caller number, recording URL, tags) to your CRM's contact or activity endpoint to associate the call with a customer record
Known gotchas
Aircall auto-disables webhooks after 10 consecutive delivery failures — ensure your endpoint returns HTTP 200 promptly (within a few seconds); queue heavy CRM writes asynchronously and acknowledge immediately
Recording URLs are signed and time-limited; download and re-host the file within minutes of receiving the call.ended event — the URL will not be valid for long-term storage or sharing
Webhook events may arrive out of order (e.g., call.recording before call.ended) — design your consumer to be idempotent and to buffer partial state rather than assuming strict event ordering
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?