Aircall
Manage calls, contacts, and phone numbers for sales teams via the Aircall REST API.
Base URL: https://api.aircall.io/v1
What it does
A single InTouch tool that wraps the most common Aircall read/write operations so a job or the AI assistant can pull call activity, look up call detail, browse or create CRM contacts, and list the team's provisioned phone numbers.
The tool uses standard library Python only (no requests) and returns the raw
Aircall JSON response as a string under result, with the HTTP status under
status.
Operations
| operation | HTTP / endpoint | Required params | Optional params |
|---|---|---|---|
list_calls |
GET /v1/calls?per_page=N |
— | perPage |
get_call |
GET /v1/calls/{id} |
callId |
— |
list_contacts |
GET /v1/contacts?per_page=N |
— | perPage |
create_contact |
POST /v1/contacts |
firstName or lastName |
phoneNumber, email, information |
list_numbers |
GET /v1/numbers?per_page=N |
— | perPage |
perPage is clamped to the Aircall maximum of 50.
apiKey setup
Aircall authenticates with HTTP Basic auth, where the username is your
api_id and the password is your api_token.
- Open the Aircall Dashboard.
- Go to Integrations > API Keys and create (or copy) an API Key.
- Combine the two values as
api_id:api_token(a single colon-separated string) and pass that as theapiKeyinput.
The tool Base64-encodes the pair into the Authorization: Basic ... header for
you. No OAuth flow is required for first-party Aircall customer credentials.
Examples
List the 10 most recent calls:
{
"apiKey": "abc123id:def456token",
"operation": "list_calls",
"perPage": "10"
}
Retrieve one call by id:
{
"apiKey": "abc123id:def456token",
"operation": "get_call",
"callId": "1234567"
}
List contacts:
{
"apiKey": "abc123id:def456token",
"operation": "list_contacts",
"perPage": "25"
}
Create a contact:
{
"apiKey": "abc123id:def456token",
"operation": "create_contact",
"firstName": "Jordan",
"lastName": "Lee",
"phoneNumber": "+15558675310",
"email": "[email protected]",
"information": "Inbound demo request"
}
List provisioned phone numbers:
{
"apiKey": "abc123id:def456token",
"operation": "list_numbers"
}
Output
{
"result": "{\"calls\":[...],\"meta\":{...}}",
"status": "200"
}
On error the tool prints {"error": "...", "status": "0", "result": ""} and
exits non-zero, which marks the YAML step FAILED. Aircall 4xx/5xx responses are
returned in result with their real HTTP status so you can see the API error
message.