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 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp