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
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. 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>Create the Momentum connection
In AgentKit > Connections, create a Momentum connection. The name you give it is the
connection_nameyour code passes. See Configure connections.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.actionsconst connector = 'momentum'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'momentum_list_signal_definitions',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "momentum"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Momentum:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="momentum_list_signal_definitions",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach 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 toexecute_toolmomentum_list_meetingsRetrieve a paginated list of meetings from Momentum within a date range, including attendee and transcript details.Read-onlyListMeetings
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-onlyListSignalDefinitions
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-onlyListSignalExecutions
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-onlyListSignalPrompts
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-onlyListSignalV2Executions
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-onlyListUsers
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.WriteIngestMeeting
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.WriteRemapMeeting
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.
No tools match.