Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Momentum

Scalekit connector
Open markdown

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

Tools
8
What they doRead · write · destructive
6 · 2 · 06 read2 write0 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 Momentum connection

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

    Each user opens the link once and enters their Momentum 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
  • momentum_list_meetingsRetrieve a paginated list of meetings from Momentum within a date range, including attendee and transcript details.Read-only

    ListMeetings

    Retrieve a paginated list of meetings from Momentum within a date range, including attendee and transcript details. The 'from' date is required. Optionally filter by Salesforce account/opportunity, attendee emails, or source type (e.g. ZOOM, GONG, MOMENTUM). Set include_download_url to true to get a temporary pre-signed recording download URL (valid 2 hours) for each meeting that has a recording.

    Inputs

    fromstringrequired
    Filter meetings starting from this date-time (ISO 8601 format), inclusive. Required. Example: 2025-01-01T00:00:00Z.
    attendee_email_addressesstring
    Filter meetings that include all of the provided attendee email addresses. Provide as a comma-separated list of emails, e.g. alice@acme.com,bob@acme.com.
    include_download_urlboolean
    When true, includes a temporary pre-signed download URL (valid for 2 hours) for each meeting that has a recording available. Defaults to false.
    page_numberinteger
    The page number to retrieve (1-based indexing). Defaults to 1 if not specified.
    page_sizeinteger
    The maximum number of meetings to return per page. Must be between 1 and 50. Defaults to 10 if not specified.
    salesforce_account_idstring
    Filter meetings associated with a specific Salesforce account. Must be exactly 18 characters. Cannot be combined with salesforce_opportunity_id.
    salesforce_opportunity_idstring
    Filter meetings associated with a specific Salesforce opportunity. Must be exactly 18 characters. Cannot be combined with salesforce_account_id.
    source_typesstring
    Filter meetings by source type(s). Provide a comma-separated list. Valid values: AIRCALL, ATTENTION, CHORUS, CLOUDTALK, DIALPAD, GONG, MINDTICKLE, MOMENTUM, MS_TEAMS, ORUM, OUTREACH, RINGCENTRAL, SALESLOFT, SALESLOFT_CI, USER_PROVIDED, VONAGE, WEBEX, WINGMAN, WISER, ZOOM, ZOOM_PHONE.
    tostring
    Filter meetings ending before this date-time (ISO 8601 format), inclusive. Example: 2025-01-31T23:59:59Z.
  • momentum_list_signal_definitionsRetrieve all signal v2 definitions configured for your Momentum organization, including each signal's name, context source type (call transcript), enabled status, and creation time.Read-only

    ListSignalDefinitions

    Retrieve all signal v2 definitions configured for your Momentum organization, including each signal's name, context source type (call transcript), enabled status, and creation time. Use the returned signal definition id to fetch its executions via List Signal V2 Executions.

    Inputs

    This tool takes no inputs.

  • momentum_list_signal_executionsRetrieve a paginated list of signal executions (triggered signals) for a specific AI signal prompt (v1) within a given time range.Read-only

    ListSignalExecutions

    Retrieve a paginated list of signal executions (triggered signals) for a specific AI signal prompt (v1) within a given time range. Requires the signal prompt id and an executionFrom date-time. Each execution can be triggered by a meeting or an email and includes the AI-generated reason and associated Salesforce records. Set include_custom_instructions to true to include follow-up custom instruction outputs.

    Inputs

    execution_fromstringrequired
    Filter executions triggered from this date-time (ISO 8601 format), inclusive. Required. Example: 2025-01-01T00:00:00Z.
    prompt_idintegerrequired
    The ID of the signal prompt to retrieve executions for. Obtain this from List Signal Prompts.
    execution_tostring
    Filter executions up to this date-time (ISO 8601 format). Defaults to the current time if not specified.
    include_custom_instructionsboolean
    When true, includes custom instruction outputs (follow-up prompts) in each execution. Defaults to false.
    page_numberinteger
    The page number to retrieve (1-based indexing). Defaults to 1 if not specified.
    page_sizeinteger
    The maximum number of executions to return per page. Must be between 1 and 50. Defaults to 10 if not specified.
  • momentum_list_signal_promptsRetrieve all AI signal prompts (v1) configured for your Momentum organization, including each signal's name, context source type (call transcript or email body), enabled status, and creation time.Read-only

    ListSignalPrompts

    Retrieve all AI signal prompts (v1) configured for your Momentum organization, including each signal's name, context source type (call transcript or email body), enabled status, and creation time. Use the returned signal prompt id to fetch its executions via List Signal Executions.

    Inputs

    This tool takes no inputs.

  • momentum_list_signal_v2_executionsRetrieve a paginated list of signal executions (triggered signals) for a specific signal v2 definition within a given time range.Read-only

    ListSignalV2Executions

    Retrieve a paginated list of signal executions (triggered signals) for a specific signal v2 definition within a given time range. Requires the signal definition id and an executionFrom date-time. Each execution is triggered by a meeting and includes the AI-generated reason, host/attendee emails, and associated Salesforce records. Set include_follow_up_prompts to true to include follow-up prompt outputs.

    Inputs

    definition_idintegerrequired
    The ID of the signal v2 definition to retrieve executions for. Obtain this from List Signal Definitions.
    execution_fromstringrequired
    Filter executions triggered from this date-time (ISO 8601 format), inclusive. Required. Example: 2026-01-01T00:00:00Z.
    execution_tostring
    Filter executions up to this date-time (ISO 8601 format). Defaults to the current time if not specified.
    include_follow_up_promptsboolean
    When true, includes follow-up prompt outputs in each execution. Defaults to false.
    page_numberinteger
    The page number to retrieve (1-based indexing). Defaults to 1 if not specified.
    page_sizeinteger
    The maximum number of executions to return per page. Must be between 1 and 50. Defaults to 10 if not specified.
  • momentum_list_usersRetrieve a paginated list of users in your Momentum organization, including their profile, role, license status, and Salesforce/Google Calendar authentication status.Read-only

    ListUsers

    Retrieve a paginated list of users in your Momentum organization, including their profile, role, license status, and Salesforce/Google Calendar authentication status. Optionally filter by license status or role.

    Inputs

    license_addedboolean
    Filter users by license status. Set to true for licensed users (active AI license), false for unlicensed users.
    page_numberinteger
    The page number to retrieve (1-based indexing). Defaults to 1 if not specified.
    page_sizeinteger
    The maximum number of users to return per page. Must be between 1 and 50. Defaults to 10 if not specified.
    rolestring
    Filter users by role. Valid values: VIEWER, EDITOR, ORGANIZATION_ADMIN, USER_ADMIN, USER.one of VIEWEREDITORORGANIZATION_ADMINUSER_ADMINUSER
  • momentum_ingest_meetingIngest a meeting (and optional transcript) from any source into Momentum.Write

    IngestMeeting

    Ingest a meeting (and optional transcript) from any source into Momentum. Requires the meeting title, start_time, end_time, host_name, host_email, and process_imported_meeting. Optionally include attendees, a transcript (as ordered segments), Salesforce record IDs, and source URLs. The request body must not exceed 5 MB. Note: this endpoint targets Momentum's ingestion receiver host.

    Inputs

    end_timestringrequired
    End time of the meeting in ISO 8601 format. Example: 2025-01-15T10:30:00Z.
    host_emailstringrequired
    Email address of the meeting host.
    host_namestringrequired
    Name of the meeting host.
    process_imported_meetingbooleanrequired
    Whether Momentum should process the imported meeting (e.g. run summaries and AI signals) after ingestion.
    start_timestringrequired
    Start time of the meeting in ISO 8601 format. Example: 2025-01-15T10:00:00Z.
    titlestringrequired
    Title of the meeting.
    attendeesarray
    List of meeting attendees. Each attendee may include email, name, and is_internal (whether the attendee belongs to your organization).
    call_urlstring
    URL to join the meeting.
    external_idstring
    Optional external meeting ID from the source system.
    recording_urlstring
    URL to the meeting recording.
    salesforce_account_idstring
    Salesforce Account ID to associate with the meeting.
    salesforce_opportunity_idstring
    Salesforce Opportunity ID to associate with the meeting.
    transcript_segmentsarray
    Optional ordered transcript for the meeting. Each segment requires text and timestamp_seconds (offset in seconds from the meeting start) and may include speaker_name.
  • momentum_remap_meetingAssociate a meeting with new Salesforce objects (account, opportunity, and/or lead) and optionally trigger call summary generation and AI signals.Write

    RemapMeeting

    Associate a meeting with new Salesforce objects (account, opportunity, and/or lead) and optionally trigger call summary generation and AI signals. You must identify the meeting in exactly one of two ways: (1) by external source — provide source_id and source_type; or (2) by meeting details — provide either momentum_meeting_id alone, OR the combination of meeting_title, meeting_start_time, and meeting_host_email. At least one Salesforce record ID (opportunity, account, or lead) is required.

    Inputs

    meeting_host_emailstring
    Email of the meeting host. Provide together with meeting_title and meeting_start_time.
    meeting_start_timestring
    Start time of the meeting in ISO 8601 format. Provide together with meeting_title and meeting_host_email.
    meeting_titlestring
    Title of the meeting. Provide together with meeting_start_time and meeting_host_email to identify the meeting by details (when not using momentum_meeting_id or source).
    momentum_meeting_idinteger
    Internal Momentum meeting ID. When provided, identifies the meeting directly and no other meeting-detail fields are needed. Do not combine with source_id/source_type.
    salesforce_account_idstring
    Salesforce account ID to associate with the meeting. At least one of salesforce_opportunity_id, salesforce_account_id, or salesforce_lead_id is required.
    salesforce_lead_idstring
    Salesforce lead ID to associate with the meeting. At least one of salesforce_opportunity_id, salesforce_account_id, or salesforce_lead_id is required.
    salesforce_opportunity_idstring
    Salesforce opportunity ID to associate with the meeting. At least one of salesforce_opportunity_id, salesforce_account_id, or salesforce_lead_id is required.
    source_idstring
    Source identifier for the meeting in the external system. Provide together with source_type to identify the meeting by source. Use this OR meeting details, not both.
    source_typestring
    Type of meeting source. Provide together with source_id. Valid values: GOOGLE_CALENDAR, ZOOM, RECALL, GONG, CHORUS, WINGMAN, WISER, SALESLOFT.one of GOOGLE_CALENDARZOOMRECALLGONGCHORUSWINGMANWISERSALESLOFT
    trigger_ai_signalsboolean
    Whether to trigger AI signals after remapping. Defaults to false.
    trigger_summaryboolean
    Whether to trigger call summary generation after remapping. Defaults to false.