Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Aircall

Scalekit connector
Open markdown

The Aircall connector lets your AI agent act in each user's Aircall account. Each user signs in to Aircall once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 78 tools.

Tools
78
What they doRead · write · destructive
43 · 28 · 743 read28 write7 destructive
Users sign in with
OAuth app
Your own Aircall app

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Aircall connection

    In AgentKit > Connections, create an Aircall connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Aircall connections use your own OAuth app. Register one with Aircall and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Aircall connection.

  5. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'aircall'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Aircall:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'aircall_calls_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • aircall_analytics_export_getGet the status of an Analytics report export and, once completed, a time-limited download URL for the CSV.Read-only

    Get Analytics Export

    Get the status of an Analytics report export and, once completed, a time-limited download URL for the CSV. Returns status (PENDING, COMPLETED or FAILED), downloadUrl and downloadUrlExpiresAt when completed, or errorMessage when failed. Use aircall_analytics_export_get to poll about once a minute after aircall_analytics_export_create. Call it again to get a fresh URL after the old one expires.

    Inputs

    export_idstringrequired
    UUID of the export job, from aircall_analytics_export_create's exportID. Example: 9d3f2a1e-2b6c-4f0a-9c3e-1a2b3c4d5e6f
  • aircall_call_action_items_getGet the action items AI extracted from a call.Read-only

    Get Call Action Items

    Get the action items AI extracted from a call. Requires the Aircall AI Assist or AI Assist Pro package. Returns action_items with id, call_id, created_at, created_by, updated_at and content. Use aircall_call_action_items_get for follow-ups to log after a call.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
  • aircall_call_custom_summary_result_getGet the result of the company's custom summary template for a call.Read-only

    Get Call Custom Summary Result

    Get the result of the company's custom summary template for a call. Requires the AI Assist Pro package. Returns the custom summary result for the call. Use aircall_call_custom_summary_result_get when the company uses custom summary templates. Use aircall_call_summary_get for the standard summary.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
  • aircall_call_evaluations_getGet the AI call evaluations (scorecards with question-level scores and feedback) for a call.Read-only

    Get Call Evaluations

    Get the AI call evaluations (scorecards with question-level scores and feedback) for a call. Requires the Aircall AI Assist or AI Assist Pro package. Returns the call's evaluations. Use aircall_call_evaluations_get for quality-review scores. Use aircall_call_playbook_result_get for playbook adherence.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
  • aircall_call_getGet one call by ID with its duration, direction, status, timestamps, recording, voicemail, comments, tags and participants.Read-only

    Get Call

    Get one call by ID with its duration, direction, status, timestamps, recording, voicemail, comments, tags and participants. Returns the call object. Use aircall_call_get when you know the call ID. Use aircall_calls_list or aircall_calls_search to find calls.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
    fetch_aiva_convboolean
    Set to true to include ai_voice_agents (the AI Voice Agent segments that handled the call) on each call. Default: false.
    fetch_call_timelineboolean
    Set to true to include ivr_options_selected (the IVR options the caller pressed) on each call. Default: false.
    fetch_contactboolean
    Set to true to include the matched contact's details in each call. Default: false.
    fetch_short_urlsboolean
    Set to true to include short URLs (for example for recordings and voicemails) in the response. Default: false.
  • aircall_call_playbook_result_getGet the playbook result for a call: how the agent followed the company's call playbook.Read-only

    Get Call Playbook Result

    Get the playbook result for a call: how the agent followed the company's call playbook. Requires the AI Assist Pro package. Returns the playbook result, and the playbook details when fetch_playbook is true. Use aircall_call_playbook_result_get for playbook adherence. Use aircall_call_evaluations_get for scored call evaluations.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
    fetch_playbookboolean
    Set to true to include the playbook's details in the response. Default: false.
  • aircall_call_predicted_csat_getGet the AI-predicted customer satisfaction (CSAT) score for a call.Read-only

    Get Call Predicted CSAT

    Get the AI-predicted customer satisfaction (CSAT) score for a call. Requires the Aircall AI Assist or AI Assist Pro package. Returns the predicted CSAT result for the call. Use aircall_call_predicted_csat_get for a satisfaction estimate. Use aircall_call_sentiments_get for per-participant sentiment.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812
  • aircall_call_sentiments_getGet the AI sentiment analysis of a call's participants.Read-only

    Get Call Sentiments

    Get the AI sentiment analysis of a call's participants. Requires the Aircall AI Assist or AI Assist Pro package. Returns sentiment with id, call_id and participants[] with their sentiment value. Use aircall_call_sentiments_get for sentiment. Use aircall_call_predicted_csat_get for a predicted satisfaction score.

    Inputs

    call_idintegerrequired
    Unique Aircall ID of the call. Example: 812