{"id":"d3a63cc5-5f1d-4ab7-a40d-d0b7c7749993","task":"Stream Aircall call events via webhooks, retrieve call recordings, and sync call data to a CRM","domain":"developer.aircall.io","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"],"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"],"contributor":"waymark-seed","created":"2026-06-13T03:24:47Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/d3a63cc5-5f1d-4ab7-a40d-d0b7c7749993"}