Gong CRM API

If you are using the deprecated endpoints, download the PDF file.What does the CRM API do?This API enables integration with CRMs that are not natively integrated with Gong, so that Gong can provide you with its full capabilities based on your CRM data. This includes: Pipeline review and forecast Narrow down conversations (calls and emails) by customer data for coaching and analytics Track initiatives and adoption based on accounts and opportunitiesBy uploading your CRM data to Gong, your Gong users will be able to see their CRM deals in the Gong Deals page, view deal boards to follow up on deal progress, get warnings for deals that are at risk, and see whether their team will reach its quota. The CRM data is also displayed in conversations and calls, so that your Gong users can see account and contact data such as the name and job title of the contact in the call. Account data is displayed in the Accounts page, together with the history of all communication and contact with the company.Note: Gong provides native integrations with Salesforce, HubSpot and Microsoft Dynamics 365.API ProtocolThe API protocol is based on REST guidelines. Check here what's your base URL for all API calls. The payload is either a JSON object or, for API calls that upload lists of objects, line delimited JSON (see: JSON streaming). JSON objects should be UTF-8 encoded.Dates and timestamps in JSON objects should be in ISO-8601 format without milliseconds (e.g. '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC).What data can I upload?To see your CRM data in Gong, upload the following entities: Business User: The CRM user, such as a seller or manager. Account: The customer details in the CRM Contact: A specific contact in the CRM that is associated with a customer Deal: A deal or opportunity, or a contract of a specific account in the CRM Lead: A potential customers who are not associated with an account Stage: The list of stages the deal can be in, in your CRMUploading CRM data to GongThis diagram shows how to set up your system in order to upload CRM data to Gong. This is relevant for each scenario of uploading data, initial, incremental and uploading historical data.Registering your IntegrationRegister your integration to get an integrationId used to identify your company's integration with Gong. This is a one time action that does not need to be repeated unless you delete your integration.Use PUT v2/crm/integrations to register your integration. The integration Id is returned in the response. Include the integration Id each time you upload your CRM data.Uploading additional data for CRM entitiesEach CRM entity has a set of standard fields. In addition, you may want to upload additional fields.Use the POST /v2/crm/entity-schema to adjust the schema according to your needs. Once you have uploaded your schema to Gong, you can upload your entities with the additional fields.Uploading your CRM data to GongThis section explains how you can use the CRM API to upload your data to Gong:First-time uploadCreate a database dump of the data you want to upload to Gong based on your CRM schema and data. When uploading your data for the first time you should include all of the CRM records that should appear in Gong.Incremental upload Send regular incremental data updates to Gong. You can update your data as often as you like, we recommend updating between every 1-5 minutes.You should only send new records or records that have changed since the previous upload of data. New records are added to Gong and existing records are updated or deleted, whichever is relevant. Entities are identified by the objectId. Ensure that this ID remains the same each time it is updated.When updating data, the modificationDate parameter is mandatory. This enables us to maintain accurate historical data. If your CRM does not store the modification date, send the date the API call is made.Uploading data change historyGong incorporates historical change data in different areas of Gong in order to provide a more accurate picture of the status of different entities at that time. For example, showing the correct stage of a deal at the time a call was made.If your CRM stores record history, you are encouraged to load historical change data as part of the integration. You can do this at any time, but we recommend doing this after the initial upload as follows: Generate the JSON files with the relevant data. Ensure that the modifiedDate is set to the date the entity was updated. Upload the entities with their historical data using the POST /v2/crm/entities?objectType=ACCOUNT|CONTACT|DEAL|LEAD endpoint.Gong Data ModelThis diagram shows the connection between the different objects in the CRM API:The following relationship between entities must exist: A contact must be linked to a single account. A deal is linked to a single account. A deal has an owner who is a user in Gong. A converted lead is expected to be converted into an account and/or a deal and/or a contact.What if my CRM doesn't match the Gong data model?It is possible that your CRM entity model won't match the Gong CRM entity model. Your CRM may store your data in different entities, or you may not have an entity that represents one of the Gong CRM entities.In order to upload your CRM data and associate it with calls and conversations, you need to identify the objects in your CRM which match the Gong CRM entities.The account is a mandatory entity which must be uploaded in order to integrate Gong with your CRM. To upload account data, identify your CRM entities that contain data about your customers or companies that you do business with. These customers are not actual people within the org, rather they represent the org itself.To upload contact details, identify your CRM entities that hold data about employees in the company that your reps are in touch with. A contact represents a person where communication has advanced beyond the prospect stage. Your reps will have multiple conversations and interactions with the contact.The deal represents the selling process to the customer (account).The lead is a prospect or potential contact, who is not yet associated with an account. If your CRM has an entity which represents people who you contact in the very early stages, and who is later converted to another entity which represents the people you are doing business with (the contact), upload this data as a lead entity.When will my CRM data be displayed in Gong?In addition to the time it takes for data to upload to Gong, the data is first uploaded as raw data and is not automatically available in Gong.

