> ## Documentation Index > Fetch the complete documentation index at: https://help.gong.io/llms.txt > Use this file to discover all available pages before exploring further. # Upload CRM objects (/v2/crm/entities) >

Inserts, updates, or deletes a CRM entity in Gong.

Gong searches for existing entities with the same ID, to determine whether the entity should be added or updated.

Ensure you have an authentication key and that you have registered your integration before uploading your CRM data.

When accessed using a bearer token, this endpoint requires the 'api:crm:upload' scope.

Request parameters

Query String parameters

Mandatory parameters are marked with a *.

Name Description Data Type
integrationId * Integration ID generated when creating the integration long
objectType * The object being uploaded. Options are (case-sensitive):
  • ACCOUNT
  • CONTACT
  • DEAL
  • LEAD
  • BUSINESS_USER
  • STAGE
string
clientRequestId * A unique identifier sent by you to allow troubleshooting and to prevent repeated attempts to upload the same list of objects.
Valid characters: letters, numbers, dashes and underscores.
string

Request Body

Name Description Data Type
dataFile * The LDJSON file with the entity data to upload. A file should only contain objects of one entity type. Records that have multiple updates should be sent in separate files. Each JSON object should be on a separate line. file

CRM Entities

This section details the entities that can be uploaded to Gong

Business User

The CRM business user represents the Gong user in the CRM and is responsible for the relationship with the account and for creating opportunities and closing deals. Uploading business users enables Gong to associate CRM entities such as accounts and contacts with the relevant user in Gong and with their Gong activity, such as conversations.

Mandatory parameters are marked with a *.

To upload your business users to Gong, generate a JSON file with the following fields:

Name Description Data Type
objectId * The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
modifiedDate * The date and time the object was last modified in the CRM ISO-8601 datetime format, without milliseconds
isDeleted (Default: false) When true, the object is deleted from the database. boolean
url The full URL path to view this object in the CRM string (Qualified URI)
emailAddress * The business user's email address. Used to associate the Gong user with the CRM user. Not mandatory when isDeleted = true. string

Associating the Gong user with the CRM user

The CRM user is associated with the Gong user according to the email address. Each CRM deal contains an ownerId field, which is the CRM user ID.

To update an existing user:

  1. Delete the existing user by uploading the business user entity with isDeleted=true.
  2. In a new request, send the new user details with isDeleted=false, or send a different user with the same email address.

Account

The account object is an active customer in the CRM. Emails and calls in Gong are associated with this account object.

Mandatory parameters are marked with a *.

To upload your CRM accounts to Gong, generate a JSON file with the following fields:

Name Description Data Type
objectId * The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
modifiedDate * The date and time the object was last modified in the CRM ISO-8601 datetime format, without milliseconds
isDeleted (Default: false) When true, the object is deleted from the database boolean
url A full http URL to browse this object in the CRM string (Qualified URI)
name The account name.
Default value: "Account_#"+objectId
string
domains The account's domain/s. When an activity can’t be associated with a contact, the participants domain is used to associate the activity to an account via the account domain in this field. string array

Contact

A contact in Gong is the contact associated with the account. Gong uses a contact to match an activity to the correct account.

Mandatory parameters are marked with a *.

To upload your CRM contacts to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to browse this object in the CRMstring (Qualified URI)
accountIdThe ID of the account associated with the contact in the CRM. Used to associate an activity to an account once the activity has been associated with a contact.string
emailAddressThe contact's email address. Used to associate activities to a contact, based on the participants email. string
firstNameThe contact's first namestring
lastNameThe contact's last namestring
titleThe contact's titlestring
phoneNumberThe contact's phone number. Used to associate telephony system calls to a contact based on the call participant's phone number.string

Deal

A deal in Gong is a qualified opportunity or contract in a specific account.

Mandatory parameters are marked with a *.

To upload your deals to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to access this object in the CRMstring (Qualified URI)
accountIdThe ID of the account the deal is associated with in the CRM.
Note: Deals without an accountId will not appear in Gong
string
ownerIdThe ID of the deal owner in the CRM. This ID should be the same as the business user objectId so the deal can be associated with the correct Gong user.
Note: Deals without an ownerId will not appear in the deal board in Gong.
string
nameThe deal name
Default value: Deal_# + objectId
string
createdDateThe date and time the deal was created in the CRM.ISO-8601 datetime without milliseconds
closeDateThe date the deal closed or is expected to close.
Note: Deals without a closeDate will not appear in the deal board in Gong.
string
statusThe deal status. Possible values are:
  • WON
  • LOST
  • OPEN

