Configure the action
Create a workflow on the Voice Call Transferred trigger
In the flow builder, pick the Voice Call Transferred trigger. Optionally restrict it to the transfer destination that points at your Aircall number, so the workflow doesn’t fire for transfers going elsewhere.
Drop the node into your workflow
Add a
Post Call Context to Aircall node from the Integrations category.Paste your credentials
Fill Aircall API ID and Aircall API Token with the values from Connect.
Point it at the caller
Set Caller Phone Number to
{{trigger.ticket.contact.phone_number}}. This is the number OpenCX searches for in Aircall to find the transferred call.Generate a call summary (optional)
To include a full AI summary of the call in the note, add an Ask AI About Ticket step before this action. Point its Ticket Number at
{{trigger.ticket.ticketNumber}}, prompt it to summarize the call for the receiving agent, and give it an expected output with a summary string field. Reference its output in the comment (e.g. {{ask_summary.result.summary}}).ask_summary before this action):
-
Call Comment:
-
Insight Card Title:
OpenCX AI Call Context -
Insight Card Fields:
Reason → {{trigger.transfer_reason}},Session → View session in OpenCXwith Link set to the same session URL as the comment -
Call Tags:
opencx
Aircall call comments are plain text — no markdown or HTML. Include links as full raw URLs (as in the template above). For a guaranteed clickable link during the call, use an insight card field’s Link input, which Aircall renders as a native hyperlink in the agent’s phone app.
{{trigger.ticket.ticketId}} is the OpenCX session UUID, so https://platform.open.cx/inbox/?s={{trigger.ticket.ticketId}}&org={{organization.id}} deep-links straight to the session in the inbox.Inputs reference
Aircall API ID / API Token
Aircall API ID / API Token
Required. The API key pair from your Aircall dashboard. Sent as HTTP Basic auth.
Caller Phone Number
Caller Phone Number
Required. The number used to search Aircall for the transferred call. Usually
{{trigger.ticket.contact.phone_number}}. Both +-prefixed (E.164) and bare-digit spellings are tried automatically, E.164 first.Call Comment
Call Comment
Optional. Posted as a note on the Aircall call record; persists after the call ends.
Insight Card Title / Fields
Insight Card Title / Fields
Optional. Builds the card shown in the agent’s Aircall phone app during the call — it is not stored after the call ends. Each field is a
{ label, text, link } line; the whole card payload must stay under 10KB (the action validates this before posting).Call Tags
Call Tags
Max Wait (seconds)
Max Wait (seconds)
Defaults to
30 (maximum 40). A freshly transferred call can take a few seconds to become searchable in Aircall, so the action polls every few seconds until it finds the call or this budget runs out. Set to 0 to try exactly once.How the call is matched
The action searches Aircall’s call log for the caller’s number, newest call first, bounded to the last 15 minutes:- Every spelling of the number is tried —
+13025494224first (Aircall stores E.164), then13025494224— so it doesn’t matter which format your contact record uses. - If the search comes back empty, the action waits a few seconds and retries until Max Wait elapses, absorbing Aircall’s search-indexing lag.
- Among matches, calls that are still ringing or ongoing win — the transferred call is by definition live when the workflow fires — so an older, already-ended call from the same number can never shadow the fresh transfer. Among those, inbound calls are preferred, then the newest.
Output
| Key | Meaning |
|---|---|
success | true when everything requested was posted. |
callId | The Aircall call ID the context was attached to. |
commentPosted | Whether a comment was posted. |
insightCardPosted | Whether an insight card was displayed. |
tagsApplied | How many tags were set on the call. |
lookupAttempts | How many search rounds it took to find the call. |
Good To Know
Insight cards are ephemeral
Insight cards are ephemeral
Aircall only shows insight cards on ongoing calls and discards them when the call ends. For context that must survive the call, use the comment as well.
Workflow-scoped credentials
Workflow-scoped credentials
The API key is read from the node’s own configuration every time the workflow runs — it is not stored at the organization level. Rotate the key and you will need to update every node that references it.
Errors surface as run failures
Errors surface as run failures
Bad credentials, no matching call within the wait budget, or a rejected post (e.g. the 6th comment on a call) fail the workflow run on this node with a descriptive error — nothing is swallowed silently.
Related Documentation
Connect
Generate the Aircall API ID and token.
Overview
How the transfer + context flow fits together.
AI Phone agent configuration
Add the transfer destination that forwards calls to Aircall.
Troubleshooting
Call not found, credential errors, comment limits.