Skip to content

Connect Gong to Claude: Manage Engage Flows & Sales Tasks

A complete engineering guide to connecting Gong to Claude via a managed MCP server. Automate Engage flows, query call transcripts, and scale sales workflows.

Uday Gajavalli Uday Gajavalli · · 10 min read
Connect Gong to Claude: Manage Engage Flows & Sales Tasks

If your team needs to connect Gong to Claude to automate sales coaching, manage Engage flows, or query historical call transcripts, you need a Model Context Protocol (MCP) server. This server acts as the necessary translation layer between Claude's function calls and Gong's REST API. You can spend weeks building, hosting, and maintaining this infrastructure yourself, or you can use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL in seconds. If your sales organization relies on ChatGPT instead, check out our companion guide on connecting Gong to ChatGPT, or explore our broader architectural framework for connecting Gong to AI Agents.

Sales leaders are under immense pressure to extract operational value from their conversational intelligence tools. Giving a Large Language Model (LLM) read and write access to a platform like Gong enables powerful workflows - like bulk-assigning at-risk prospects to specific communication flows or generating automated coaching briefs. However, implementing this connectivity is a massive engineering challenge. You must handle OAuth token lifecycles, manage complex schema validations, and deal with Gong's highly specific API constraints.

This guide breaks down exactly how to bypass the boilerplate by using Truto to generate a secure, managed MCP server for Gong. We will cover the specific technical hurdles of the Gong API, how to connect your server natively to Claude, and how to execute multi-step sales operations using natural language.

The Engineering Reality of the Gong API

A custom MCP server is a self-hosted API layer. While the open MCP standard provides a predictable JSON-RPC interface for LLMs to discover and execute tools, the reality of implementing it against Gong's API is difficult. If you decide to build a custom MCP server for Gong, you own the entire integration lifecycle.

Beyond generic challenges like token refreshes, you will face several Gong-specific API hurdles that require extensive custom logic:

Asynchronous Bulk Processing and Polling Gong leans heavily on asynchronous processing for high-volume operations. For example, inserting or updating CRM entities (Accounts, Contacts, Deals) requires uploading an LDJSON file. The API immediately returns an HTTP 201 with a clientRequestId. The operation is not finished. You must build logic to periodically poll the /v2/crm/request-status endpoint to verify if the processing succeeded or failed. If you expose these raw endpoints directly to Claude without normalization, the model will struggle to understand when a task is actually complete, often hallucinating success before the background job finishes.

Granular Authorization Scopes Gong enforces highly granular, fragment-based authorization scopes that complicate token management. For example, simply reading call data is not a single permission. Accessing basic call metadata requires api:calls:read:basic. Accessing deeper metrics requires api:calls:read:extensive. If you want media URLs, you need api:calls:read:media-url, and transcripts require api:calls:read:transcript. If your MCP server attempts to request a transcript using a token that only has basic read permissions, Gong will reject it. Maintaining these scopes across different user contexts and environments requires meticulous state management.

Credit-Consuming Endpoints Gong offers powerful native AI endpoints, such as the list_all_gong_entities_ask_entities tool, which answers questions based on a specific entity's call history. However, calling this API consumes Gong credits based on the number of emails and calls analyzed. If an unconstrained AI agent gets stuck in a loop or decides to ask hundreds of granular questions, it will rapidly deplete your organization's Gong credit balance. Your MCP server requires strict guardrails, method filtering, and access controls to prevent run-away costs.

Strict Factual Note on Rate Limits: Gong enforces API rate limits. When building against Truto, it is critical to understand that Truto does not retry, throttle, or apply backoff on rate limit errors. When Gong returns an HTTP 429 (Too Many Requests), Truto passes that error straight through to the caller. Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. Your AI agent or client application is entirely responsible for implementing the necessary retry and exponential backoff logic.

Instead of building asynchronous polling loops, scope managers, and schema validators from scratch, you can use Truto. Truto derives tools dynamically from API documentation and resources, exposing Gong's capabilities as ready-to-use MCP endpoints.

How to Generate a Gong MCP Server with Truto

Truto dynamically translates your authenticated Gong integration into a standalone JSON-RPC 2.0 server. Tools are never hardcoded - they are generated at runtime from the integration's documentation and resource schemas. If an endpoint is documented, it becomes an AI tool.

You can spin up a Gong MCP server using either the Truto dashboard or programmatically via the API.

Method 1: Via the Truto UI