Default value: OPEN
string
stageThe stage the deal is in. If empty, it will not always be possible to associate activities with deals.
Must be the same as one of the values in the objectId field in the stages object
string
amountThe deal amount in the currency unit. Companies set their default currency in the Company Settings page. All amounts should be sent in this currency. If your deal is in a different currency, convert the deal amount to the currency defined in the Company Settings page.
Default value: 0
currency

Lead

A Lead is a potential customer, who may not yet be associated with an account. If conversations can't be associated with a contact, Gong then checks to see whether there is a relevant lead to associate with the conversation.

Mandatory parameters are marked with a *.

To upload your leads to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to browse this object in the CRMstring (Qualified URI)
emailAddress The lead's email address. Used to associate activities to a lead, based on the participants email. string
firstName The lead's first namestring
lastName The lead's last namestring
titleThe lead's titlestring
phoneNumber

The lead's phone number. Used to associated telephony system calls to a lead based on the call participant's phone number.

string
convertedToDealIdThe deal ID in the CRM. Relevant if the lead is converted to a dealstring
convertedToContactIdThe contact ID in the CRM the lead was converted to. Relevant if the lead is converted to a contactstring
convertedToAccountIdThe account ID in the CRM the lead was converted to. Relevant if the lead is converted to an accountstring

Stage

The list of stages the deal can be in, in the CRM. Stages are set to be active or inactive so that if you want to delete them, the stage is still associated with existing deals in that stage but will not be available for new deals.

Mandatory parameters are marked with a *.

To upload your stages to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a "-"
  • a valid email address
No other special characters can be used
string
name *The display name for the stagestring
isActiveWhen true, sets the stage to active in Gong. When false, sets the stage to inactive in Gong.
Default value: true
boolean
sortOrderThe order of the stage in the sales process (starting from 1). The stages are displayed according to this order. If two stages have the same sort order they will be displayed one after another.
Default value: 1
integer

Example

Upload Business User account

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=BUSINESS_USER
{"objectId": "user1_Id_In_The_CRM", "emailAddress": "john.doe@acme.com", "modifiedDate": "2019-01-03T23:45:57+01:00"}
// remove user mapping for user user2_Id_In_The_CRM
{"objectId": "user2_Id_In_The_CRM", "isDeleted": true, "emailAddress": "john.taylor@acme.com", "modifiedDate": "2019-01-03T23:45:57+01:00"}

Upload Stage example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=STAGE
{"objectId": "discovery", "name": "Discovery", "isActive": true, "sortOrder": 1}
{"objectId": "won", "modifiedDate": "2019-01-03T23:45:57+01:00", "name": "Closed Won", "isActive": true, "sortOrder": 5}

Upload Account example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=ACCOUNT
// account with additional field
{"objectId": "5ybyh6n6n65", "modifiedDate": "2019-01-03T23:45:57+01:00", "url": "https://crm.com/accounts/5ybyh6n6n65", "name": "PBR", "domains": ["pbr.com", "pbr.gov"], "type": "Investor"}
// remove account gfjhty756th from Gong
{"objectId": "gfjhty756th", "modifiedDate": "2019-01-03T22:45:57Z", "name": "PBR", "domains": ["pbr.com", "pbr.gov"], "isDeleted": true}

Upload Contact example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=CONTACT
{"objectId": "5zbwd7n5n65", "modifiedDate": "2019-01-03T23:45:57+01:00", "url": "https://crm.com/contacts/5zbwd7n5n65", "accountId": "5ybyh6n6n65", "emailAddress": "john.smith@acme.com", "firstName": "john", "lastName": "smith", "phoneNumber": "(912) 507-4395"}

