Gong
Run a workflow when a Gong call is recorded and processed — to summarize the conversation, sync it to your CRM, or flag calls that match a pattern. The call data becomes the workflow's input.
For behavior shared by every provider (the delivery URL, testing), see the webhook triggers reference.
Setup
Gong has no create-webhook API — you wire it up in Gong once, by hand:
- Add a From an app trigger and pick Gong. Cotera generates a delivery URL with an authentication token embedded in it.
- In Gong, go to Company Settings → Automation Rules, create a rule with the Fire webhook action, and paste Cotera's full URL (token included).
- Set the rule's filters — deal stage, participants, call type, and so on. That filtering happens on the Gong side; the trigger runs for every call the rule fires on.
No Gong account needs to be connected in Cotera, and there's nothing to tear down — remove the automation rule in Gong to stop deliveries.
Event
| Event key | Fires when |
|---|---|
call.processed | A call matching your Gong automation rule is processed and its data is ready |
There's a single event; per-call filtering lives in the Gong rule, not the trigger.
Payload
Gong POSTs the { callData, isTest } envelope; it's passed straight through as the workflow input:
{
"callData": {
"metaData": {
"id": "7782342274025502000",
"url": "https://app.gong.io/call?id=7782342274025502000",
"title": "Acme <> Cotera | Discovery",
"scheduled": "2023-07-15T10:30:00Z",
"started": "2023-07-15T10:31:00Z",
"duration": 1800,
"direction": "Inbound",
"scope": "External",
"media": "Video",
"language": "eng"
},
"context": [
{
"system": "Salesforce",
"objects": [
{
"objectType": "Opportunity",
"objectId": "0060000000000000",
"fields": [{ "name": "name", "value": "Acme - New Business" }]
}
]
}
],
"parties": [
{
"name": "Jamie Rep",
"emailAddress": "rep@cotera.co",
"title": "Account Executive",
"affiliation": "Internal"
},
{
"name": "Alex Buyer",
"emailAddress": "buyer@acme.com",
"title": "VP Engineering",
"affiliation": "External"
}
]
},
"isTest": false
}
| Field | Description |
|---|---|
callData.metaData | Call identity and metadata: id, url, title, timing, direction, media, language. |
callData.context | Linked CRM records (e.g. the Salesforce opportunity), as configured in Gong. |
callData.parties | Participants with name, email, title, and internal/external affiliation. |
isTest | true when Gong sends a test delivery from the rule editor. |
Authentication
Gong doesn't sign deliveries. Instead, the delivery URL carries a Cotera-generated token (?cotera_webhook_token=…), which is why you paste the whole URL into the Gong rule unchanged. Cotera timing-safe compares that token against the trigger's secret on every delivery and rejects anything that doesn't match. Treat the URL like a secret.