> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Gong

**Authentication:** OAuth 2.0
**Categories:** Crm, Sales, Ai, Automation
## What you can do

Connect this agent connector to let your agent:

- **List engage tasks, engage workspaces, engage flow folders** — List Gong Engage tasks for a specified user, such as call tasks, email tasks, LinkedIn tasks, and other follow-up actions
- **Get users, calls transcript, library folder content** — Get detailed user information for specific Gong users using an extensive filter
- **Complete engage task** — Mark a specific Gong Engage task as completed
- **Unassign engage prospects** — Unassign CRM prospects (contacts or leads) from a specific Gong Engage flow using their CRM IDs, removing them from the flow sequence
- **Override engage flow content, engage prospects assign cool off** — Override field placeholder values in a Gong Engage flow for specific prospects, allowing personalized content without modifying the base flow template
- **Report engage email activity** — Report email engagement events (opens, clicks, bounces, unsubscribes) to Gong Engage so they appear in the activity timeline for a prospect

## Authentication

This connector uses **OAuth 2.0**. Scalekit acts as the OAuth client: it redirects your user to Gong, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a `connectionName` and a user `identifier`.

You supply your Gong **Connected App** credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the Gong connection in **AgentKit** > **Connections** and copy the exact **Connection name** from that connection into your code. The value in code must match the dashboard exactly.

## Set up the connector

Register your Scalekit environment with the Gong connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. You'll need your app credentials from the Gong Developer Portal.

