Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Gong MCP server

Vendor MCP
Open markdown

The Gong MCP connector routes your AI agent's tool calls to Gong's own MCP server through Scalekit. Each user signs in to Gong once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 3 tools.

Tools
3
What they doRead · write · destructive
2 · 1 · 02 read1 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

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 Gong MCP connection

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

    Scalekit credentials are available for Gong, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.

    Use your own OAuth app

    Register your Scalekit environment with Gong so Scalekit handles the OAuth flow and token lifecycle for your users. Create a Gong OAuth integration, then add its Client ID and Client Secret to your Scalekit connection.

    1. Copy the redirect URI from Scalekit

      • In the Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Gong MCP and click Create.

      • Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

    2. Create an OAuth integration in Gong

      • Sign in to Gong and go to Admin Center > API.

      • Click the Integrations tab.

      • Click Create Integration.

        Gong Admin Center API page showing the Integrations tab with a Scalekit Integration client

    3. Configure the integration’s scopes and URLs

      • Under Required authorization scopes, select the scopes your agent needs (for example, calls and transcript read access).

      • Go to the URLs & endpoints tab and fill in:

        • Redirect URI needed for the OAuth authorization code flow — paste the redirect URI you copied from Scalekit
        • Link to your integration’s “privacy policy” page and “terms & conditions” page — a URL your organization controls (Gong requires both fields even for private integrations)
        • Link to your integration’s help article — a URL your organization controls
        • Link to page in your integration where authorization process begins — the same redirect URI from Scalekit works here for a private integration
      • Click Save.

        Gong Integration URLs & endpoints tab showing the redirect URI and required links

    4. Copy your Client ID and Client Secret

      • Back on the Integrations tab, find your integration in the table.
      • Copy the Client ID.
      • Click Show secret to reveal and copy the Client Secret.
    5. Add credentials in Scalekit

      • Return to the connection you created in Scalekit and enter:
        • Client ID — from your Gong integration
        • Client Secret — from your Gong integration
      • Click Save.
  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 = 'gongmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Gong MCP:', 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: 'gongmcp_ask_account',
    toolInput: { crmAccount: 'Cisco Systems Inc', question: 'YOUR_QUESTION' },
    })
    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
  • gongmcp_ask_accountAnswer natural-language questions about a specific CRM account by analyzing Gong activities (calls and messages) within a defined time range.Read-only

    AskAccount

    Answer natural-language questions about a specific CRM account by analyzing Gong activities (calls and messages) within a defined time range. Returns synthesized insights — not raw data.

    Inputs

    crmAccountstringrequired
    The CRM account name (e.g. 'Cisco Systems Inc') or direct CRM ID. Name lookup uses exact matching.
    questionstringrequired
    Natural-language question about the account. Ask for concepts, themes, risks, blockers, stakeholders, goals, or next steps rather than raw data.
    fromDateTimestring
    Optional. Inclusive start of the activity window in ISO 8601 format with timezone. Provide both fromDateTime and toDateTime together, or omit both to default to the last 30 days.
    toDateTimestring
    Optional. Inclusive end of the activity window in ISO 8601 format with timezone. Must be later than fromDateTime.
    workspacestring
    Required when the account has multiple workspaces. Accepts a numeric workspace ID or a workspace name (case-insensitive).
  • gongmcp_ask_dealAnswer natural-language questions about a specific CRM deal or opportunity by analyzing Gong activities (calls and messages) within a defined time range.Read-only

    AskDeal

    Answer natural-language questions about a specific CRM deal or opportunity by analyzing Gong activities (calls and messages) within a defined time range. Returns synthesized insights — not raw data.

    Inputs

    crmDealstringrequired
    The CRM deal/opportunity name (e.g. 'Acme Corp - Enterprise Q4') or direct CRM ID (e.g. '006EXAMPLE00001'). Name lookup uses exact matching.
    questionstringrequired
    Natural-language question about the deal. Ask about themes, risks, objections, competitive mentions, stakeholder concerns, negotiation progress, or next steps.
    fromDateTimestring
    Optional. Inclusive start of the activity window in ISO 8601 format with timezone (e.g. 2025-08-01T00:00:00Z). Provide both fromDateTime and toDateTime together, or omit both to default to the last 30 days.
    toDateTimestring
    Optional. Inclusive end of the activity window in ISO 8601 format with timezone. Must be later than fromDateTime.
    workspacestring
    Required when the account has multiple workspaces. Accepts a numeric workspace ID (e.g. '1234567890') or a workspace name (case-insensitive, e.g. 'Sales').
  • gongmcp_generate_briefCreate a comprehensive structured brief about a CRM entity (account, deal, or contact) by analyzing Gong activities within a specified time period.Write

    GenerateBrief

    Create a comprehensive structured brief about a CRM entity (account, deal, or contact) by analyzing Gong activities within a specified time period. Returns multi-category insights for reviews and handovers.

    Inputs

    briefNamestringrequired
    Must exactly match the name of a published brief configured in the Gong workspace (e.g. 'Business Goals', 'Pain Points', 'Key Players'). If the name does not match, the response lists available briefs.
    crmEntitystringrequired
    The CRM entity name or ID. For ACCOUNT and DEAL, provide the name as it appears in CRM or its CRM ID. For CONTACT, provide the direct CRM contact ID.
    entityTypestringrequired
    The type of CRM entity: ACCOUNT for companies, DEAL for opportunities, CONTACT for contacts/leads.one of ACCOUNTDEALCONTACT
    fromDateTimestring
    Required when periodType is CUSTOM_RANGE. Inclusive start of the activity window in ISO 8601 format with timezone.
    periodTypestring
    Time period to analyze. Defaults to LAST_90DAYS. Use CUSTOM_RANGE with fromDateTime/toDateTime for a custom window.one of CUSTOM_RANGELAST_7DAYSLAST_30DAYSLAST_90DAYSdefault LAST_90DAYS
    toDateTimestring
    Required when periodType is CUSTOM_RANGE. Inclusive end of the activity window in ISO 8601 format with timezone.
    workspacestring
    Required when the account has multiple workspaces. Accepts a numeric workspace ID or a workspace name (case-insensitive).