For administrators and product managers, the UI provides a zero-code path to provisioning a server:

  1. Log into your Truto account and navigate to the integrated account page for your connected Gong instance.
  2. Click the MCP Servers tab.
  3. Click Create MCP Server.
  4. Configure your server. You can restrict the server to specific methods (e.g., read only) or select specific tags (e.g., sales, calls). You can also configure an expiration date for temporary access.
  5. Click Save, and immediately copy the generated MCP server URL (e.g., https://api.truto.one/mcp/a1b2c3d4...).

Method 2: Via the Truto API

For engineers automating customer onboarding or provisioning agents dynamically, you can create the server via a simple POST request. Truto validates the configuration, hashes a secure token, and returns the endpoint.

curl -X POST https://api.truto.one/integrated-account/{integrated_account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Gong Engage & Calls MCP",
    "config": {
      "methods": ["read", "write", "custom"]
    }
  }'

The response contains the fully authenticated URL required to connect Claude:

{
  "id": "mcp_8f7d6e5c",
  "name": "Gong Engage & Calls MCP",
  "config": { "methods": ["read", "write", "custom"] },
  "expires_at": null,
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f6g7h8i9j0"
}

How to Connect the MCP Server to Claude

Once you have your Truto MCP URL, connecting it to Claude takes less than a minute. You can configure this via the Claude interface or directly in the configuration file.

Method 1: Via the Claude UI

If you are using the Claude web or desktop client, Anthropic has exposed native connector settings:

  1. Open Claude and navigate to Settings.
  2. Select Integrations (or Connectors depending on your tier).
  3. Click Add MCP Server or Add custom connector.
  4. Paste the Truto MCP URL (https://api.truto.one/mcp/...) and click Add.

Claude will immediately ping the initialization endpoint, request the tools/list payload, and register the Gong capabilities.

Method 2: Via the Manual Configuration File

For developers running Claude Desktop or headless agents, you can mount the server by editing the claude_desktop_config.json file. Because Truto's endpoint is remote, you must use the official @modelcontextprotocol/server-sse wrapper via npx to handle the transport layer.

Open your configuration file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS) and add the following:

{
  "mcpServers": {
    "gong-truto-server": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "https://api.truto.one/mcp/a1b2c3d4e5f6g7h8i9j0"
      ]
    }
  }
}

Restart Claude Desktop. The model now has direct read and write access to your Gong instance.

Hero Tools for Gong Integrations

When Claude requests the available tools from Truto, it receives deeply structured JSON Schema definitions describing precisely how to interact with Gong. Here are five of the highest-leverage tools available for sales automation.

1. list_all_gong_calls

This tool retrieves the metadata for calls that occurred within a specified date range. It handles Gong's pagination via standard cursors.

Usage note: This endpoint requires the api:calls:read:basic scope. It is best used for broad audits, checking meeting volume, or identifying specific call IDs to query deeper later.

"Fetch all Gong calls from the past 48 hours for our team, and return a summary of who hosted the most meetings."

2. list_all_gong_entities_ask_entities

This tool allows the LLM to query Gong's native AI to generate answers based on a specific entity's (Account, Deal, Contact) call and email history.

Usage note: Be extremely careful. This API consumes Gong credits based on the volume of data analyzed. Do not allow your agent to execute this tool in an unbounded loop.

"Use the ask entities tool to ask 'What were the main objections raised regarding pricing?' for the Deal associated with CRM ID 98765."

3. create_a_gong_prospects_bulk_assignment

This tool asynchronously submits a bulk assignment of prospects (Contacts or Leads from your CRM) to an active Gong Engage flow. You can assign up to 50 prospects per request.

Usage note: Because this is a bulk write operation, it returns an execution status. Ensure the AI agent provides valid CRM IDs and the correct flowInstanceOwnerEmail.

"Assign the following 15 CRM prospect IDs to the 'Q4 Executive Outreach' flow owned by sarah.smith@example.com."

4. create_a_gong_task

This tool retrieves or manages Engage tasks assigned to a specific user. While named "create" due to standard API mapping conventions regarding POST endpoints, it is primarily used to list open tasks or filter by task type and status.

Usage note: Highly effective for morning briefings, allowing an agent to summarize what a rep needs to accomplish today.

"Retrieve all open Engage tasks for david.jones@example.com that are due today and categorize them by task type (call, email, LinkedIn)."

5. list_all_gong_flows

This tool retrieves all available Gong Engage flows (company, personal, and shared) for a specific user.

Usage note: You need to call this tool first to retrieve the necessary flowId before you can programmatically assign prospects or manage flow operations.

"List all active company-wide Gong flows visible to marketing@example.com and tell me the ID of the 'Cold Outbound Sequence'."

To view the complete inventory of Gong endpoints, parameter schemas, and scope requirements supported by Truto, visit the Gong integration page.

