Aircall logo

Aircall

Aircall is a cloud-based phone and call-center platform. This toolkit manages users, teams, phone numbers, calls, contacts, and tags on a single Aircall company account via the Public API.

48 actions Integration catalog
Request access
Connect Aircall once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Add Contact MethodAIRCALL_ADD_CONTACT_METHOD
Add a phone number or an email address to an existing Aircall contact. Set method_type='phone' to add a phone number or method_type='email' to add an email address. The value and any supplied label must be nonblank, but this tool does not impose E.164 or strict email formatting. If the label is omitted, Aircall defaults it to 'Main'. Use when a contact already exists and needs another way to be reached; not for creating the contact itself (AIRCALL_CREATE_CONTACT), and not for changing a method that is already on the contact (AIRCALL_UPDATE_CONTACT_METHOD). Returns the created method as 'contact_method' ({id, method_type, label, value}) — keep its id to update or delete it later.
Add User to TeamAIRCALL_ADD_USER_TO_TEAM
Add a User to a Team (membership change). Returns the updated team.
Add Comment to CallAIRCALL_COMMENT_CALL
Add a comment/note to a Call (max 5 comments per call; emojis are stripped). Returns success on HTTP 201.
Create ContactAIRCALL_CREATE_CONTACT
Create a shared Aircall contact. Use when adding someone to the shared address book; not for editing an existing one (AIRCALL_UPDATE_CONTACT), and not for attaching a phone number or email address to a contact that already exists — that is AIRCALL_ADD_CONTACT_METHOD with method_type='phone' or method_type='email'. At least one phone_numbers[] entry is required (1-20); emails[] is optional (max 20). Aircall rejects a name-only contact AND an email-only contact with HTTP 400.
Create TagAIRCALL_CREATE_TAG
Create a Tag. name must be unique per company; color is a hex string (e.g. #00B388). Aircall does not accept a mutable description field.
Create TeamAIRCALL_CREATE_TEAM
Create a new Team. Requires a name.
Create UserAIRCALL_CREATE_USER
Create an Aircall user and send them a real invitation email, consuming a licensed seat. Use when adding a new teammate to the account; not for changing someone who already exists (AIRCALL_UPDATE_USER). Requires email, first_name and last_name. role_ids takes role NAME strings, one of owner, supervisor, admin or agent, not numeric ids.
Create WebhookAIRCALL_CREATE_WEBHOOK
Create an Aircall webhook targeting a public HTTPS URL. Select one or more events, or explicitly set subscribe_to_all_events=true; omission never silently subscribes the destination to every company event. Aircall permits at most 100 webhooks per company.
Delete Call MediaAIRCALL_DELETE_CALL_MEDIA
Request permanent deletion of a Call's audio recording or voicemail, for compliance or data governance. Set media_type='recording' or media_type='voicemail'; a call may have one, both, or neither. The call record is retained, but deleting a recording on an AI Assist/Pro account also permanently removes its transcription and AI insights. Use when an audio artefact and its derived AI data must be purged; not for reading call details (AIRCALL_GET_CALL). Once processed, deletion is irreversible. A successful response means Aircall accepted the request, not that deletion is complete: recordings take 10-15 minutes and voicemails up to 1 minute, and existing download URLs may work during propagation. A recording can arrive up to 24 hours after the call, so retry later when it is not present yet.
Delete ContactAIRCALL_DELETE_CONTACT
Permanently delete a shared Contact and all of its phone numbers and email addresses. Irreversible — there is no undo. Use to remove a contact entirely; not for removing a single phone number or email from a contact (AIRCALL_DELETE_CONTACT_METHOD). Returns 204 (empty body).
Delete Contact MethodAIRCALL_DELETE_CONTACT_METHOD
Permanently remove one phone number or email address from an Aircall contact. Set method_type='phone' or method_type='email' to say which kind method_id refers to. Use when a contact should no longer be reachable that way; not for deleting the whole contact (AIRCALL_DELETE_CONTACT), and not for correcting a method's value or label (AIRCALL_UPDATE_CONTACT_METHOD). IRREVERSIBLE: the method is gone and re-adding it mints a new id. Returns {success: true} on HTTP 204.
Delete TagAIRCALL_DELETE_TAG
Delete a Tag by id. Returns 204 (empty body).
Delete TeamAIRCALL_DELETE_TEAM
Delete a Team by id. Returns 204 (empty body). Does not delete the users in it.
Delete UserAIRCALL_DELETE_USER
Permanently delete a User. The deletion is processed asynchronously and returns HTTP 204 (empty body); it fires a user.deleted webhook. Returns a {success, id} confirmation.
Delete WebhookAIRCALL_DELETE_WEBHOOK
Permanently delete an Aircall webhook. Delivery stops and its configuration is lost; use UPDATE_WEBHOOK with active=false instead when a reversible pause is preferable.
Get CallAIRCALL_GET_CALL
Retrieve a single Call by id, with optional contact / short-url / timeline enrichment via the fetch_* flags.
Get CompanyAIRCALL_GET_COMPANY
Retrieve information about the connected Aircall company (name, users_count, numbers_count). This is the best true auth-verify endpoint: a 200 confirms the Basic Auth credentials are valid.
Get ContactAIRCALL_GET_CONTACT
Retrieve a single shared Contact by id, with its nested phone_numbers[] and emails[]. NOTE: contact created_at/updated_at are UNIX-epoch INTEGERS.
Get NumberAIRCALL_GET_NUMBER
Retrieve a single Aircall phone Number by its numeric id.
Get Number Registration StatusAIRCALL_GET_NUMBER_REGISTRATION_STATUS
Check whether an Aircall phone number is registered for compliance (10DLC or other regulatory registration) by reading the `status` field. Use for regulatory registration state only; not for the number's name, availability or Music & Messages (AIRCALL_GET_NUMBER).
Get TagAIRCALL_GET_TAG
Retrieve a single Tag by id.
Get TeamAIRCALL_GET_TEAM
Retrieve a single Team by id, including its member users.
Get UserAIRCALL_GET_USER
Retrieve one Aircall user by numeric id or by email address. Both work in the id field. Use when you already have the id or email; not for browsing the roster (AIRCALL_LIST_USERS). The user's assigned phone numbers are not included. Get them from AIRCALL_LIST_USER_NUMBERS.
Get User AvailabilityAIRCALL_GET_USER_AVAILABILITY
Check the current availability of one User. Returns availability ∈ available | offline | do_not_disturb | in_call | after_call_work.
Get WebhookAIRCALL_GET_WEBHOOK
Retrieve one Aircall webhook by its UUID or legacy numeric id.
List CallsAIRCALL_LIST_CALLS
List the account's calls in chronological order, covering about 6 months of history and at most 10,000 items via pagination. Window past that with the `from` UNIX timestamp. Use for plain date-ordered browsing of call activity; not when filtering by direction, user, phone number or tag, which is what AIRCALL_SEARCH_CALLS is for. An account with no calls returns an empty list with HTTP 200, never 404.
List ContactsAIRCALL_LIST_CONTACTS
List all shared Contacts (hard-capped at 10,000 items via pagination — window past with the `from` timestamp). Each contact embeds nested phone_numbers[] and emails[] ({id, label, value}). NOTE: contact created_at/updated_at are UNIX-epoch INTEGERS (unlike other resources). Paginated via page/per_page; pass next_cursor back as cursor while has_more is true to retrieve subsequent pages.
List NumbersAIRCALL_LIST_NUMBERS
List all Aircall phone Numbers in the account. Each number includes id, digits, name, country, availability and a `messages` object of audio URLs. Paginated via page/per_page; to page, pass the response's next_cursor back as cursor (has_more signals whether more pages remain).
List TagsAIRCALL_LIST_TAGS
List all Tags in the account. Each tag = {id, name, color (hex), description}. Paginated via page/per_page; to page, pass the response's next_cursor back as cursor (has_more signals whether more pages remain).
List TeamsAIRCALL_LIST_TEAMS
List all Teams in the account. Each team embeds its member users (nested user objects). Paginated via page/per_page; to page, pass the response's next_cursor back as cursor (has_more signals whether more pages remain).
List User Numbers (V2)AIRCALL_LIST_USER_NUMBERS
List all Aircall Numbers assigned to a specific User (V2, paginated). Returns one page plus a next_cursor to fetch the next. The number ids feed AIRCALL_START_OUTBOUND_CALL. Targets the /v2 API.
List UsersAIRCALL_LIST_USERS
List the users in the Aircall account, one page at a time with a next_cursor to continue. Use when you need user ids, names, emails, availability or default_number_id; not for a single known user (AIRCALL_GET_USER), and not for the phone numbers a user can call from (AIRCALL_LIST_USER_NUMBERS).
List Users AvailabilityAIRCALL_LIST_USERS_AVAILABILITY
List the detailed availability of all Users (whether each user is available/offline/on a call, etc.). Paginated via page/per_page; to page, pass the response's next_cursor back as cursor (has_more signals whether more pages remain).
List WebhooksAIRCALL_LIST_WEBHOOKS
List webhook subscriptions accessible to the connected Aircall company. This returns one page only. If next_cursor is non-null, call LIST_WEBHOOKS again with that cursor to retrieve the next page; continue until next_cursor is null. Use this to discover a webhook UUID before retrieving, updating, or deleting it.
Publish Call Insight CardAIRCALL_PUBLISH_CALL_INSIGHT_CARD
Display contextual title, short text, links, or Aircall user details to the agent handling an ongoing call. Cards are ephemeral: only ongoing calls show them and Aircall does not store them after the call. The JSON payload must be strictly less than 10KB.
Remove User from TeamAIRCALL_REMOVE_USER_FROM_TEAM
Remove a User from a Team (membership change). Returns the updated team when Aircall sends HTTP 200, or a success confirmation for an empty HTTP 204. Does not delete the user.
Search CallsAIRCALL_SEARCH_CALLS
Find calls matching any combination of direction (inbound or outbound), user_id, phone_number and tag ids, optionally narrowed to a from/to date window. Use whenever at least one of those filters applies; not for unfiltered chronological browsing (AIRCALL_LIST_CALLS). Tag ids are AND-matched and come from AIRCALL_LIST_TAGS.
Search ContactsAIRCALL_SEARCH_CONTACTS
Search shared Contacts by phone_number and/or email (optionally within a from/to date window). Pass next_cursor back as cursor while has_more is true to retrieve subsequent pages. NOTE: contact created_at/updated_at are UNIX-epoch INTEGERS.
Set Call Recording StateAIRCALL_SET_CALL_RECORDING_STATE
Pause or resume recording on an ongoing Aircall call. This is destructive: audio from a paused interval is never recorded and cannot be recovered by resuming later. The call must still be live and live recording must be enabled on its Aircall number.
Start Outbound CallAIRCALL_START_OUTBOUND_CALL
Place a real, billable outbound phone call from an Aircall user's desktop Workspace to an external number. Use when a specific user should dial someone now. Requires the user's desktop Workspace app to be open, the user to be available, and a number_id the user owns, from AIRCALL_LIST_USER_NUMBERS. Returns acceptance only. No call id comes back and the call may still fail to connect; locate it afterwards with AIRCALL_SEARCH_CALLS. Calling again places a second call.
Tag CallAIRCALL_TAG_CALL
Tag a Call with one or more existing Tag ids (create tags first with AIRCALL_CREATE_TAG). Returns success on HTTP 201.
Transfer CallAIRCALL_TRANSFER_CALL
Cold-transfer a call that is live right now to one user, one team, or one external phone number. The transfer takes effect immediately and cannot be undone. Use only while a call is ringing or connected; not for a call that has already ended, and not for starting a new call (AIRCALL_START_OUTBOUND_CALL). Supply exactly one of user_id, team_id or number. External-number transfers work only for unanswered inbound calls. Returns acceptance on HTTP 204; calling again transfers again.
Update ContactAIRCALL_UPDATE_CONTACT
Update a Contact's core fields (first_name, last_name, company_name, information). Phone numbers and emails are edited via the dedicated contact-method tools (AIRCALL_ADD_CONTACT_METHOD / AIRCALL_UPDATE_CONTACT_METHOD / AIRCALL_DELETE_CONTACT_METHOD), not here.
Update Contact MethodAIRCALL_UPDATE_CONTACT_METHOD
Update one phone number or email address that is already on an Aircall contact. Set method_type='phone' or method_type='email' to say which kind method_id refers to, and always send a nonblank value — Aircall requires it on every update even when only the label changes. Use when changing a method that already exists; not for adding a new one (AIRCALL_ADD_CONTACT_METHOD), and not for removing one (AIRCALL_DELETE_CONTACT_METHOD). Answers HTTP 202 Accepted and returns the updated method as 'contact_method'.
Update NumberAIRCALL_UPDATE_NUMBER
Update at least one mutable Number field: name changes its display name; availability_status changes the first Time Rule widget and can open or close call routing; live_recording_activated enables or disables inbound and outbound recording, and audio missed while disabled cannot be recovered; priority changes routing priority; messages replaces or clears supplied Music & Messages audio slots heard by live callers. These routing, recording, and audio effects are destructive and no previous value is restored automatically. Capture current values with AIRCALL_GET_NUMBER before updating if you need to revert. Do not assume omitted fields or message slots are preserved or cleared because Aircall does not document partial PUT semantics.
Update TagAIRCALL_UPDATE_TAG
Update a Tag (PUT, full replace). name and color are both expected. name must remain unique per company. Aircall does not accept a mutable description field.
Update UserAIRCALL_UPDATE_USER
Update an existing Aircall user's name, availability_status, substatus, roles or wrap-up time in place. Use when changing a user who already exists; not for creating one (AIRCALL_CREATE_USER), and not for reading their current availability (AIRCALL_GET_USER_AVAILABILITY). substatus applies only when availability_status is 'unavailable'.
Update WebhookAIRCALL_UPDATE_WEBHOOK
Update an Aircall webhook's URL, name, active state, or event subscriptions. event_update_mode makes preserve/replace/add/remove/all explicit. The safe default is preserve, because Aircall otherwise resets omitted events to all.