Skip to main content
ClaudeWave
Skill235 repo starsupdated 3d ago

gong

Gong provides API access to retrieve sales call recordings, transcripts, user lists, and conversation analytics from Gong's platform. Use this skill when analyzing sales conversations, extracting meeting transcripts, tracking call activity metrics, managing Gong user accounts, or generating insights from recorded customer interactions stored in Gong. Authentication requires locally stored API credentials obtained from Gong's settings panel.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/jdrhyne/agent-skills /tmp/gong && cp -r /tmp/gong/skills/gong ~/.claude/skills/gong
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Gong

Access Gong conversation intelligence - calls, transcripts, users, and analytics.

## Setup

Store credentials in `~/.config/gong/credentials.json`:
```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.

## Authentication

```bash
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"
```

## Safety Boundaries

- Do not print raw access keys, secret keys, or full Authorization headers in chat output.
- Do not call Gong endpoints other than the configured tenant base URL.
- Do not export full transcripts or account data unless the user asked for that exact scope.
- Do not persist Gong credentials anywhere outside the documented local config file.

## Core Operations

### List Users
```bash
curl -s "$GONG_BASE/v2/users" -H "Authorization: Basic $GONG_AUTH" | \
  jq '[.users[] | {id, email: .emailAddress, name: "\(.firstName) \(.lastName)"}]'
```

### List Calls (with date range)
```bash
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
    }]
  }'
```

### Get Call Transcript
```bash
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)"' -r
```

### Get Call Details
```bash
curl -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]'
```

### Activity Stats
```bash
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"
    }
  }'
```

## Endpoints Reference

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

## Pagination

Responses include cursor for pagination:
```json
{"records": {"totalRecords": 233, "cursor": "eyJ..."}}
```

Include cursor in next request: `{"cursor": "eyJ..."}`

## Date Helpers

```bash
# 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)
```

## Notes

- Rate limit: ~3 requests/second
- Call IDs are large integers as strings
- Transcripts may take time to process after call ends
- Date format: ISO 8601 (e.g., `2025-01-15T00:00:00Z`)
auto-updaterSkill

Automatically update OpenClaw and selected skills once daily. Runs via cron, checks for updates, applies them, and messages the user with a summary of what changed.

clawdbot-release-checkSkill

Check for new OpenClaw releases and notify once per new version.

clawddocsSkill

OpenClaw documentation expert with decision tree navigation, search scripts, doc fetching, version tracking, and config snippets for all OpenClaw features

gallery-scraperSkill

Bulk download images from login-protected gallery websites using an attached browser session. Use when asked to scrape, download, or save images from authenticated gallery pages, extract full-size images from thumbnails, or batch download from multi-page galleries.

knowledge-graphSkill

Three-Layer Memory System — automatic fact extraction, entity-based knowledge graph, and weekly synthesis. Manages life/areas/ entities with atomic facts and living summaries.

self-improving-agentSkill

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

skill-syncSkill

Sync skills between local installation and the GitHub source-of-truth repository. Use when asked to install, update, list, or push skills.

todo-trackerSkill

Persistent TODO scratch pad for tracking tasks across sessions. Use when user says "add to TODO", "what's on the TODO", "mark X done", "show TODO list", "remove from TODO", or asks about pending tasks. Also triggers on heartbeat to remind about stale items.