Workflows in Action

Connecting Claude to Gong via MCP enables sophisticated, multi-step sales operations. Instead of manually clicking through the Gong UI, reps and managers can execute workflows conversationally. Here are two real-world examples.

Scenario 1: Post-Call Triage & Task Generation

Sales reps often finish a long string of meetings and neglect to follow up on granular commitments. A manager or rep can use Claude to audit recent calls and build an action plan.

The Prompt:

"Find the call I hosted yesterday afternoon with the Acme Corp team. Extract the core action items we discussed, and then generate a summary of the next steps."

Step-by-Step Execution:

  1. Claude calls list_all_gong_calls, passing yesterday's date range and the user's email to locate the specific Acme Corp call ID.
  2. Claude identifies the call ID and formulates a targeted query.
  3. Claude calls list_all_gong_entities_ask_entities (or the transcript endpoint if available via scope), asking "What explicit next steps and action items were agreed upon during this call?"
  4. Gong processes the query and returns the AI-generated brief.
  5. Claude parses the brief, formats a clean Markdown summary, and outputs it to the user.

Scenario 2: Strategic Bulk Flow Assignment

When a new marketing campaign launches, sales operations teams need to rapidly shift prospects into specific Gong Engage sequences based on CRM data.

The Prompt:

"We need to push our target prospects into the new outreach sequence. First, list the available flows for my account. Once I confirm the ID, assign these 12 CRM contact IDs to that flow."

Step-by-Step Execution:

  1. Claude calls list_all_gong_flows passing the user's email.
  2. Claude presents the list of flows to the user.
  3. The user confirms the target flow (e.g., "Use the Q1 Enterprise Outreach flow").
  4. Claude maps the CRM prospect IDs and constructs the payload.
  5. Claude calls create_a_gong_prospects_bulk_assignment, passing the flowId, the prospect IDs, and the owner email.
  6. Claude reads the API response, confirms the asynchronous job has been submitted, and optionally prompts the user to check the status later.

Security and Access Control

Providing an AI model with write access to your primary sales intelligence platform requires strict governance. Truto's MCP architecture provides several layers of access control directly on the generated token:

  • Method Filtering: You can restrict a server entirely to read-only operations. By setting config: { methods: ["read"] } during creation, you physically prevent the LLM from executing destructive actions like deleting a CRM integration or altering flows.
  • Tag Filtering: If you only want an agent to access coaching data, you can apply tag filters. Only API resources matching those tags will be exposed to the LLM, reducing the risk of hallucination and scoping the model's capabilities.
  • require_api_token_auth: By default, possession of the Truto MCP URL grants access. By enabling this flag, the client connecting to the server must also pass a valid Truto API token in the Authorization header, enforcing a secondary identity check.
  • Time-to-Live (expires_at): For contractors, temporary audits, or short-lived agent sessions, you can set an ISO timestamp on the expires_at field. Once the timestamp passes, the token is automatically wiped from the key-value store, immediately revoking access.

Escaping the Integration Bottleneck

Building a custom integration layer for Gong requires parsing intricate OAuth flows, managing asynchronous bulk operations, and navigating a complex web of authorization scopes. Every time Gong updates a schema or introduces a new Engage feature, your engineering team has to maintain the connection.

By routing Claude through Truto's managed MCP server, you eliminate the integration boilerplate. Your AI agents get dynamic, documentation-driven tools mapped to Gong's actual API, complete with normalized pagination and secure token management. You can stop building generic API wrappers and start architecting the workflows that actually accelerate your sales pipeline.

FAQ

How does Claude access my Gong data?
Claude accesses Gong through a Model Context Protocol (MCP) server. The MCP server translates Claude's natural language tool calls into standard REST API requests to Gong, using your authenticated integrated account credentials.
Does Truto handle Gong API rate limits automatically?
No. Truto does not retry, throttle, or apply backoff on rate limit errors. If Gong returns an HTTP 429 error, Truto passes that error directly back to the caller. Truto normalizes the rate limit headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset), and your client or AI agent is responsible for implementing retry and backoff logic.
Can I restrict which Gong actions Claude can perform?
Yes. When generating the MCP server URL in Truto, you can configure method filters (e.g., read-only operations) and tag filters to restrict the exact tools available. You can also require an additional API token for authentication to strictly control access.
How does the MCP server handle Gong's asynchronous endpoints?
Gong's asynchronous endpoints, such as bulk CRM entity uploads, return a request ID immediately. The AI agent must use a subsequent status-checking tool (like list_all_gong_crm_request_status) to poll for the completed result.

More from our Blog