Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Attention

Scalekit connector
Open markdown

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

Tools
29
What they doRead · write · destructive
17 · 10 · 217 read10 write2 destructive
Users sign in with

What you can do

  • Read conversations: list recorded calls and meetings, and fetch participants and full transcripts
  • Ask questions about calls: get AI-generated answers across a deal’s conversations, with supporting transcript excerpts
  • Manage conversations: import recordings, update titles and labels, change privacy, archive, and create video snippets
  • Review with scorecards: list scorecard templates, submit coaching reviews, and pull aggregate scorecard results
  • Track meetings and emails: list a user’s calendar events and search tracked emails by subject, account, or deal
  • Manage users and teams: create, update, and remove users, and organize them into nested teams

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

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

    Each user opens the link once and enters their Attention 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
  • attention_ask_attentionAsk a natural-language question over one or more conversations within a deal and get back an AI-generated answer.Read-only

    Ask Attention

    Ask a natural-language question over one or more conversations within a deal and get back an AI-generated answer. Optionally include timestamped transcript excerpts that support the answer, or synthesize a single cross-conversation summary.

    Inputs

    conversations_idsarrayrequired
    List of conversation IDs to analyze. Pass an empty array to consider all conversations under the given deal.
    deal_idstringrequired
    Identifier of the CRM deal that provides context for this question.
    promptstringrequired
    Natural-language question or instruction to run against the selected conversations.
    include_timestampsboolean
    If true, includes timestamped transcript excerpts that support the answer.
    summarizeboolean
    If true, synthesizes all per-conversation outputs into a single combined response.
  • attention_calendar_events_listList a specific user's calendar events/meetings with date-range filtering and pagination.Read-only

    List Calendar Events

    List a specific user's calendar events/meetings with date-range filtering and pagination.

    Inputs

    pageintegerrequired
    Page number for pagination.
    sizeintegerrequired
    Number of items per page.
    user_uuidstringrequired
    UUID of the user whose calendar events to list.
    date_fromstring
    Filter events starting from this date-time (inclusive, ISO 8601).
    date_tostring
    Filter events until this date-time (inclusive, ISO 8601).
  • attention_connection_report_getGet an org-wide report of which users have connected their calendar and email to Attention, including a summary count and a per-user connection status breakdown.Read-only

    Get Connection Report

    Get an org-wide report of which users have connected their calendar and email to Attention, including a summary count and a per-user connection status breakdown.

    Inputs

    This tool takes no inputs.

  • attention_conversation_by_external_id_getLook up an Attention conversation by its external application ID, the ID from the source system that originally imported it (for example a Zoom meeting or CRM activity ID).Read-only

    Get Conversation by External ID

    Look up an Attention conversation by its external application ID, the ID from the source system that originally imported it (for example a Zoom meeting or CRM activity ID). Returns the Attention conversation UUID when a match exists, and a 404 when no conversation has that external ID. Use this to reconcile a Zoom or CRM ID to an Attention conversation, then pass the returned UUID to attention_conversation_get for the full record. Use attention_conversations_list to browse by filters instead. Requires the external ID that was supplied when the conversation was imported.

    Inputs

    external_idstringrequired
    The external application ID used when the conversation was imported into Attention, such as a Zoom meeting ID or CRM activity ID. Example: 84730218832
  • attention_conversation_getRetrieve a single Attention conversation by ID, including metadata, participants, and (optionally) the detailed transcript.Read-only

    Get Conversation

    Retrieve a single Attention conversation by ID, including metadata, participants, and (optionally) the detailed transcript.

    Inputs

    conversation_idstringrequired
    Unique identifier of the conversation.
    detailed_transcriptboolean
    If true, includes detailed transcript data for the conversation.
    include_internal_participantsboolean
    If true, includes internal participants in the response.
  • attention_conversation_media_download_url_getGenerate a presigned download URL for a conversation's underlying recording/media file.Read-only

    Get Conversation Media Download URL

    Generate a presigned download URL for a conversation's underlying recording/media file.

    Inputs

    conversation_idstringrequired
    Unique identifier of the conversation whose media should be downloaded.
  • attention_conversation_upload_url_getGet a signed URL (plus an identifier key) for uploading a local conversation media file, for use before calling attention_conversation_import.Read-only

    Get Conversation Upload URL

    Get a signed URL (plus an identifier key) for uploading a local conversation media file, for use before calling attention_conversation_import.

    Inputs

    This tool takes no inputs.

  • attention_conversations_listList conversations (calls, meetings) recorded in Attention, with optional date-range and filter parameters.Read-only

    List Conversations

    List conversations (calls, meetings) recorded in Attention, with optional date-range and filter parameters. Returns a paginated list of conversation summaries.

    Inputs

    detailed_transcriptboolean
    If true, includes detailed transcript data for each conversation.
    from_date_timestring
    Start of the date-time range for filtering conversations (ISO 8601).
    hide_internalboolean
    If true, excludes conversations with no external participants.
    owner_emailstring
    Filter conversations by the owning user's email address.
    pageinteger
    Page number for pagination.
    sizeinteger
    Number of results per page.
    team_idstring
    Filter conversations by team UUID.
    titlestring
    Filter conversations by title.
    to_date_timestring
    End of the date-time range for filtering conversations (ISO 8601).

Workflows

Proxy API call
const result = await actions.request({
connectionName: 'attention',
identifier: 'user_123',
path: '/v1/users/me',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'attention',
identifier: 'user_123',
toolName: 'attention_users_list',
toolInput: {},
});
console.log(result);