Skip to content

Aircall

What It Does

Aircall sends your reps' completed calls, their recordings and post-call notes to DURUM.ai in real time. Each call is tied to the right rep, and the recording is downloaded, transcribed and analysed by the DURUM.ai call pipeline.

Aircall does not feed leads, bookings or sales: this integration is about calls only. A safety net re-reads the Aircall API every hour to catch any call the webhook may have missed.

Before You Start

  • An Aircall account with access to the Dashboard and the right to generate an API key (Integrations & API section).
  • Your reps created in DURUM.ai with the same email as their Aircall account. That email is what ties each call to the right rep. A rep can also declare their Aircall line number or Aircall user ID in Profile, Call Tracking section.
  • A recording seat assigned to each rep whose recordings you want processed. A rep without a seat still has their calls tied and visible, but their recordings are not processed.

Step-by-Step Connection

  1. In Aircall, open the Dashboard, then Integrations & API, then API Keys.
  2. Click Generate an API key. Copy the API ID and the API Token.
  3. In DURUM.ai, go to Settings then Integrations, and click Connect on the Aircall card (Calls category).
    • If DURUM.ai redirects you to Aircall, authorize the app: that is the one-click connection.
    • Otherwise, a Connect Aircall window opens: paste the API ID and the API Token, then click Connect. Both modes do exactly the same thing.
  4. DURUM.ai validates the access, then:
    • creates in your Aircall account a webhook named DURUM.ai pointing to https://app.durum.ai/api/webhook/aircall-recording, subscribed to the call.ended, call.commented and call.comm_assets_generated events;
    • imports your Aircall agents and lines: every agent whose email matches a DURUM.ai rep is linked, and every line assigned to a single linked agent is tied to that rep by its number. Lines shared between several agents are not tied.
  5. The message "Aircall connected: company name, X/Y agents linked" confirms the connection.

If the webhook could not be created

The connection is still saved. Open the Aircall integration settings: DURUM.ai shows the URL to paste by hand.

  1. In the Aircall Dashboard, open Integrations, then Webhooks, then Create Webhook.
  2. Paste the URL shown by DURUM.ai into the Webhook URL field.
  3. Select the call.ended, call.comm_assets_generated and call.commented events.
  4. Save.

Verify It Works

  1. Place a test call from an Aircall line of a linked rep, with recording turned on.
  2. Hang up and wait about a minute.
  3. In DURUM.ai, open Data Logs: a call.ended event with source aircall should appear with status processed and a matched rep.
  4. In the Calls section, the call record appears, then the recording and transcript a few minutes later.

Captured Events

Aircall sideWhat DURUM.ai createsWhat it feeds
call.endedA call record: direction (inbound or outbound), status, duration, agent, Aircall line used, contact (number, email, name), tags. If the recording link is already present, the recording is created at the same time.Calls section, rep attribution.
call.comm_assets_generatedThe call recording (MP3 link), when Aircall provides it after the call ends.Download, transcription, analysis.
call.commentedThe note added by the agent, attached to the existing call record.Call record.
Any other Aircall eventnoneReceived then ignored.

Two mechanisms complement the webhook:

  • Hourly catch-up: every hour, DURUM.ai re-reads the calls of the last 26 hours through the Aircall API and adds the missing ones (webhook down, lost event, recording arriving late).
  • Recording download: every 3 minutes, DURUM.ai downloads pending recordings. Aircall links expire after one hour; if the link has expired, DURUM.ai requests a fresh one from the API.

Recording seat

A recording is only processed if the matched rep holds a recording seat. Otherwise the call stays visible but the recording is parked with status skipped_unpaid_seat. As soon as the seat is activated, parked recordings resume automatically.

Troubleshooting

ProblemSolution
"Invalid Aircall credentials"Check the API ID and API Token in the Aircall Dashboard, Integrations & API, API Keys. Generate a new key if needed.
"Invalid format" at connectionCopy the API ID and API Token as they are, with no space or colon.
"Too many attempts on the Aircall side"Wait 1 minute and try again.
Status rejected with "Invalid Aircall webhook token" in Data LogsThe Aircall webhook token is not registered on the DURUM.ai side. Contact your account manager.
Call received but no rep matchedThe Aircall agent's email matches no rep. Align the rep's email in DURUM.ai, or declare their Aircall identity (line or user ID) in Profile, Call Tracking.
"X/Y agents linked" with X lower than YUnlinked agents have no rep with the same email in DURUM.ai. Create or fix the reps, then disconnect and reconnect to rerun the import.
Recording parked (skipped_unpaid_seat)The rep has no recording seat. Assign one: the recording is processed on the next pass.
Recording missing from the recordAircall sometimes sends the link after call.ended, in call.comm_assets_generated. Otherwise the hourly catch-up picks it up. Also check that recording is enabled on the Aircall line.
Shared line, calls misattributedA line assigned to several agents is not tied by number. Attribution then relies on the email or user ID of the agent who took the call.

FAQ

Why an API key rather than a one-click connection?

The Connect button tries the one-click connection first. If it is not available, the API key window opens. Both modes create the same webhook and run the same agent import.

Does the API key expire?

No. It is encrypted in DURUM.ai and stays valid until you revoke it in Aircall.

Does Aircall create leads or bookings?

No. Aircall only feeds the Calls section and the attribution of calls to reps.

What happens on disconnect?

DURUM.ai only removes the webhook pointing to app.durum.ai/api/webhook/aircall-recording. Your other Aircall webhooks are never touched.

Missed calls and voicemails?

Every completed call creates a record, with its Aircall status (answered, missed, voicemail). A recording is only created if Aircall provides a link.


Powered by DURUM.ai: ad attribution and operational intelligence