Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Avoma

Scalekit connector
Open markdown

The Avoma connector lets your AI agent act in each user's Avoma account. Each user connects their own Avoma access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 45 tools.

Tools
45
What they doRead · write · destructive
32 · 10 · 332 read10 write3 destructive
Users sign in with

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 Avoma connection

    In AgentKit > Connections, create an Avoma connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. 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 = 'avoma'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Avoma:', 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: 'avoma_meeting_outcomes_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Avoma credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • avoma_call_getGet a single call record by its external id.Read-only

    Get Call

    Get a single call record by its external id. Returns the call's phone numbers, direction, source, recording URL, timing, voicemail/answered flags, CRM associations, and the linked meeting and organization objects. Use this when you already have a call's external_id; use avoma_calls_list to browse or search calls by date range. Requires an external_id, typically obtained from avoma_calls_list or the dialer/CRM system that created the call.

    Inputs

    external_idstringrequired
    Unique id of the call as assigned by the external dialer or CRM system that created it (e.g. HubSpot, Twilio, Zoom). Example: 1234567890
  • avoma_calls_listList calls in the organization within a date range, optionally filtered by call direction.Read-only

    List Calls

    List calls in the organization within a date range, optionally filtered by call direction. Returns a paginated list of call records with external id, phone numbers, direction, source, recording URL, timing, voicemail/answered flags, and the linked meeting. Use avoma_calls_list to browse or search calls by date range; use avoma_call_get to fetch a single call by its external_id. Requires a from_date and to_date range.

    Inputs

    from_datestringrequired
    Retrieve calls that started at or after this date-time (UTC), in ISO 8601 format. Example: 2024-01-01T00:00:00Z
    to_datestringrequired
    Retrieve calls that started at or before this date-time (UTC), in ISO 8601 format. Example: 2024-01-31T23:59:59Z
    directionstring
    Filter calls by direction: 'inbound' returns only inbound calls, 'outbound' returns only outbound calls. Leave unset to return both.one of inboundoutbound
  • avoma_engagement_metrics_listList engagement analytics for every user in the organization over a date range.Read-only

    List Engagement Metrics

    List engagement analytics for every user in the organization over a date range. Returns paginated per-user metrics such as conversations listened, snippets listened, conversations shared and commented, total comments, and listened duration/percentage. Use this to compare engagement across the whole team; use avoma_user_engagement_list for metrics scoped to one user's participants, or avoma_engagement_summary_get for an aggregated organization-wide total instead of per-user rows.

    Inputs

    from_datestringrequired
    Start of the date range (inclusive), as an ISO 8601 UTC datetime. Only meetings that started at or after this time are included. Example: 2024-01-01T00:00:00Z
    to_datestringrequired
    End of the date range (inclusive), as an ISO 8601 UTC datetime. Only meetings that started at or before this time are included. Example: 2024-01-31T23:59:59Z
    is_callboolean
    Filter by meeting type: true for voice calls only, false for video meetings only. Leave unset to include both.
    is_impromptuboolean
    Filter by whether the meeting was unscheduled/ad-hoc: true for impromptu meetings only, false for scheduled meetings only.
    is_internalboolean
    Filter by attendee composition: true for internal-only meetings (no external attendees), false for meetings with at least one external attendee. Leave unset to include both.
    meeting_outcome_uuidarray
    Restrict results to meetings with one or more specific meeting outcome UUIDs. Each entry is sent as a repeated query parameter. Example: ["9c4b1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10"]
    meeting_type_uuidarray
    Restrict results to meetings with one or more specific meeting type UUIDs. Each entry is sent as a repeated query parameter. Example: ["7f2a1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10"]
    ostring
    Field to order results by. Prefix with '-' for descending order. One of: user_email, -user_email, conversations_listened, -conversations_listened, snippets_listened, -snippets_listened, conversations_shared, -conversations_shared, conversations_commented, -conversations_commented, total_comments, -total_comments, conversations_listened_duration, -conversations_listened_duration, conversations_listened_percent, -conversations_listened_percent. Example: -conversations_listenedone of user_email-user_emailconversations_listened-conversations_listenedsnippets_listened-snippets_listenedconversations_shared-conversations_sharedconversations_commented-conversations_commentedtotal_comments-total_commentsconversations_listened_duration-conversations_listened_durationconversations_listened_percent-conversations_listened_percent
    pageinteger
    Page number to retrieve, starting at 1. Defaults to 1.default 1
    page_sizeinteger
    Number of user rows to return per page. Must be between 1 and 100. Defaults to 10.default 10
    recording_duration__gtenumber
    Only include meetings whose recording duration is greater than or equal to this many seconds.
    recording_duration__ltenumber
    Only include meetings whose recording duration is less than or equal to this many seconds.
    shared_meetings_onlyboolean
    If true, only include meetings that were shared with others.
    user_emailarray
    Restrict results to one or more specific user email addresses. Each entry is sent as a repeated query parameter. Example: ["rep@company.com"]
  • avoma_engagement_summary_getGet an aggregated engagement summary across all users in the organization over a date range.Read-only

    Get Engagement Summary

    Get an aggregated engagement summary across all users in the organization over a date range. Returns organization-wide totals such as total conversations, shares, and comments, rolled up into a single summary object. Use this for an overall organization total; use avoma_engagement_metrics_list for a paginated per-user breakdown, or avoma_user_engagement_summary_get for the equivalent summary scoped to one user.

    Inputs

    from_datestringrequired
    Start of the date range (inclusive), as an ISO 8601 UTC datetime. Only meetings that started at or after this time are included. Example: 2024-01-01T00:00:00Z
    to_datestringrequired
    End of the date range (inclusive), as an ISO 8601 UTC datetime. Only meetings that started at or before this time are included. Example: 2024-01-31T23:59:59Z
    is_callboolean
    Filter by meeting type: true for voice calls only, false for video meetings only. Leave unset to include both.
    is_impromptuboolean
    Filter by whether the meeting was unscheduled/ad-hoc: true for impromptu meetings only, false for scheduled meetings only.
    is_internalboolean
    Filter by attendee composition: true for internal-only meetings (no external attendees), false for meetings with at least one external attendee. Leave unset to include both.
    meeting_outcome_uuidarray
    Restrict the summary to meetings with one or more specific meeting outcome UUIDs. Each entry is sent as a repeated query parameter. Example: ["9c4b1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10"]
    meeting_type_uuidarray
    Restrict the summary to meetings with one or more specific meeting type UUIDs. Each entry is sent as a repeated query parameter. Example: ["7f2a1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10"]
    recording_duration__gtenumber
    Only include meetings whose recording duration is greater than or equal to this many seconds.
    recording_duration__ltenumber
    Only include meetings whose recording duration is less than or equal to this many seconds.
    shared_meetings_onlyboolean
    If true, only include meetings that were shared with others.
    user_emailarray
    Restrict the summary to one or more specific user email addresses. Each entry is sent as a repeated query parameter. Example: ["rep@company.com"]
  • avoma_meeting_getGet a single Avoma meeting by its UUID.Read-only

    Get Meeting

    Get a single Avoma meeting by its UUID. Returns the meeting's subject, schedule, state, organizer and attendees, purpose/outcome, and readiness flags for transcript, audio, video, and notes. Use this when you already have a meeting UUID; use avoma_meetings_list to search or browse meetings by date range or other criteria. Requires a meeting uuid, typically obtained from avoma_meetings_list.

    Inputs

    uuidstringrequired
    Unique ID (UUID) of the Avoma meeting to retrieve. Obtain this from avoma_meetings_list or another Avoma tool that returns meeting records. Example: 3c1a1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10
    include_crm_associationsboolean
    Whether to include the meeting's linked CRM associations (CRM object type and id, e.g. a Salesforce or HubSpot contact, account, or opportunity) in the response. Defaults to false.default false
  • avoma_meeting_insights_getGet AI-generated insights for a completed meeting: notes, keyword tracking, and speakers.Read-only

    Get Meeting Insights

    Get AI-generated insights for a completed meeting: notes, keyword tracking, and speakers. Returns AI notes (timestamped snippets with note type and speaker), keyword occurrence and popularity data grouped by custom category, and the list of meeting speakers with their rep/customer flag. Use this after the meeting has finished processing; the meeting's state must be 'completed' or this call fails. Use avoma_meeting_get to check meeting state first. Requires a meeting_uuid, typically obtained from avoma_meetings_list.

    Inputs

    meeting_uuidstringrequired
    Unique ID (UUID) of the meeting to get insights for. Obtain this from avoma_meetings_list or avoma_meeting_get. Example: 3c1a1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10
  • avoma_meeting_outcome_getGet a single Avoma meeting outcome by its uuid.Read-only

    Get Meeting Outcome

    Get a single Avoma meeting outcome by its uuid. Returns the outcome's uuid, label, and description. Use this when you already have a meeting outcome uuid; use avoma_meeting_outcomes_list to browse or search all outcomes. Requires a meeting outcome uuid, typically obtained from avoma_meeting_outcomes_list.

    Inputs

    uuidstringrequired
    Unique ID (UUID) of the Avoma meeting outcome to retrieve. Obtain this from avoma_meeting_outcomes_list. Example: 9c4b1e2e-4b8a-4b6b-9b1a-2f6a7e1c9d10
  • avoma_meeting_outcomes_listList all meeting outcomes configured for your Avoma organization.Read-only

    List Meeting Outcomes

    List all meeting outcomes configured for your Avoma organization. Returns each outcome's uuid, label, and description. Use this to browse outcomes or find a uuid for avoma_meeting_outcome_get, avoma_meeting_outcome_update, or avoma_meeting_outcome_delete.

    Inputs

    This tool takes no inputs.