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.
Integration
- Vendor
- Aircall
- Category
- communication
- Auth
- OAUTH2
- Tools
- 48
- Composio slug
aircall
Tools
- Add Comment to Call
Add a comment/note to a Call (max 5 comments per call; emojis are stripped). Returns success on HTTP 201.
- 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 i
- Add User to Team
Add a User to a Team (membership change). Returns the updated team.
- 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
- 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 Team
Create a new Team. Requires a name.
- 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_n
- 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 webhoo
- Delete Call Mediadestructive
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
- Delete Contactdestructive
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_
- Delete Contact Methoddestructive
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
- Delete Tagdestructive
Delete a Tag by id. Returns 204 (empty body).
- Delete Teamdestructive
Delete a Team by id. Returns 204 (empty body). Does not delete the users in it.
- Delete Userdestructive
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 Webhookdestructive
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 Call
Retrieve a single Call by id, with optional contact / short-url / timeline enrichment via the fetch_* flags.
- 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 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 Number
Retrieve a single Aircall phone Number by its numeric id.
- 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 & Messag
- Get Tag
Retrieve a single Tag by id.
- Get Team
Retrieve a single Team by id, including its member users.
- 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 the
- Get User Availability
Check the current availability of one User. Returns availability ∈ available | offline | do_not_disturb | in_call | after_call_work.
- Get Webhook
Retrieve one Aircall webhook by its UUID or legacy numeric id.
- 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 fil
- 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
- 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_mor
- 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 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)
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 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 nu
- 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 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 thi
- 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
- Remove User from Teamdestructive
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 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 br
- 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 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 Airca
- 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
- 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 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 ende
- 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_CONTA
- 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 eve
- 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,
- 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 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
- 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.
Setup
- Create or open a Switchy Project.
- Open Integrations and connect Aircall.
- Authorise through oauth2. Switchy stores the connection against your org.
- Everyone in the Project can now @-mention the Aircall tools in chat.
What teammates see: by default, memories from Aircall are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.