Operations 8

GET /v2/crm/integrations Get Generic CRM integration details (/v2/crm/integrations) #
PUT /v2/crm/integrations Register a Generic CRM integration (/v2/crm/integrations) #
DELETE /v2/crm/integrations Delete a Generic CRM integration (/v2/crm/integrations) #
GET /v2/crm/entity-schema List Schema Fields (/v2/crm/entity-schema) #
POST /v2/crm/entity-schema Upload Object Schema (/v2/crm/entity-schema) #
GET /v2/crm/entities Get CRM objects (/v2/crm/entities) #
POST /v2/crm/entities Upload CRM objects (/v2/crm/entities) #
GET /v2/crm/request-status Get Request Status (/v2/crm/request-status) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gong:gong-crm-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gong-crm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gong CRM API
  description: 'Overview


    The Gong API allows you to:


    Receive the following information from Gong:


    Your company''s calls in Gong


    Your company''s users in Gong


    Your company''s user stats in Gong


    Your company''s user settings in Gong


    Your company''s libraries in Gong


    Upload new or

    update

    call recordings in Gong, in order to support cases where you have an internal system that records

    calls or obtains them from a third-party entity.


    Data Privacy:

    Delete users and all their associated elements.


    Upload CRM data into Gong.


    Check here what''s your base URL for all API calls.


    Authentication


    There are two ways to retrieve credentials to the Gong Public API:


    Retrieve Manually:


    In the Gong API Page (you

    must be a technical administrator in Gong), click "Create" to receive an Access Key

    and an Access Key Secret.


    Use the Basic Authorization HTTP header (as per RFC)

    to access the Public API as shown below:


    Authorization: Basic <token>


    To create the basic token, combine the Access Key and the Access Key Secret with

    colon (:) and then encode in Base64 as following:


    Base64(<accessKey> : <accessKeySecret>)


    Retrieve through OAuth


    To obtain the Bearer token, follow the steps described in the Gong OAuth Guide.


    After obtaining the token, use the Bearer Authorization HTTP header

    (as per RFC)

    to access the Public API as shown below:


    Authorization: Bearer <token>


    Limits


    By default Gong limits your company''s access to the service to 3 API calls per second, and 10,000 API calls per day.


    When the rate of API calls exceeds these limits an HTTP status code 429 is returned and a Retry-After header indicates

    how many seconds to wait before making a new request.


    If required, contact help.gong.io to change these limits.


    Cursors


    Some API calls that return a list are limited in the amount of records they may return, so multiple API calls may be

    required to bring all records. Such an API call also returns a records field, which contains the number of records

    in the current page, the current page number and the total number of records.


    In cases where the total number of records exceeds the number of records thus far retrieved, the records field will also

    contain a cursor field which can be used to access the next page of records. To retrieve the next page, repeat the API call with

    the cursor value as supplied by the previous API call. All other request inputs should remain the same.


    Forward Compatibility


    When coding a system to accept Gong data, take into account that Gong may, without prior warning, add fields to the JSON output.

    It is recommended to future proof your code so that it disregards all JSON fields you don''t actually use.'
  version: V2
servers:
- url: https://127.0.0.1:8443
  description: Generated server url
tags:


# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gong/refs/heads/main/openapi/gong-crm-api-openapi.yml