enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 stars)
- PR merge metrics
- (Avg merge 3h 2m) (10 merged PRs in 30d)
Description
Description
Add Gong integration to sync call recordings, transcripts, deal intelligence, and user activity into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/github/- OAuth-based integrationintegrations/linear/- For referenceintegrations/slack/- Similar communication platform patterns
Required Files Structure
integrations/gong/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Gong API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Gong API Integration
OAuth Setup
- Use OAuth 2.0 (Authorization Code Grant) per RFC 6749
- Base URL:
https://api.gong.io/v2/(varies per customer - useapi_base_url_for_customer) - Authorization URL:
https://app.gong.io/oauth2/authorize - Token URL:
https://app.gong.io/oauth2/generate-customer-token - Required scopes (space-delimited):
api:calls:read:basic- Read basic call dataapi:calls:read:extensive- Read detailed call data including transcriptsapi:calls:read:media- Access call media/recordingsapi:users:read- Read user informationapi:stats:user-actions- Read user action statisticsapi:meetings:user:create- Create meetingsapi:crm:read- Read CRM data synced with Gongapi:flows:read- Read Engage flow data
Key Endpoints
POST /v2/calls- List calls (with filters)GET /v2/calls/{id}- Get call detailsPOST /v2/calls/transcript- Get call transcriptsPOST /v2/calls/extensive- Get extensive call dataGET /v2/users- List usersGET /v2/users/{id}- Get user detailsPOST /v2/stats/activity/scorecards- Get scorecard statsPOST /v2/stats/activity/day-by-day- Get daily activity statsPOST /v2/stats/interaction- Get interaction statsPOST /v2/data-privacy/erase- GDPR data erasureGET /v2/flows- List Engage flowsPOST /v2/flows/prospects- Manage flow prospects
Events to Track
-
Calls & Meetings
- New calls recorded
- Call transcripts available
- Call scores and highlights
- Meeting scheduling events
- Speaker talk ratios and engagement metrics
-
User Activity
- Daily activity summaries
- Scorecard completions
- Call coaching interactions
- Team performance metrics
-
Deals & CRM
- CRM data sync events
- Deal stage changes tracked via calls
- Engagement flow assignments
- Prospect interactions
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create Gong API utilities in
utils.ts - Implement sync logic in
schedule.tsusing calls and stats endpoints - Convert Gong events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Gong does NOT support user-level OAuth; authentication happens at a global/organization level.
- The
api_base_url_for_customerreturned during OAuth flow is unique per customer and MUST be used as the base URL for all subsequent API calls. - Most list/search endpoints use POST (not GET) with JSON request bodies for filtering.
- Gong API access requires explicit approval from Gong - you must request API access through their partner program or customer portal.
- Call transcripts can be very large; implement pagination and chunking.
- Rate limits are enforced but specific limits depend on the customer's plan.
- The Engage API (for flows/sequences) was added in 2025 and is a separate set of endpoints.
Resources
- Gong API Documentation
- Create an OAuth App for Gong
- Receive API Access
- Gong Engage API
- Gong API Reference (Swagger)
Labels
enhancement, integration, new-feature