> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rippit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gong

> Technical reference for the Rippit Gong data integration: access key authorization, API endpoints, what a call becomes in Rippit, recordings, and sync behavior.

A read-only access key integration that syncs Gong calls, transcripts, and recordings into Rippit on a schedule. For what applies to every integration, see [how data integrations work](/plg/data-integrations). For the security model, see [Data integration security](/security/data-integrations).

## Connection summary

| | |
| - | - |
| Authorization | Gong access key and access key secret, sent as HTTP Basic authentication |
| Scope parameter | None |
| Writes to Gong | None. Calls are `GET`, or `POST` to Gong's read endpoints, which take their filters in the request body |
| Credentials shared with Rippit | The access key and secret. Rippit stores both and uses them for every sync |
| Credential check | Both are tested against Gong before the connection is saved. Rejected credentials save nothing |
| Connection identity | Your Gong subdomain. One connection per subdomain |
| Required Rippit role | Workspace admin |
| API base | `https://<subdomain>.api.gong.io` |
| API version | `v2`, in the path |
| Sync method | Scheduled polling |
| Recordings | Downloaded and stored by Rippit: the call video, or the audio when there is no video |
| Maximum historical backfill | 90 days |
| Field selection limit | 150 columns |

## Before you connect

Rippit asks for three values. Create the access key in Gong under **Company settings → Ecosystem → API**. The access key secret is shown once, when the key is created. The subdomain is the part of your Gong URL before `.app.gong.io`: `acme` in `acme.app.gong.io`. It accepts lowercase letters, numbers, underscores, and hyphens.

## Data handling

| Question | Answer |
| - | - |
| Is call content ingested, or only metadata? | Full content: the transcript, call metadata, participants, interaction statistics, and CRM context Gong attaches to the call |
| Are recordings stored? | Yes. The video file, or the audio file when there is no video, is downloaded and stored rather than linked |
| Does Rippit transcribe recordings? | No. Transcripts come from Gong's API |
| Is CRM data ingested? | Yes, the CRM context Gong returns on each call. Rippit never connects to your CRM directly |
| Can Rippit modify Gong? | No. No write code path exists |

### What a call becomes in Rippit

Each Gong call becomes one conversation in Rippit.

| Rippit record | Content |
| - | - |
| Subject | The call title |
| Agent | The call's primary user in Gong |
| Start and end | The call's start time, and the start time plus the call's duration |
| Fields | Call length, company and non-company question counts, topics, interaction statistics (Interactivity, Longest Customer Story, Longest Monologue, Patience, Talk Ratio), and time spent on webcam, presentation, and browser |
| CRM fields | Account name and website, and opportunity name, stage, amount, and close date, for each CRM that has values on your calls |
| Default selected fields | Agent, subject, call length, and the CRM fields that have values on your recent calls |
| Transcript comments | The transcript, one comment per sentence as Gong segments it, with its start and end time and its speaker |
| Recording | The call video, or the audio, attached to the conversation |
| People | Each participant with a Gong user ID or an email address, with name and email. Internal participants are agents, external participants are customers |

CRM fields are named for the CRM Gong reports: `SF_` for Salesforce, `HS_` for HubSpot, and no prefix for any other CRM.

The field picker also lists other CRM fields: any field that has a value on at least one of your 50 most recent calls. Gong publishes no field catalog, so this sample is how Rippit finds them. Each one is synced only if you select it.

## API endpoints

### Authentication

| Purpose | Endpoint | Method |
| - | - | - |
| Subdomain check, which fails if the subdomain is not a Gong API host | `https://<subdomain>.api.gong.io` | GET |
| Credential check | `/v2/users` | GET |
| Credential check, call access | `/v2/calls/extensive` | POST |

### Calls, transcripts, and users

| Object | Endpoint | Method |
| - | - | - |
| Calls, with participants, interaction data, public comments, recording URLs, and CRM context | `/v2/calls/extensive` with `fromDateTime` and `toDateTime` | POST |
| A single call, refetched by ID | `/v2/calls/extensive` with `callIds` | POST |
| Transcripts | `/v2/calls/transcript` with `fromDateTime` and `toDateTime` | POST |
| A single transcript, refetched by call ID | `/v2/calls/transcript` with `callIds` | POST |
| Users created in the sync window | `/v2/users/extensive` with `createdFromDateTime` and `createdToDateTime` | POST |
| All users | `/v2/users/extensive` | POST |
| A single user, by ID | `/v2/users/extensive` with `userIds` | POST |
| Recordings | The `videoUrl` or `audioUrl` on each call, as returned by Gong | GET |

Every call request asks for Gong's `Extended` CRM context with `contextTiming` set to `Now`, and for these call fields: parties, speakers, video statistics, person interaction statistics, questions, public comments, and media.

Gong pages these endpoints with a cursor returned in the response. Rippit sends it back in the next request body with the original filters. A `404`, which Gong returns when no calls match a filter, is treated as an empty page.

Recordings are requested without credentials. The access key is sent only to URLs on an `api.gong.io` host.

**Field discovery.** To build the field picker, Rippit reads calls newest first, starting with today and stepping back in windows that double in size. It stops at 50 calls, at one year back, or after 30 days with no calls. The sample is used only to list fields.

## Sync behavior

| | |
| - | - |
| Call discovery | Windowed on call start time, cursor pagination |
| Window width | 24 hours, one window at a time |
| Trailing buffer | Each window closes 2 hours behind the current time |
| Transcripts | A separate endpoint, read in the same windows after calls |
| Users | Windowed on the date each user was created, plus a full list every 12 hours |
| Re-sweep | Once a day the last 24 hours of calls are listed again, and once a week the last 7 days. Only calls not already in Rippit are added |
| Update handling | A call is fetched once. Later changes in Gong, including CRM changes, are not synced |
| Recording download | Every hour. During the first backfill it also runs after each sync, and the backfill finishes only once every recording is downloaded |
| Expected latency | Up to 4 hours after the call starts |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.