Upload Lead example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=LEAD
{"objectId": "4v5bt54t553", "modifiedDate": "2019-01-03T23:45:57+01:00", "url": "https://crm.com/leads/45k4j5j5k44", "emailAddress": "jane.doe@acme.com", "firstName": "Jane", "lastName": "Doe", "title": "VP Special Effects", "phoneNumber": "(912) 507-4395"}
// remove lead gf4543gf6th
{"objectId": "gf4543gf6th", "modifiedDate": "2019-01-03T22:45:57Z", "emailAddress": "john.smith@acme.com", "firstName": "John", "lastName": "Smith", "isDeleted": true}
// lead 63473hjg53h converted to account 6sjk47jf78d, contact 87grhn74hg6 and deal dkfj8dfgf87
{"objectId": "63473hjg53h", "modifiedDate": "2019-01-03T23:45:57+01:00", "emailAddress": "bob.smith@acme.com", "firstName": "Bob", "lastName": "Smith", "convertedToDealId": "dkfj8dfgf87", "convertedToContactId": "87grhn74hg6", "convertedToAccountId": "6sjk47jf78d"}

Upload Deal example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=DEAL
{"objectId": "8608553", "modifiedDate": "2022-02-04T18:24:59Z", "url": "http://crm.com/deals/8608553", "accountId": "5ybyh6n6n65", "ownerId": "5486951", "name": "Deal name", "createdDate": "2022-02-04T17:57:23Z", "closeDate": "2022-09-04", "status": OPEN, "stage": "discovery", "amount": 7000, "custom_field_1": "2022-02-04T17:57:23.000Z", "custom_field_2": null}

Uploading additional fields

If you defined additional fields using the /v2/crm/entity-schema API, include those fields in the JSON file.

## OpenAPI ````json POST /v2/crm/entities { "openapi": "3.0.1", "info": { "title": "Gong API", "version": "V2" }, "servers": [ { "url": "http://127.0.0.1:8090", "description": "Generated server url" } ], "tags": [ { "name": "Calls", "description": "

Gong’s “Calls” API endpoints allow you to:

\n\n

The requested calls may contain the following call details:

\n\n" }, { "name": "Users", "description": "

Gong’s “Users” API endpoints allow you to:

\n\n

The requested users may contain the following details:

\n\n" }, { "name": "Stats", "description": "

Gong’s “Stats” API endpoints allow you to:

\n\n

The requested user activity may contain the following details:

\n\n" }, { "name": "Settings", "description": "

Gong’s “Settings” API endpoints allow you to:

\n\n" }, { "name": "Data Privacy", "description": "

Gong’s “Data Privacy” API endpoints allow you to:

\n\n" }, { "name": "Library", "description": "

Gong’s “Library” API endpoints allow you to:

\n\n" }, { "name": "CRM", "description": "

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:

By 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 Protocol

The API protocol is based on REST guidelines. Check here what's your base URL for all API calls.\n

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:

Uploading CRM data to Gong

This 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 Integration

Register 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 entities

Each 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 Gong

This section explains how you can use the CRM API to upload your data to Gong:

First-time upload

Create 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 history

Gong 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:

  1. Generate the JSON files with the relevant data. Ensure that the modifiedDate is set to the date the entity was updated.
  2. Upload the entities with their historical data using the POST /v2/crm/entities?objectType=ACCOUNT|CONTACT|DEAL|LEAD endpoint.

Gong Data Model

This diagram shows the connection between the different objects in the CRM API:

\"\"

The following relationship between entities must exist:

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.





" }, { "name": "Auditing", "description": "

Gong’s “Auditing” API endpoints allow you to request the following log types from Gong:

\n\n" }, { "name": "Meetings (in Beta Phase)", "description": "

Gong’s “Consent Meeting” API endpoints allow you to:

\n\n

The requested calls may contain the following meeting details:

\n\n" }, { "name": "Permissions", "description": "

Gong’s \"Permission\" API endpoints allow you to:

\n\n" }, { "name": "Engage Flows", "description": "

Gong’s “Flows” API endpoints allow you to:

\n\n" }, { "name": "Digital Interactions", "description": "

Digital interactions (DIs) are events people make when interacting with (mostly) digital content. It can be described as an action someone did on an object. Anything from viewing a document or a video, to registering/completing a course or someone visiting your website.

The below proposed Digital Interactions API allows mainly tech-partners (and also customers) to capture and track user interactions with various types of digital content. It provides a structured schema for recording a person’s identity, action, content details, and additional contextual information. The API enables seamless integration between tech-partner systems and the Gong platform, providing valuable insights into buyer-seller interactions that sometimes are hidden from a seller’s line-of-sight.

