Gong API for searching calls, transcripts, and conversation intelligence. Use when working with Gong call recordings, sales conversations, transcripts, meeting data, or conversation analytics. Supports listing calls, fetching transcripts, user management, and activity stats.
Overall
score
92%
Does it follow best practices?
Validation for skill structure
Access Gong conversation intelligence - calls, transcripts, users, and analytics.
Store credentials in ~/.config/gong/credentials.json:
{
"base_url": "https://us-XXXXX.api.gong.io",
"access_key": "YOUR_ACCESS_KEY",
"secret_key": "YOUR_SECRET_KEY"
}Get credentials from Gong: Settings → Ecosystem → API → Create API Key.
GONG_CREDS=~/.config/gong/credentials.json
GONG_BASE=$(jq -r '.base_url' $GONG_CREDS)
GONG_AUTH=$(jq -r '"\(.access_key):\(.secret_key)"' $GONG_CREDS | base64)
curl -s "$GONG_BASE/v2/endpoint" \
-H "Authorization: Basic $GONG_AUTH" \
-H "Content-Type: application/json"curl -s "$GONG_BASE/v2/users" -H "Authorization: Basic $GONG_AUTH" | \
jq '[.users[] | {id, email: .emailAddress, name: "\(.firstName) \(.lastName)"}]'curl -s -X POST "$GONG_BASE/v2/calls/extensive" \
-H "Authorization: Basic $GONG_AUTH" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"fromDateTime": "2025-01-01T00:00:00Z",
"toDateTime": "2025-01-31T23:59:59Z"
},
"contentSelector": {}
}' | jq '{
total: .records.totalRecords,
calls: [.calls[] | {
id: .metaData.id,
title: .metaData.title,
started: .metaData.started,
duration_min: ((.metaData.duration // 0) / 60 | floor),
url: .metaData.url
}]
}'curl -s -X POST "$GONG_BASE/v2/calls/transcript" \
-H "Authorization: Basic $GONG_AUTH" \
-H "Content-Type: application/json" \
-d '{"filter": {"callIds": ["CALL_ID"]}}' | \
jq '.callTranscripts[0].transcript[] | "\(.speakerName // "Speaker"): \(.sentences[].text)"' -rcurl -s -X POST "$GONG_BASE/v2/calls/extensive" \
-H "Authorization: Basic $GONG_AUTH" \
-H "Content-Type: application/json" \
-d '{
"filter": {"callIds": ["CALL_ID"]},
"contentSelector": {"exposedFields": {"content": true, "parties": true}}
}' | jq '.calls[0]'curl -s -X POST "$GONG_BASE/v2/stats/activity/aggregate" \
-H "Authorization: Basic $GONG_AUTH" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"fromDateTime": "2025-01-01T00:00:00Z",
"toDateTime": "2025-01-31T23:59:59Z"
}
}'| Endpoint | Method | Use |
|---|---|---|
/v2/users | GET | List users |
/v2/calls/extensive | POST | List/filter calls |
/v2/calls/transcript | POST | Get transcripts |
/v2/stats/activity/aggregate | POST | Activity stats |
/v2/meetings | GET | Scheduled meetings |
Responses include cursor for pagination:
{"records": {"totalRecords": 233, "cursor": "eyJ..."}}Include cursor in next request: {"cursor": "eyJ..."}
# Last 7 days
FROM=$(date -v-7d +%Y-%m-%dT00:00:00Z 2>/dev/null || date -d "7 days ago" +%Y-%m-%dT00:00:00Z)
TO=$(date +%Y-%m-%dT23:59:59Z)2025-01-15T00:00:00Z)If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.