Gong + HubSpot AI Integration
An AI-powered pipeline that transforms Gong call recordings into structured sales intelligence -- automatically populating HubSpot in under 30 seconds.
The Problem
Aptitude 8's sales team was drowning in post-call busywork. After every discovery call recorded in Gong, reps faced a familiar routine:
- Manual note-taking: Summarizing 30-60 minute calls into CRM entries
- MEDDIC qualification: Extracting budget, timeline, decision-makers, and pain points from memory
- Historical research: Digging through past projects to find relevant case studies for follow-up
- Follow-up emails: Writing personalized recaps from scratch
- Stakeholder tracking: Documenting who was on the call and their roles
The real cost wasn't just time -- it was inconsistency. Some calls got detailed notes, others got nothing. MEDDIC fields sat empty. Relevant case studies never surfaced. The intelligence locked in those Gong recordings wasn't making it into the sales process.
The Solution
I built an AI-powered integration that transforms Gong call recordings into structured sales intelligence -- automatically populating HubSpot, finding relevant historical projects, and generating follow-up documentation.
Key design decisions:
-
Hybrid AI architecture. Claude Sonnet 4.5 handles primary analysis (summaries, MEDDIC extraction, stakeholder identification). OpenAI's vector search finds relevant historical projects. The combination outperforms either model alone.
-
Sequential intelligence flow. Raw transcripts make poor search queries -- 450+ lines of conversational noise. Claude first distills the conversation into structured context (industry, systems mentioned, complexity signals), then that context feeds OpenAI's vector search. This approach yields 3-5x more relevant project matches.
-
Multi-destination output. Different stakeholders need different views. HubSpot deal properties get structured data for reporting. HubSpot notes get related projects for quick reference. Google Docs get the full analysis with stakeholder details and follow-up templates.
-
Zero infrastructure costs. Everything runs on Google Apps Script -- no servers, no subscriptions beyond the APIs themselves.
Features at a Glance
- Transcript Analysis -- Executive summary, key topics, pain points, sentiment, and deal health assessment
- MEDDIC Qualification -- Automatic extraction of budget, timeline, ROI, decision criteria, economic buyer, champion, and identified pain
- Project Matching -- Vector search surfaces relevant case studies, resource guides, and client references from past engagements
- Smart Documentation -- Google Docs updated with full analysis, stakeholder details, and follow-up templates
- Follow-up Generation -- Personalized email drafts based on actual conversation content
Tech Stack
| Layer | Technology |
|---|---|
| Platform | Google Apps Script |
| Primary AI | Claude Sonnet 4.5 (analysis, MEDDIC extraction) |
| Secondary AI | OpenAI GPT-4o-mini (vector store search) |
| CRM | HubSpot (deal properties, notes, associations) |
| Call Recording | Gong (webhook integration) |
| Documentation | Google Docs, Google Sheets (logging) |
The beauty of this stack: fully serverless. The entire system runs on infrastructure the team already had access to. Deployment takes minutes, not days.
How It Works
The integration follows a 10-step flow triggered by Gong's webhook:
- Webhook received -- Gong sends call metadata, participant info, and CRM context
- Transcript fetch and preparation -- Call Gong API for full transcript, consolidate consecutive speaker sentences (~28% smaller), map speaker IDs to real names
- Claude primary analysis -- Executive summary, key topics, pain points, MEDDIC qualification extraction, stakeholder identification, follow-up email generation, and structured context for vector search
- OpenAI vector search -- Uses Claude's structured context (not raw transcript) to search project library for relevant case studies, returning 3-5 matches with relevance scores
- HubSpot updates -- Update 15+ deal properties (AI analysis + MEDDIC), create rich HTML note with related projects and clickable links
- Google Docs update -- Append full analysis to client summary document with stakeholder details and native formatting
- Logging -- Record execution to Google Sheets for debugging with full payload capture
Total processing time: 12-30 seconds from call completion to fully populated CRM.
The Hybrid AI Approach
Why two AI models instead of one? Each excels at different tasks.
Claude Sonnet 4.5 handles nuanced analysis:
- Understanding conversational context and subtext
- Extracting structured data from unstructured conversation
- Identifying stakeholders and their roles
- Generating contextually appropriate follow-up content
OpenAI GPT-4o-mini with vector search handles retrieval:
- Semantic search against a library of past projects
- Matching current opportunity context to historical work
- Returning structured results with citations
The key insight: Claude's structured output makes OpenAI's search dramatically better. Instead of searching with a raw 450-line transcript, we search with distilled context -- industry, project type, systems mentioned, complexity signals. This approach yields 3-5x more relevant project matches compared to direct transcript search.
Results
Performance:
- 12-30 seconds end-to-end processing per call
- ~$0.10 cost per analysis (Claude + OpenAI combined)
- 15+ HubSpot properties automatically populated
- 100% consistency in MEDDIC data capture
What gets automated:
- Call summaries that would take 10-15 minutes to write
- MEDDIC qualification that often got skipped
- Project research that required digging through old records
- Follow-up email drafts personalized to the actual conversation
- Stakeholder documentation with roles and involvement levels
Benefits to Aptitude 8
- Time savings -- Reps spend time selling, not documenting
- Consistent qualification -- Every call gets full MEDDIC analysis
- Institutional knowledge -- Past projects surface automatically for new opportunities
- Better follow-ups -- AI-generated emails based on actual conversation content
- Clean CRM data -- Structured properties enable reporting and forecasting
- Zero new subscriptions -- Built on existing Google and HubSpot infrastructure
What I'd Do Differently
If I were starting over, I'd consider:
- Processing status notifications -- A Slack message when analysis completes would close the loop for reps
- Richer vector store -- More historical projects mean better matches; the system improves as the library grows
- Enterprise scaling -- For high-volume teams, PipeDream or Windmill could handle parallel processing and longer timeouts
But the core architecture is solid. Sometimes the best solution is the one that ships and works -- and this one does.