For simplicity & clarity, the API scheme is designed according to a real-world scenario, including the following terminology:For simplicity & clarity, the API scheme is designed according to a real-world scenario, including the following terminology:

" }, { "name": "Integration Settings", "description": "

Configure your integration settings for displaying your company data in iFrames. For example, use this API to configure dynamic links as the iFrame source. This endpoint includes validation mechanisms to ensure the integration is secure.

Mandatory fields are marked with a *.

" }, { "name": "Engagement (Legacy – See “Digital Interactions”)", "description": "

Limited release - contact integration.requests@gong.io for more information.\n

\n\n

Gong’s \"Engagement\" API endpoints allow you to push engagement events into Gong and display them as events in Gong’s activity timeline.

\n

There are currently 3 types of events:

\n\n" } ], "paths": { "/v2/crm/entities": { "post": { "operationId": "uploadCrmData", "summary": "Upload CRM objects (/v2/crm/entities)", "description": "

Inserts, updates, or deletes a CRM entity in Gong.

Gong searches for existing entities with the same ID, to determine whether the entity should be added or updated.

Ensure you have an authentication key and that you have registered your integration before uploading your CRM data.

When accessed using a bearer token, this endpoint requires the 'api:crm:upload' scope.

Request parameters

Query String parameters

Mandatory parameters are marked with a *.

Name Description Data Type
integrationId * Integration ID generated when creating the integration long
objectType * The object being uploaded. Options are (case-sensitive):
  • ACCOUNT
  • CONTACT
  • DEAL
  • LEAD
  • BUSINESS_USER
  • STAGE
string
clientRequestId\t* A unique identifier sent by you to allow troubleshooting and to prevent repeated attempts to upload the same list of objects.
Valid characters: letters, numbers, dashes and underscores.
string

Request Body

Name Description Data Type
dataFile * The LDJSON file with the entity data to upload. A file should only contain objects of one entity type. Records that have multiple updates should be sent in separate files. Each JSON object should be on a separate line. file

CRM Entities

This section details the entities that can be uploaded to Gong

Business User

The CRM business user represents the Gong user in the CRM and is responsible for the relationship with the account and for creating opportunities and closing deals. Uploading business users enables Gong to associate CRM entities such as accounts and contacts with the relevant user in Gong and with their Gong activity, such as conversations.

Mandatory parameters are marked with a *.

To upload your business users to Gong, generate a JSON file with the following fields:

Name Description Data Type
objectId * The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
modifiedDate * The date and time the object was last modified in the CRM ISO-8601 datetime format, without milliseconds
isDeleted (Default: false) When true, the object is deleted from the database. boolean
url The full URL path to view this object in the CRM string (Qualified URI)
emailAddress * The business user's email address. Used to associate the Gong user with the CRM user. Not mandatory when isDeleted = true. string

Associating the Gong user with the CRM user

The CRM user is associated with the Gong user according to the email address. Each CRM deal contains an ownerId field, which is the CRM user ID.

To update an existing user:

  1. Delete the existing user by uploading the business user entity with isDeleted=true.
  2. In a new request, send the new user details with isDeleted=false, or send a different user with the same email address.

Account

The account object is an active customer in the CRM. Emails and calls in Gong are associated with this account object.

Mandatory parameters are marked with a *.

To upload your CRM accounts to Gong, generate a JSON file with the following fields:

Name Description Data Type
objectId * The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
modifiedDate * The date and time the object was last modified in the CRM ISO-8601 datetime format, without milliseconds
isDeleted (Default: false) When true, the object is deleted from the database boolean
url A full http URL to browse this object in the CRM string (Qualified URI)
name The account name.
Default value: \"Account_#\"+objectId
string
domains The account's domain/s. When an activity can’t be associated with a contact, the participants domain is used to associate the activity to an account via the account domain in this field. string array

Contact

A contact in Gong is the contact associated with the account. Gong uses a contact to match an activity to the correct account.

Mandatory parameters are marked with a *.

To upload your CRM contacts to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to browse this object in the CRMstring (Qualified URI)
accountIdThe ID of the account associated with the contact in the CRM. Used to associate an activity to an account once the activity has been associated with a contact.string
emailAddressThe contact's email address. Used to associate activities to a contact, based on the participants email. string
firstNameThe contact's first namestring
lastNameThe contact's last namestring
titleThe contact's titlestring
phoneNumberThe contact's phone number. Used to associate telephony system calls to a contact based on the call participant's phone number.string

