> ## 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. # Retrieve detailed call data by various filters (/v2/calls/extensive) > Lists detailed call data for calls that took place during a specified date range, have specified call IDs or hosted by specified users. Required authorizaton scope: 'api:calls:read:extensive'. Moreover, clients requesting media download URLs by the contentSelector.exposedFields.media field should also have the scope 'api:calls:read:media-url'. ## OpenAPI ````json POST /v2/calls/extensive { "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/calls/extensive": { "post": { "operationId": "listCallsExtensive", "summary": "Retrieve detailed call data by various filters (/v2/calls/extensive)", "description": "Lists detailed call data for calls that took place during a specified date range, have specified call IDs or hosted by specified users.\n\nRequired authorizaton scope: 'api:calls:read:extensive'. \nMoreover, clients requesting media download URLs by the contentSelector.exposedFields.media field should also have the scope 'api:calls:read:media-url'.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicApiBaseRequestWithDataV2CallsRequestFilterWithOwnersContentSelector" } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Calls" } } } }, "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "Access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "No calls found for the specified period", "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": [ "Calls" ] } } }, "components": { "schemas": { "PublicApiBaseRequestWithDataV2CallsRequestFilterWithOwnersContentSelector": { "type": "object", "properties": { "cursor": { "description": "When paging is needed, provide the value supplied by the previous API call to bring the following page of records.", "type": "string", "example": "eyJhbGciOiJIUzI1NiJ9.eyJjYWxsSWQiM1M30.6qKwpOcvnuweTZmFRzYdtjs_YwJphJU4QIwWFM" }, "filter": { "$ref": "#/components/schemas/CallsRequestFilterWithOwners" }, "contentSelector": { "$ref": "#/components/schemas/ContentSelector" } }, "required": [ "filter" ] }, "Calls": { "type": "object", "properties": { "requestId": { "description": "A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.", "type": "string", "example": "4al018gzaztcr8nbukw" }, "records": { "$ref": "#/components/schemas/Records" }, "calls": { "description": "A list with one entry per call.", "type": "array", "items": { "$ref": "#/components/schemas/CallData" } } } }, "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" ] } } }, "CallsRequestFilterWithOwners": { "description": "Filter parameters.", "type": "object", "properties": { "fromDateTime": { "description": "Date and time (in ISO-8601 format: '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC) from which to list recorded calls. Returns calls that started on or after the specified date and time. If not provided, list starts with earliest call. The date applies to call start time.", "type": "string", "example": "2018-02-17T10:30:00+00:00" }, "toDateTime": { "description": "Date and time (in ISO-8601 format: '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC) until which to list recorded calls. Returns calls that started up to but excluding specified date and time. If not provided, list ends with most recent call. The date applies to call start time.", "type": "string", "example": "2018-02-19T10:30:00+00:00" }, "workspaceId": { "description": "Optional Workspace identifier, if supplied the API will return only the calls belonging to this workspace.", "type": "string", "example": "623457276584334" }, "callIds": { "description": "List of calls Ids to be filtered. If not supplied, returns all calls between fromDateTime and toDateTime.", "type": "array", "items": { "type": "string" }, "example": [ "7782342274025937895" ], "uniqueItems": true, "writeOnly": true }, "primaryUserIds": { "description": "An optional list of user identifiers, if supplied the API will return only the calls hosted by the specified users. The identifiers in this field match the primaryUserId field of the calls.", "type": "array", "items": { "type": "string" }, "example": [ "7782342274025937895" ], "uniqueItems": true } } }, "ContentSelector": { "description": "The content selector identifies which data components, if any, are needed, by the caller", "type": "object", "properties": { "context": { "description": "If 'Basic', add links to external systems (context objects) such as CRM, Telephony System, Case Management. If 'Extended' include also data (context fields) for these links. Default value 'None'", "type": "string", "enum": [ "None", "Basic", "Extended" ] }, "contextTiming": { "description": "Timing for the context data. The field is optional and can contain either \"Now\" or \"TimeOfCall\" or both. The default value is [\"Now\"]. Can be provided only when the context field is set to 'Extended'", "type": "array", "items": { "type": "string", "description": "Timing for the context data. The field is optional and can contain either \"Now\" or \"TimeOfCall\" or both. The default value is [\"Now\"]. Can be provided only when the context field is set to 'Extended'", "enum": [ "Now", "TimeOfCall" ] } }, "exposedFields": { "$ref": "#/components/schemas/ExposedFields" } } }, "Records": { "description": "Information about the number of records that match the requested filter.", "type": "object", "properties": { "totalRecords": { "description": "Total number of records.", "type": "integer", "format": "int32", "example": 263 }, "currentPageSize": { "description": "Number of records in the current page.", "type": "integer", "format": "int32", "example": 100 }, "currentPageNumber": { "description": "Current page number.", "type": "integer", "format": "int32", "example": 0 }, "cursor": { "description": "Returned only when there are more records to be retrieved. Repeat the API call and pass this cursor value in the request to retrieve the next page of records.", "type": "string", "example": "eyJhbGciOiJIUzI1NiJ9.eyJjYWxsSWQiM1M30.6qKwpOcvnuweTZmFRzYdtjs_YwJphJU4QIwWFM" } } }, "CallData": { "description": "A list with one entry per call.", "type": "object", "properties": { "metaData": { "$ref": "#/components/schemas/CallBasicData" }, "context": { "description": "A list of the agenda of each part of the call.", "type": "array", "items": { "$ref": "#/components/schemas/CallContextDto" } }, "parties": { "description": "A list of the call's participants", "type": "array", "items": { "$ref": "#/components/schemas/Party" } }, "content": { "$ref": "#/components/schemas/ContentDto" }, "interaction": { "$ref": "#/components/schemas/InteractionMeasuresDto" }, "collaboration": { "$ref": "#/components/schemas/CollaborationDto" }, "media": { "$ref": "#/components/schemas/MediaDto" } } }, "ExposedFields": { "description": "The exposed fields identifies which field, if any, are returned in the response object", "type": "object", "properties": { "parties": { "description": "If true, add information about the parties of the call", "type": "boolean", "example": true }, "content": { "$ref": "#/components/schemas/CallContent" }, "interaction": { "$ref": "#/components/schemas/CallInteraction" }, "collaboration": { "$ref": "#/components/schemas/CallCollaboration" }, "media": { "description": "If true and exist, add audio url and video url of the call. The urls will be available for 8 hours.", "type": "boolean", "example": true } } }, "CallBasicData": { "description": "call's metadata.", "type": "object", "properties": { "id": { "description": "Gong's unique numeric identifier for the call (up to 20 digits).", "type": "string", "example": "7782342274025937895" }, "url": { "description": "The URL to the page in the Gong web application where the call is available.", "type": "string", "example": "https://app.gong.io/call?id=7782342274025937895" }, "title": { "description": "The title of the call.", "type": "string", "example": "Example call" }, "scheduled": { "description": "Scheduled date and time of the call in the ISO-8601 format (e.g., '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC).", "type": "string", "format": "date-time", "example": "2018-02-17T10:30:00+00:00" }, "started": { "description": "The date and time when the call was recorded in the ISO-8601 format (e.g., '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC).", "type": "string", "format": "date-time", "example": "2018-02-17T10:30:00+00:00" }, "duration": { "description": "The duration of the call, in seconds.", "type": "integer", "format": "int64", "example": 460 }, "primaryUserId": { "description": "The primary user ID of the team member who hosted the call.", "type": "string", "example": "234599484848423" }, "direction": { "description": "Call direction.", "type": "string", "enum": [ "Inbound", "Outbound", "Conference", "Unknown" ] }, "system": { "description": "The system with which the call was carried out (e.g., WebEx, ShoreTel, etc.).", "type": "string", "example": "Outreach" }, "scope": { "description": "The scope of the call: 'internal' if all the participants are from the company, 'external' if some participants are not from the company, or 'unknown' if the scope is unknown.", "type": "string", "example": "Internal", "enum": [ "Internal", "External", "Unknown" ] }, "media": { "description": "Media type", "type": "string", "example": "Video", "enum": [ "Video", "Audio" ] }, "language": { "description": "The language codes (as defined by ISO-639-2B). E.g., eng, fre, spa, ger, and ita. Also used are und (unsupported language), and zxx (not enough speech content for identification).", "type": "string", "example": "eng" }, "workspaceId": { "description": "Gong's unique numeric identifier for the call's workspace (up to 20 digits).", "type": "string", "example": "623457276584334" }, "sdrDisposition": { "description": "The SDR disposition of the call. This can be an automated value provided by the provider, or manually entered by the rep.", "type": "string", "example": "Got the gatekeeper" }, "clientUniqueId": { "description": "The call's unique identifier in the origin recording system (typically a telephony recording system). The identifier is provided to Gong during the call creation via the Public API or through telephony systems integrations.", "type": "string", "example": "7JEHFRGXDDZFEW2FC4U" }, "customData": { "description": "Metadata as was provided to Gong during the call creation via the Public API.", "type": "string", "example": "Conference Call" }, "purpose": { "description": "The purpose of the call.", "type": "string", "example": "Demo Call" }, "meetingUrl": { "description": "The meeting provider URL on which the web conference was recorded.", "type": "string", "example": "https://zoom.us/j/123" }, "isPrivate": { "description": "If the call is private.", "type": "boolean", "example": false }, "calendarEventId": { "description": "The Id of the meeting in Google or Outlook Calendar.", "type": "string", "example": "abcde@google.com" } } }, "CallContextDto": { "description": "Links to external systems such as CRM, Dialer, Case Management etc", "type": "object", "properties": { "system": { "description": "External system name. e.g. Salesforce", "type": "string", "example": "Salesforce", "enum": [ "Salesforce", "HubSpot", "MicrosoftDynamic", "Generic" ] }, "objects": { "description": "List of objects within the external system", "type": "array", "items": { "$ref": "#/components/schemas/ExternalCallObject" } } } }, "Party": { "type": "object", "properties": { "id": { "description": "Unique ID of the participant in the call.", "type": "string", "example": "56825452554556" }, "emailAddress": { "description": "Email address.", "type": "string", "example": "test@test.com" }, "name": { "description": "The name of the participant.", "type": "string", "example": "Test User" }, "title": { "description": "The job title of the participant", "type": "string", "example": "Enterprise Account Executive" }, "userId": { "description": "The user ID of the participant within the Gong system, if the participant exists in the system.", "type": "string", "example": "234599484848423" }, "speakerId": { "description": "Unique ID of a participant that spoke in the call. References to this id will appear in the '/v2/calls/transcript' endpoint response.", "type": "string", "example": "6432345678555530067" }, "context": { "description": "A list of links to external systems such as CRM, Dialer, Case Management, etc.", "type": "array", "items": { "$ref": "#/components/schemas/PartyContextDto" } }, "affiliation": { "description": "Whether the participant is from the company or not.", "type": "string", "enum": [ "Internal", "External", "Unknown" ] }, "phoneNumber": { "description": "The phone number of the participant.", "type": "string", "example": "+1 123-567-8989" }, "methods": { "description": "Whether the participant was invited to the meeting or only attended the call.", "type": "array", "items": { "type": "string", "description": "Whether the participant was invited to the meeting or only attended the call.", "enum": [ "Invitee", "Attendee" ] } } } }, "ContentDto": { "description": "Analysis of the interaction content.", "type": "object", "properties": { "structure": { "description": "A list of the agenda of each part of the call.", "type": "array", "items": { "$ref": "#/components/schemas/StructureDto" } }, "trackers": { "type": "array", "items": { "$ref": "#/components/schemas/TrackerDto" } }, "topics": { "type": "array", "items": { "$ref": "#/components/schemas/TopicDto" } }, "brief": { "description": "The brief of the call. Returned when it is available and contentSelector.exposedFields.content.brief = true.", "type": "string" }, "outline": { "description": "Outline of the call, divided into sections. Returned when it is available and contentSelector.exposedFields.content.outline = true.", "type": "array", "items": { "$ref": "#/components/schemas/CallOutlineSection" } }, "highlights": { "description": "List of highlights of the call. Returned when it is available and contentSelector.exposedFields.content.highlights = true.", "type": "array", "items": { "$ref": "#/components/schemas/CallHighlightsSection" } }, "callOutcome": { "$ref": "#/components/schemas/CallOutcome" }, "keyPoints": { "description": "List of key points of the call. Returned when it is available and contentSelector.exposedFields.content.keyPoints = true.", "type": "array", "items": { "$ref": "#/components/schemas/CallKeyPoint" } } } }, "InteractionMeasuresDto": { "description": "Metrics collected around the interaction during the call.", "type": "object", "properties": { "speakers": { "description": "A list of the talk duration per speaker.", "type": "array", "items": { "$ref": "#/components/schemas/UserSpeaker" } }, "interactionStats": { "description": "A list of interaction statistics. Applicable values: 'Talk Ratio', 'Longest Monologue', 'Longest Customer Story', 'Interactivity', 'Patience'.", "type": "array", "items": { "$ref": "#/components/schemas/InteractionStatsDto" } }, "video": { "description": "A list of video statistics about what's presented and for how long.", "type": "array", "items": { "$ref": "#/components/schemas/VideoInteractionDto" } }, "questions": { "$ref": "#/components/schemas/Questions" } } }, "CollaborationDto": { "description": "Collaboration information added to the call", "type": "object", "properties": { "publicComments": { "description": "A list of public comments.", "type": "array", "items": { "$ref": "#/components/schemas/CommentDto" } } } }, "MediaDto": { "description": "The media urls of the call.", "type": "object", "properties": { "audioUrl": { "description": "If true and exist, add audio url of the call. The url will be available for 8 hours.", "type": "string", "format": "url" }, "videoUrl": { "description": "If true and exist, add video url of the call. The url will be available for 8 hours.", "type": "string", "format": "url" } } }, "CallContent": { "description": "The content of the call", "type": "object", "properties": { "structure": { "description": "If true, add call agenda, if available", "type": "boolean", "example": false }, "topics": { "description": "If true, add duration of call topics", "type": "boolean", "example": false }, "trackers": { "description": "If true, returns smart tracker and keyword tracker information for the call.", "type": "boolean", "example": false }, "trackerOccurrences": { "description": "If true, the API will return the timing and speaker ID of each occurrence of a tracker (in addition to other tracker data). This functionality must be used in combination with the \"trackers\" field. The occurrence data is available only for the calls recorded since Jan 1, 2023, contact Gong support if a backfill of this data is required.", "type": "boolean", "example": false }, "pointsOfInterest": { "description": "deprecated.", "type": "boolean", "example": false }, "brief": { "description": "When true, returns the spotlight call brief.", "type": "boolean", "example": true }, "outline": { "description": "When true, returns the call outline.", "type": "boolean", "example": true }, "highlights": { "description": "When true, returns the call highlights.", "type": "boolean", "example": true }, "callOutcome": { "description": "When true, returns the outcome of the call.", "type": "boolean", "example": true }, "keyPoints": { "description": "When true, returns the key points of the call.", "type": "boolean", "example": true } } }, "CallInteraction": { "description": "The interaction data of the call", "type": "object", "properties": { "speakers": { "description": "If true, add the time each participant spoke.", "type": "boolean", "example": true }, "video": { "description": "If true, add video statistics", "type": "boolean", "example": true }, "personInteractionStats": { "description": "If true, add statistics for the host of the call.", "type": "boolean", "example": true }, "questions": { "description": "If true, add question counts", "type": "boolean", "example": true } } }, "CallCollaboration": { "description": "Call collaboration", "type": "object", "properties": { "publicComments": { "description": "If true, add public comments made for this call", "type": "boolean", "example": true } } }, "ExternalCallObject": { "description": "External Object", "type": "object", "properties": { "objectType": { "description": "Object Type. e.g Opportunity.", "type": "string", "example": "Opportunity", "enum": [ "Opportunity", "Account" ] }, "objectId": { "description": "Object ID", "type": "string", "example": "0013601230sV7grAAC" }, "fields": { "type": "array", "items": { "$ref": "#/components/schemas/ContextField" } }, "timing": { "description": "Timing of object", "type": "string", "enum": [ "Now", "TimeOfCall" ] } } }, "PartyContextDto": { "description": "Links to external systems such as CRM, Dialer, Case Management etc", "type": "object", "properties": { "system": { "description": "External system name. e.g. Salesforce", "type": "string", "example": "Salesforce", "enum": [ "Salesforce", "HubSpot", "MicrosoftDynamic", "Generic" ] }, "objects": { "description": " List of objects within the external system", "type": "array", "items": { "$ref": "#/components/schemas/ExternalPartyObject" } } } }, "StructureDto": { "description": "Agenda of the current part of the call", "type": "object", "properties": { "name": { "description": "The agenda name", "type": "string", "example": "Meeting Setup" }, "duration": { "description": "The duration of this part of the call", "type": "integer", "format": "int64", "example": 67 } } }, "TrackerDto": { "type": "object", "properties": { "id": { "description": "The unique ID of the Tracker.", "type": "string", "example": "56825452554556" }, "name": { "description": "The name of the Tracker (e.g., Stores).", "type": "string", "example": "Competitors" }, "count": { "description": "The number of times words in this Tracker occurred in the call.", "type": "integer", "format": "int32", "example": 7 }, "type": { "description": "The type of the tracker - Keyword or Smart.", "type": "string", "example": "KEYWORD", "enum": [ "KEYWORD", "SMART" ] }, "occurrences": { "description": "Details when the smart or keyword tracker term came up in the call. The list does not specify each phrase defined in the tracker, rather it lists when any term relevant to the tracker was mentioned. Empty when keyword trackers are set to display each term in the tracker separately.", "type": "array", "items": { "$ref": "#/components/schemas/occurrences" } }, "phrases": { "description": "Details when each specific phrase defined in the keyword tracker came up in the call. Smart trackers are not listed.", "type": "array", "items": { "$ref": "#/components/schemas/trackerPhrases" } } } }, "TopicDto": { "type": "object", "properties": { "name": { "description": "The name of the topic (e.g., Pricing).", "type": "string", "example": "Objections" }, "duration": { "description": "The total time, in seconds, spent on this topic within the call.", "type": "integer", "format": "int32", "example": 86 } } }, "CallOutlineSection": { "type": "object", "properties": { "section": { "description": "The name of this section of the call.", "type": "string" }, "startTime": { "description": "The starting time of this section, in seconds, from the start of the call.", "type": "number", "format": "double" }, "duration": { "description": "The duration of this section, in seconds.", "type": "number", "format": "double" }, "items": { "description": "List of items of this section.", "type": "array", "items": { "$ref": "#/components/schemas/CallOutlineItem" } } } }, "CallHighlightsSection": { "type": "object", "properties": { "title": { "description": "The title of the highlights section.", "type": "string" }, "items": { "description": "List of highlight items of the call in this section.", "type": "array", "items": { "$ref": "#/components/schemas/CallHighlightsItem" } } } }, "CallOutcome": { "description": "The outcome of the call, as automatically set by Gong AI. Returned when it is available and contentSelector.exposedFields.content.callOutcome = true.", "type": "object", "properties": { "id": { "description": "The ID of the call outcome, as automatically set by Gong AI", "type": "string", "example": "MEETING_BOOKED" }, "category": { "description": "The category of the call outcome, as automatically set by Gong AI", "type": "string", "example": "Answered" }, "name": { "description": "The name of the call outcome, as automatically set by Gong AI", "type": "string", "example": "Meeting booked" } } }, "CallKeyPoint": { "type": "object", "properties": { "text": { "description": "The text of the key point.", "type": "string" } } }, "UserSpeaker": { "description": "Talking duration", "type": "object", "properties": { "id": { "description": "Unique ID of the participant in the call.", "type": "string", "example": "56825452554556" }, "userId": { "description": "User Id within the Gong system", "type": "string", "example": "234599484848423" }, "talkTime": { "description": "Talk duration in seconds", "type": "number", "format": "double", "example": 145 } } }, "InteractionStatsDto": { "description": "Interaction statistics", "type": "object", "properties": { "name": { "description": "Stat name", "type": "string", "example": "Interactivity" }, "value": { "description": "Stat measurement", "type": "number", "example": 56 } } }, "VideoInteractionDto": { "description": "Video statistics", "type": "object", "properties": { "name": { "description": "Video segment type. Can have the values: 'Browser', 'Presentation', 'WebcamPrimaryUser', 'WebcamNonCompany', and 'Webcam'.\n\n'Browser': When the video segment shows a web browser.\n\n'Presentation': When the video segment shows a presentation (such as PowerPoint).\n\n'WebcamPrimaryUser': When the video segment shows the webcam of the primary user.\n\n'WebcamNonCompany': When the video segment shows webcam speakers that gong has identified as being non-company.\n\n'Webcam': When the video segment shows any webcam.", "type": "string", "example": "Browser" }, "duration": { "description": "Total video segments duration in seconds.", "type": "number", "format": "float", "example": 218 } } }, "Questions": { "description": "Question counts of the call.", "type": "object", "properties": { "companyCount": { "description": "The number of questions asked by company speakers.", "type": "integer", "format": "int32" }, "nonCompanyCount": { "description": "The number of questions asked by non-company speakers.", "type": "integer", "format": "int32" } } }, "CommentDto": { "type": "object", "properties": { "id": { "description": "Unique identifier of the comment within the Gong's system.", "type": "string", "example": "6843152929075440037" }, "audioStartTime": { "description": "The number of seconds from the beginning of the call that the comment start refers to.", "type": "number", "format": "float", "example": 26 }, "audioEndTime": { "description": "The number of seconds from the beginning of the call that the comment ends refers to.", "type": "number", "format": "float", "example": 26 }, "commenterUserId": { "description": "Unique identifier of the user who wrote the comment.", "type": "string", "example": "234599484848423" }, "comment": { "description": "The comment itself. The comment may contains person tagging in this format @[user name](user Id)", "type": "string", "example": "new comment" }, "posted": { "description": "The date and time in the ISO-8601 format (e.g., '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC); in which the comment was posted.", "type": "string", "format": "date-time", "example": "2018-02-17T10:30:00+00:00" }, "inReplyTo": { "description": "The unique identifier of the original comment in case the current comment is a reply to the original one.", "type": "string", "example": "792390015966656336" }, "duringCall": { "description": "True if the comment was written during the call, false if it was posted after the call.", "type": "boolean" } } }, "ContextField": { "description": "External object data", "type": "object", "properties": { "name": { "description": "Field name. For Account supported fields are: Name, Website, Industry and all the custom fields. For Opportunity supported fields are Name, LeadSource, Type, StageName, Probability, Amount, CloseDate and all the custom fields.", "type": "string", "example": "name" }, "value": { "description": "Field value", "type": "object", "example": "Gong Inc." } } }, "ExternalPartyObject": { "description": "External Object", "type": "object", "properties": { "objectType": { "description": "Object Type. e.g. Lead", "type": "string", "example": "Contact", "enum": [ "Contact", "User", "Lead" ] }, "objectId": { "description": "Object ID", "type": "string", "example": "0013601230sV7grAAC" }, "fields": { "description": "Object fields", "type": "array", "items": { "$ref": "#/components/schemas/PartyContextField" } }, "timing": { "description": "Timing of object", "type": "string", "enum": [ "Now", "TimeOfCall" ] } } }, "occurrences": { "type": "object", "properties": { "startTime": { "description": "The number of seconds from the beginning of the call when the tracker phrase was captured.", "type": "number", "format": "double", "example": 32.56 }, "speakerId": { "description": "Unique ID of the speaker in the call who said the tracker term. Same as the speakerID in the \"parties\" field and in the transcript.", "type": "string", "example": "234599484848423" } } }, "trackerPhrases": { "type": "object", "properties": { "count": { "description": "The number of times this phrase was mentioned in the call.", "type": "integer", "format": "int32", "example": 5 }, "occurrences": { "description": "Lists when each keyword tracker phrase was mentioned in the call.", "type": "array", "items": { "$ref": "#/components/schemas/occurrences" } }, "phrase": { "description": "The specific phrase within the tracker (e.g., Walmart).", "type": "string", "example": "Walmart" } } }, "CallOutlineItem": { "type": "object", "properties": { "text": { "description": "The text of this section item.", "type": "string" }, "startTime": { "description": "The starting time of this section item, in seconds from the start of the call.", "type": "number", "format": "double" } } }, "CallHighlightsItem": { "type": "object", "properties": { "text": { "description": "The text of the highlights section item.", "type": "string" }, "startTimes": { "description": "List of starting times of the highlights section item, in seconds from the start of the call.", "type": "array", "items": { "type": "number", "format": "double" } } } }, "PartyContextField": { "description": "External object data", "type": "object", "properties": { "name": { "description": "Field name. All custom fields are supported.", "type": "string", "example": "name" }, "value": { "description": "Object value", "type": "object", "example": "Gong Inc." } } } } } } ````