1. ### Set up auth redirects

    - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**.

    - Find **Gong** from the list of providers and click **Create**.

      > By default, a connection using Scalekit's credentials will be created. If you are testing, go directly to the next section. Before going to production, update your connection by following the steps below.

    - Click **Use your own credentials** and copy the redirect URI. It looks like `https:///sso/v1/oauth//callback`.

      > Image: Copy redirect URI from Scalekit dashboard

    - In the [Gong Developer Portal](https://app.gong.io/settings/api/documentation#overview), open your app.

    - Paste the copied URI into the **Redirect URL** field and click **Save**.

      > Image: Add redirect URL in Gong Developer Portal

2. ### Get client credentials

    - In the [Gong Developer Portal](https://app.gong.io/settings/api/documentation#overview), open your app:
      - **Client ID** — listed under **Client ID**
      - **Client Secret** — listed under **Client Secret**

3. ### Add credentials in Scalekit

    - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** and open the connection you created.

    - Enter your credentials:
      - Client ID (from your Gong app)
      - Client Secret (from your Gong app)
      - Permissions — select the scopes your app needs

      > Image: Add credentials in Scalekit dashboard
    - Click **Save**.

## Code examples

Connect a user's Gong account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.

## Proxy API Calls

  ### Node.js

```typescript

const connectionName = 'gong'; // get your connection name from connection configurations
const identifier = 'user_123';  // your unique user identifier

// Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
const scalekit = new ScalekitClient(
  process.env.SCALEKIT_ENV_URL,
  process.env.SCALEKIT_CLIENT_ID,
  process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;

// Authenticate the user
const { link } = await actions.getAuthorizationLink({
  connectionName,
  identifier,
});
console.log('🔗 Authorize Gong:', link);
process.stdout.write('Press Enter after authorizing...');
await new Promise(r => process.stdin.once('data', r));

// Make a request via Scalekit proxy
const result = await actions.request({
  connectionName,
  identifier,
  path: '/v2/users',
  method: 'GET',
});
console.log(result);
```

  ### Python

```python

from dotenv import load_dotenv
load_dotenv()

connection_name = "gong"  # get your connection name from connection configurations
identifier = "user_123"     # your unique user identifier

# Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
scalekit_client = scalekit.client.ScalekitClient(
    client_id=os.getenv("SCALEKIT_CLIENT_ID"),
    client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
    env_url=os.getenv("SCALEKIT_ENV_URL"),
)
actions = scalekit_client.actions

# Authenticate the user
link_response = actions.get_authorization_link(
    connection_name=connection_name,
    identifier=identifier
)
# present this link to your user for authorization, or click it yourself for testing
print("🔗 Authorize Gong:", link_response.link)
input("Press Enter after authorizing...")

# Make a request via Scalekit proxy
result = actions.request(
    connection_name=connection_name,
    identifier=identifier,
    path="/v2/users",
    method="GET"
)
print(result)
```

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `gong_call_outcomes_list`

List all call outcome options configured in the Gong account. Returns outcome definitions such as name and ID that can be applied to calls to indicate the result of a conversation.

### `gong_calls_create`

Create (register) a new call in Gong. This adds a call record with metadata such as title, scheduled start time, participants, and direction. After creation, Gong returns a media upload URL that can be used to upload the call recording separately.

Parameters:

- `actual_start` (`string`, required): The actual date and time the call started (ISO 8601 format, e.g., 2024-06-15T14:00:00Z).
- `call_provider_code` (`string`, optional): The telephony or conferencing system used (e.g., 'zoom', 'webex', 'ringcentral').
- `client_unique_id` (`string`, optional): A unique identifier for this call in your system, used to prevent duplicate uploads.
- `direction` (`string`, optional): Direction of the call: 'Inbound' or 'Outbound'.
- `disposition` (`string`, optional): Outcome of the call (e.g., 'Connected', 'No Answer', 'Left Voicemail').
- `duration` (`integer`, optional): Duration of the call in seconds.
- `language` (`string`, optional): Primary language spoken on the call as a BCP-47 language tag (e.g., 'en-US', 'es-ES').
- `parties` (`array`, optional): Array of participant objects. Each participant should include emailAddress, name, speakerId, and userId fields.
- `purpose` (`string`, optional): Purpose or topic of the call (e.g., 'Discovery', 'Demo', 'QBR').
- `scheduled_end` (`string`, optional): Scheduled end time for the call (ISO 8601 format).
- `scheduled_start` (`string`, optional): Scheduled start time for the call (ISO 8601 format).
- `title` (`string`, optional): Title or subject of the call.
- `workspace_id` (`string`, optional): Workspace ID to associate this call with a specific Gong workspace.

### `gong_calls_get`

Retrieve extensive details for one or more Gong calls by their IDs. Returns enriched call data including participants, interaction stats, topics discussed, and CRM associations.

Parameters:

- `call_ids` (`array`, required): Array of Gong call IDs to retrieve extensive details for.
- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `from_date_time` (`string`, optional): Start of the date-time range to filter calls (ISO 8601 format).
- `to_date_time` (`string`, optional): End of the date-time range to filter calls (ISO 8601 format).
- `workspace_id` (`string`, optional): Optional workspace ID to restrict the results to a specific Gong workspace.

### `gong_calls_list`

List Gong calls with optional filters for date range, workspace, and specific call IDs. Returns a page of calls with metadata such as title, duration, participants, and direction.

Parameters:

- `call_ids` (`string`, optional): Comma-separated list of specific call IDs to retrieve.
- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `from_date_time` (`string`, optional): Start of the date-time range for filtering calls (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
- `to_date_time` (`string`, optional): End of the date-time range for filtering calls (ISO 8601 format, e.g., 2024-12-31T23:59:59Z).
- `workspace_id` (`string`, optional): Optional workspace ID to restrict results to a specific Gong workspace.

### `gong_calls_transcript_get`

Retrieve transcripts for one or more Gong calls by their IDs. Returns speaker-attributed, sentence-level transcript segments with timing offsets for each call.

Parameters:

- `call_ids` (`array`, required): Array of Gong call IDs whose transcripts to retrieve.
- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `from_date_time` (`string`, optional): Start of the date-time range to filter calls (ISO 8601 format).
- `to_date_time` (`string`, optional): End of the date-time range to filter calls (ISO 8601 format).
- `workspace_id` (`string`, optional): Optional workspace ID to restrict the results to a specific Gong workspace.

### `gong_coaching_get`

Get coaching data from Gong, including coaching sessions and feedback provided by managers to their team members. Supports cursor-based pagination for large result sets.

Parameters:

- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.

### `gong_engage_digital_interactions_create`

Add a digital interaction event (such as a web visit, content engagement, or other digital touchpoint) to a Gong Engage prospect's activity timeline.

Parameters:

- `event_name` (`string`, required): Name of the digital interaction event (e.g., 'Visited Pricing Page', 'Downloaded Whitepaper').
- `event_timestamp` (`string`, required): Timestamp when the digital interaction occurred (ISO 8601 format).
- `crm_account_id` (`string`, optional): The CRM account ID associated with this interaction.
- `crm_contact_id` (`string`, optional): The CRM contact ID associated with this interaction.
- `prospect_email` (`string`, optional): Email address of the prospect who performed this digital interaction.
- `url` (`string`, optional): URL associated with the digital interaction (e.g., the page visited or content accessed).

### `gong_engage_email_activity_report`

Report email engagement events (opens, clicks, bounces, unsubscribes) to Gong Engage so they appear in the activity timeline for a prospect.

Parameters:

- `email_id` (`string`, required): External identifier for the email message that was engaged with.
- `event_timestamp` (`string`, required): Timestamp when the engagement event occurred (ISO 8601 format).
- `event_type` (`string`, required): The type of email engagement event to report.
- `prospect_email` (`string`, required): Email address of the prospect who triggered this engagement event.
- `link_url` (`string`, optional): For EMAIL_LINK_CLICKED events, the URL of the link that was clicked.

### `gong_engage_flow_content_override`

Override field placeholder values in a Gong Engage flow for specific prospects, allowing personalized content without modifying the base flow template.

Parameters:

- `field_values` (`object`, required): Key-value pairs of field placeholder names and their override values to substitute into the flow content.
- `flow_instance_id` (`string`, required): The unique ID of the flow instance to override content for. Retrieve from the Get Flows for Prospects endpoint.

### `gong_engage_flow_folders_list`

List all Gong Engage flow folders available to a user, including company folders, personal folders, and folders shared with the specified user.

Parameters:

- `flow_owner_email` (`string`, required): Email address of the Gong user whose flow folders to retrieve. Returns company folders plus personal and shared folders for this user.
- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `workspace_id` (`string`, optional): Optional workspace ID to filter flow folders by a specific workspace.

### `gong_engage_flows_list`

List all Gong Engage flows available to a user, including company flows, personal flows, and flows shared with the specified user.

Parameters:

- `flow_owner_email` (`string`, required): Email address of the Gong user whose flows to retrieve. Returns company flows plus personal and shared flows for this user.
- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `workspace_id` (`string`, optional): Optional workspace ID to filter flows by a specific workspace.

### `gong_engage_prospects_assign`

Assign up to 200 CRM prospects (contacts or leads) to a specific Gong Engage flow.

Parameters:

- `crm_prospect_ids` (`array`, required): Array of CRM prospect IDs (contacts or leads) to assign to the flow. Maximum 200 per request.
- `flow_id` (`string`, required): The unique ID of the Gong Engage flow to assign the prospects to.
- `flow_instance_owner_email` (`string`, required): Email address of the Gong user who will own the flow to-dos and be responsible for this flow instance.
- `overrides` (`object`, optional): Optional overrides for specific steps and variables in the flow (Beta). Example: {"coolOffOverride": true, "steps": [{"number": 1, "subject": "Hi {{recipient.first_name}}", "body": "<div>Reaching out...</div>"}], "flowInstanceVariables": [{"name": "recipient.first_name", "value": "Mike"}]}

### `gong_engage_prospects_assign_cool_off_override`

Assign CRM prospects to a Gong Engage flow while overriding the cool-off period restriction that would normally prevent re-enrollment.

Parameters:

- `crm_prospect_ids` (`array`, required): Array of CRM prospect IDs (contacts or leads) to assign to the flow, bypassing the cool-off period. Maximum 200 per request.
- `flow_id` (`string`, required): The unique ID of the Gong Engage flow to assign the prospects to.
- `flow_instance_owner_email` (`string`, optional): Email address of the Gong user who will own the flow to-dos and be responsible for this flow instance.

### `gong_engage_prospects_bulk_assign`

Asynchronously bulk assign CRM prospects to a Gong Engage flow; returns an assignment ID that can be used to poll the operation status.

Parameters:

- `crm_prospect_ids` (`array`, required): Array of CRM prospect IDs (contacts or leads) to bulk assign to the flow.
- `flow_id` (`string`, required): The unique ID of the Gong Engage flow to assign the prospects to.
- `flow_instance_owner_email` (`string`, optional): Email address of the Gong user who will own the flow to-dos and be responsible for this flow instance.

### `gong_engage_prospects_bulk_assign_status`

Retrieve the status and result of a previously submitted bulk prospect-to-flow assignment operation using its assignment ID.

Parameters:

- `assignment_id` (`string`, required): The unique ID of the bulk assignment operation to check, returned from the Bulk Assign Prospects to Flow request.

### `gong_engage_prospects_flows_list`

List all Gong Engage flows currently assigned to a given set of CRM prospects (contacts or leads).

Parameters:

- `crm_prospect_ids` (`array`, required): Array of CRM prospect IDs (contacts or leads) to look up flow assignments for. Maximum 200 prospects per request.

### `gong_engage_prospects_unassign`

Unassign CRM prospects (contacts or leads) from a specific Gong Engage flow using their CRM IDs, removing them from the flow sequence.

Parameters:

- `crm_prospect_ids` (`array`, required): Array of CRM prospect IDs (contacts or leads) to remove from the flow.
- `flow_id` (`string`, required): The unique ID of the Gong Engage flow to unassign the prospects from.

### `gong_engage_prospects_unassign_by_instance`

Unassign prospects from a Gong Engage flow using flow instance IDs rather than CRM prospect IDs.

Parameters:

- `flow_instance_ids` (`array`, required): Array of flow instance IDs identifying the specific prospect-flow enrollments to remove.

### `gong_engage_task_complete`

Mark a specific Gong Engage task as completed.

Parameters:

- `task_id` (`string`, required): The unique ID of the Gong Engage task to mark as completed.
- `completion_notes` (`string`, optional): Optional notes about how the task was completed.

### `gong_engage_task_skip`

Skip a specific Gong Engage task, indicating it should not be performed for this prospect.

Parameters:

- `task_id` (`string`, required): The unique ID of the Gong Engage task to skip.
- `skip_reason` (`string`, optional): Optional reason for skipping this task.

### `gong_engage_tasks_list`

List Gong Engage tasks for a specified user, such as call tasks, email tasks, LinkedIn tasks, and other follow-up actions.

Parameters:

- `assignee_email` (`string`, required): Email address of the Gong user whose tasks to retrieve.
- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.
- `from_date` (`string`, optional): Start date for filtering tasks (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
- `to_date` (`string`, optional): End date for filtering tasks (ISO 8601 format, e.g., 2024-12-31T23:59:59Z).
- `workspace_id` (`string`, optional): Optional workspace ID to filter tasks by a specific workspace.

### `gong_engage_users_list`

List all active Gong users in the organization, useful for finding user emails to use as flow owners or assignees in Gong Engage.

Parameters:

- `cursor` (`string`, optional): Cursor value from a previous API response for paginating to the next page of results.
- `include_avatars` (`boolean`, optional): Whether to include avatar URLs in the response.

### `gong_engage_workspaces_list`

List all company workspaces in Gong, which can be used to scope Gong Engage flows and tasks to specific business units or teams.

### `gong_library_folder_content_get`

Get the content of a specific Gong library folder by its folder ID. Returns calls, clips, and other media items stored inside the folder.

Parameters:

- `folder_id` (`string`, required): The unique identifier of the library folder whose content should be retrieved.

### `gong_library_folders_list`

List all library folders in the Gong account. Returns folder names, IDs, and hierarchy information. Optionally filter by workspace to retrieve folders scoped to a specific business unit.

Parameters:

- `workspace_id` (`string`, optional): Optional workspace ID to filter library folders belonging to a specific Gong workspace.

### `gong_scorecards_list`

List all scorecard settings configured in the Gong account. Returns scorecard definitions including name, questions, and associated criteria used for call review and coaching.

### `gong_stats_interaction`

Get aggregated interaction statistics for Gong calls within a date range. Returns metrics such as talk ratio, longest monologue, patience, question rate, and interactivity for each participant. Optionally filter by specific call IDs.

Parameters:

- `from_date_time` (`string`, required): Start of the date range for retrieving interaction statistics (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
- `to_date_time` (`string`, required): End of the date range for retrieving interaction statistics (ISO 8601 format, e.g., 2024-12-31T23:59:59Z).
- `call_ids` (`array`, optional): Optional array of specific Gong call IDs to filter the statistics.
- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.

### `gong_stats_user_actions`

Get user activity and scorecard statistics for Gong calls within a date range. Returns aggregated scorecard metrics and activity data per user. Optionally filter by specific user IDs.

Parameters:

- `from_date_time` (`string`, required): Start of the date range for retrieving scorecard statistics (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
- `to_date_time` (`string`, required): End of the date range for retrieving scorecard statistics (ISO 8601 format, e.g., 2024-12-31T23:59:59Z).
- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.
- `user_ids` (`array`, optional): Optional array of Gong user IDs to filter scorecard statistics for specific users.

### `gong_trackers_list`

List all tracker (keyword tracker) settings configured in the Gong account. Returns tracker definitions including name, tracked phrases, and associated categories used for monitoring conversation topics.

### `gong_users_get`

Get detailed user information for specific Gong users using an extensive filter. Filter by user IDs or by a creation date range. Returns full user profiles including settings, roles, and manager details.

Parameters:

- `created_from_date_time` (`string`, optional): Return users created on or after this date-time (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
- `created_to_date_time` (`string`, optional): Return users created on or before this date-time (ISO 8601 format, e.g., 2024-12-31T23:59:59Z).
- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.
- `user_ids` (`array`, optional): Array of Gong user IDs to retrieve detailed information for.

### `gong_users_list`

List all users in the Gong account. Returns user profiles including name, email, title, and manager information. Supports cursor-based pagination and optionally includes avatar URLs.

Parameters:

- `cursor` (`string`, optional): Cursor value from a previous response for paginating to the next page of results.
- `include_avatars` (`boolean`, optional): Whether to include avatar image URLs in the response.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