Deal

A deal in Gong is a qualified opportunity or contract in a specific account.

Mandatory parameters are marked with a *.

To upload your deals to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to access this object in the CRMstring (Qualified URI)
accountIdThe ID of the account the deal is associated with in the CRM.
Note: Deals without an accountId will not appear in Gong
string
ownerIdThe ID of the deal owner in the CRM. This ID should be the same as the business user objectId so the deal can be associated with the correct Gong user.
Note: Deals without an ownerId will not appear in the deal board in Gong.
string
nameThe deal name
Default value: Deal_# + objectId
string
createdDateThe date and time the deal was created in the CRM.ISO-8601 datetime without milliseconds
closeDateThe date the deal closed or is expected to close.
Note: Deals without a closeDate will not appear in the deal board in Gong.
string
statusThe deal status. Possible values are:
  • WON
  • LOST
  • OPEN

Default value: OPEN
string
stageThe stage the deal is in. If empty, it will not always be possible to associate activities with deals.
Must be the same as one of the values in the objectId field in the stages object
string
amountThe deal amount in the currency unit. Companies set their default currency in the Company Settings page. All amounts should be sent in this currency. If your deal is in a different currency, convert the deal amount to the currency defined in the Company Settings page.
Default value: 0
currency

Lead

A Lead is a potential customer, who may not yet be associated with an account. If conversations can't be associated with a contact, Gong then checks to see whether there is a relevant lead to associate with the conversation.

Mandatory parameters are marked with a *.

To upload your leads to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
modifiedDate *The date and time the object was last modified in the CRMISO-8601 datetime format, without milliseconds
isDeleted(Default: false) When true, the object is deleted from the database.boolean
urlA full http URL to browse this object in the CRMstring (Qualified URI)
emailAddress The lead's email address. Used to associate activities to a lead, based on the participants email. string
firstName The lead's first namestring
lastName The lead's last namestring
titleThe lead's titlestring
phoneNumber

The lead's phone number. Used to associated telephony system calls to a lead based on the call participant's phone number.

string
convertedToDealIdThe deal ID in the CRM. Relevant if the lead is converted to a dealstring
convertedToContactIdThe contact ID in the CRM the lead was converted to. Relevant if the lead is converted to a contactstring
convertedToAccountIdThe account ID in the CRM the lead was converted to. Relevant if the lead is converted to an accountstring

Stage

The list of stages the deal can be in, in the CRM. Stages are set to be active or inactive so that if you want to delete them, the stage is still associated with existing deals in that stage but will not be available for new deals.

Mandatory parameters are marked with a *.

To upload your stages to Gong, generate a JSON file with the following fields:

NameDescriptionData Type
objectId *The CRM unique ID for the object.
Note: objectId can have a maximum of 64 characters and can have the following characters:
  • alpha numeric characters and a \"-\"
  • a valid email address
No other special characters can be used
string
name *The display name for the stagestring
isActiveWhen true, sets the stage to active in Gong. When false, sets the stage to inactive in Gong.
Default value: true
boolean
sortOrderThe order of the stage in the sales process (starting from 1). The stages are displayed according to this order. If two stages have the same sort order they will be displayed one after another.
Default value: 1
integer

Example

Upload Business User account

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=BUSINESS_USER
{\"objectId\": \"user1_Id_In_The_CRM\", \"emailAddress\": \"john.doe@acme.com\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\"}
// remove user mapping for user user2_Id_In_The_CRM
{\"objectId\": \"user2_Id_In_The_CRM\", \"isDeleted\": true, \"emailAddress\": \"john.taylor@acme.com\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\"}

Upload Stage example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=STAGE
{\"objectId\": \"discovery\", \"name\": \"Discovery\", \"isActive\": true, \"sortOrder\": 1}
{\"objectId\": \"won\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\", \"name\": \"Closed Won\", \"isActive\": true, \"sortOrder\": 5}

Upload Account example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=ACCOUNT
// account with additional field
{\"objectId\": \"5ybyh6n6n65\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\", \"url\": \"https://crm.com/accounts/5ybyh6n6n65\", \"name\": \"PBR\", \"domains\": [\"pbr.com\", \"pbr.gov\"], \"type\": \"Investor\"}
// remove account gfjhty756th from Gong
{\"objectId\": \"gfjhty756th\", \"modifiedDate\": \"2019-01-03T22:45:57Z\", \"name\": \"PBR\", \"domains\": [\"pbr.com\", \"pbr.gov\"], \"isDeleted\": true}

Upload Contact example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=CONTACT
{\"objectId\": \"5zbwd7n5n65\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\", \"url\": \"https://crm.com/contacts/5zbwd7n5n65\", \"accountId\": \"5ybyh6n6n65\", \"emailAddress\": \"john.smith@acme.com\", \"firstName\": \"john\", \"lastName\": \"smith\", \"phoneNumber\": \"(912) 507-4395\"}

Upload Lead example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=LEAD
{\"objectId\": \"4v5bt54t553\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\", \"url\": \"https://crm.com/leads/45k4j5j5k44\", \"emailAddress\": \"jane.doe@acme.com\", \"firstName\": \"Jane\", \"lastName\": \"Doe\", \"title\": \"VP Special Effects\", \"phoneNumber\": \"(912) 507-4395\"}
// remove lead gf4543gf6th
{\"objectId\": \"gf4543gf6th\", \"modifiedDate\": \"2019-01-03T22:45:57Z\", \"emailAddress\": \"john.smith@acme.com\", \"firstName\": \"John\", \"lastName\": \"Smith\", \"isDeleted\": true}
// lead 63473hjg53h converted to account 6sjk47jf78d, contact 87grhn74hg6 and deal dkfj8dfgf87
{\"objectId\": \"63473hjg53h\", \"modifiedDate\": \"2019-01-03T23:45:57+01:00\", \"emailAddress\": \"bob.smith@acme.com\", \"firstName\": \"Bob\", \"lastName\": \"Smith\", \"convertedToDealId\": \"dkfj8dfgf87\", \"convertedToContactId\": \"87grhn74hg6\", \"convertedToAccountId\": \"6sjk47jf78d\"}

Upload Deal example

POST https://api.gong.io/v2/crm/entities?clientRequestId=1234&integrationId=6286478263646&objectType=DEAL
{\"objectId\": \"8608553\", \"modifiedDate\": \"2022-02-04T18:24:59Z\", \"url\": \"http://crm.com/deals/8608553\", \"accountId\": \"5ybyh6n6n65\", \"ownerId\": \"5486951\", \"name\": \"Deal name\", \"createdDate\": \"2022-02-04T17:57:23Z\", \"closeDate\": \"2022-09-04\", \"status\": OPEN, \"stage\": \"discovery\", \"amount\": 7000, \"custom_field_1\": \"2022-02-04T17:57:23.000Z\", \"custom_field_2\": null}

Uploading additional fields

If you defined additional fields using the /v2/crm/entity-schema API, include those fields in the JSON file.

", "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "dataFile": { "description": "The CRM data file. You may attach files up to 200MB in size", "type": "string", "format": "binary" } }, "required": [ "dataFile" ] } } } }, "responses": { "201": { "description": "Successfully uploaded the crm data.
Important: This API is asynchronous. A 201 response indicates that the file successfully uploaded to Gong and is pending processing. Use the clientRequestId to verify the status of the request by calling the GET /v2/crm/request-status endpoint.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncProcessingResponse" } } } }, "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Client request id has already been used", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "429": { "description": "API request limit exceeded", "headers": { "Retry-After": { "description": "Number of seconds to wait before making a new request.", "style": "simple", "schema": { "type": "integer", "format": "int32" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Failed to complete the operation due to an unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "tags": [ "CRM" ] } } }, "components": { "schemas": { "AsyncProcessingResponse": { "type": "object", "properties": { "requestId": { "description": "A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.", "type": "string", "example": "4al018gzaztcr8nbukw" }, "clientRequestId": { "description": "The clientRequestId sent in the request - used to monitor the request process", "type": "string", "example": "clientRequest1" } } }, "ErrorResponse": { "type": "object", "properties": { "requestId": { "description": "A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.", "type": "string", "example": "4al018gzaztcr8nbukw" }, "errors": { "description": "Error messages.", "type": "array", "items": { "type": "string" }, "example": [ "An error has occurred" ] } } } } } } ````