Your sales team is having dozens of conversations every week with prospects and customers. They're hearing objections, feature requests, competitive comparisons, and buying signals—the raw material product marketers dream about.
But here's the problem: it's all locked inside Gong.
Sure, you could listen to calls one by one. You could search for keywords and hope you catch the important stuff. But let's be honest—you have 200 calls from last quarter, and each one is 30 to 45 minutes long. That's 100+ hours of audio. Nobody has that kind of time.
What if you could extract exactly the insights you need—FAQs, objections, competitive intel, feature requests—from every single call, without listening to any of them?
That's what this guide is about. I'll walk you through a reusable framework that pulls transcripts from Gong, uses AI to extract whatever you define, and outputs structured data you can actually analyze. Same framework, different prompts, endless use cases.
Why Manual Gong Analysis Breaks Down
Let's start with the math.
Say you want to understand what objections prospects raised in Q4. You've got 150 calls. Even if you only sample 20% of them, you're looking at 30 calls × 35 minutes = 17+ hours of listening. And that's assuming you don't rewind, take notes, or get distracted.
Now multiply that by every question product marketing gets asked: What competitors are coming up? What features do prospects ask about? What's the sentiment among enterprise vs. mid-market buyers?
The manual approach doesn't scale. And Gong's built-in search, while useful, only gets you so far—keyword matching misses context, and you still have to review each result individually.
There's a better way.
The Framework: 4 Steps to Scalable Insight Extraction
Here's the core idea: instead of you listening to calls, you let AI do the extraction—at scale, consistently, and based on exactly what you want to learn.
This isn't a one-time script. It's a reusable framework where the prompt defines what you extract. FAQs today, competitive intel tomorrow, onboarding feedback next week.
The workflow has four steps:
- Fetch — Pull transcripts from Gong's API for any date range
- Extract — AI analyzes each transcript using your custom prompt
- Structure — Output a clean JSON file with consistent schema
- Analyze — Query the data conversationally via Claude or ChatGPT
Let's walk through each one.
Step 1: Pull Transcripts from Gong's API
The first step is getting the raw material—transcripts from Gong.
Gong has an API that lets you fetch call data programmatically. You provide a date range (say, January 1 to March 31), and the script pulls every call from that period.
What you need:
- Gong API credentials (access key and secret key)
- A date range to query
What you get:
- Full transcript text for each call
- Basic call metadata (title, duration, recording URL)
No manual exports. No downloading files one by one. The script handles it all and feeds transcripts directly into the next step.
Step 2: AI Extracts Metadata and Insights
This is where the magic happens.
Each transcript gets sent to OpenAI's Batch API with a detailed prompt you define. The AI reads the entire conversation and extracts two types of information:
Extract Metadata (for Segmentation)
These are the dimensions that let you slice your analysis later:
- Industry or vertical — Healthcare, fintech, manufacturing, etc.
- Buyer titles and personas — HR Director, VP of People, CHRO
- Sales stage — Discovery, demo, negotiation, closed-lost
- Company size — SMB, mid-market, enterprise
- Competitors in play — Who else is the prospect evaluating?
Why does this matter? Because "What are the top objections?" is a different question than "What are the top objections from enterprise healthcare prospects in late-stage deals?" Metadata lets you answer both.
Extract Insights (Your Custom Prompt)
This is where the framework becomes infinitely flexible. Your prompt defines exactly what to extract:
- FAQs and objections — Every question prospects asked, categorized by theme
- Competitive intel — What they're comparing you to, what they liked or didn't like about alternatives
- Feature requests — Capabilities prospects asked for that you may or may not have
- Deal risks and blockers — Red flags, concerns, hesitations
- Sentiment analysis — How prospects felt about specific topics
- Anything else you can describe — The AI will extract whatever you tell it to
The key insight: the prompt is the framework's lever. Same infrastructure, different prompts, completely different outputs.
For example, one prompt might focus on extracting FAQs with categorization (strategic vs. tactical questions). Another might focus purely on competitive mentions with context. A third might extract action items and next steps from customer success calls.
You define the structure, the AI fills it in—consistently, across hundreds of calls.
Step 3: Structured JSON Output
After the AI processes each transcript, you get a structured JSON file where every call follows the same schema.
Here's why that matters:
Consistent structure — Every call has the same fields in the same format. No more inconsistent notes or varying levels of detail.
Pre-categorized data — The AI already sorted insights into the buckets you defined. Questions are tagged by theme. Sentiment is labeled. Competitors are listed.
Fully segmentable — Because you captured metadata like industry, persona, and deal stage, you can filter and slice the data any way you want.
Traceable to source — Every insight links back to the original Gong recording. Found an interesting objection? Click through to hear the exact context.
The JSON file becomes your single source of truth—a structured dataset of voice-of-customer insights you can query, filter, and analyze.
Step 4: Analyze via Chat Interface
Here's where it gets fun.
Take that JSON file and upload it to Claude or ChatGPT. Now you can have a conversation with your data.
Instead of writing SQL queries or building dashboards, you just ask questions in plain English:
- "What are the top 5 objections from enterprise prospects?"
- "Show me every mention of [Competitor X] and what prospects said about them."
- "What features did healthcare buyers ask about most?"
- "Summarize the main concerns from deals we lost in Q4."
- "What patterns do you see among prospects who mentioned budget constraints?"
Because the data is structured and segmented, the AI can slice it any way you ask. Industry breakdown? Done. Comparison by deal stage? Easy. Trends over time? Just ask.
This is the human‑in‑the‑loop step—you guide the analysis, drill into what matters, and extract the specific insights you need.
How to Extract Insights from the JSON File
Once you have your structured JSON file, the real work begins. Here's how to turn that raw data into actionable insights.
Upload and Orient the AI
Start by uploading the JSON file to Claude or ChatGPT. Give the AI context about what it's looking at:
"This JSON file contains extracted insights from 200 sales calls. Each call includes metadata (industry, buyer persona, deal stage, company size) and extracted insights (questions, objections, competitors mentioned, sentiment). Help me analyze this data."
The AI will parse the structure and be ready to answer questions.
Start with High-Level Patterns
Begin broad, then drill down:
- "Give me a summary of the most common themes across all calls."
- "What are the top 10 most frequently asked questions?"
- "Which competitors are mentioned most often?"
- "What's the overall sentiment breakdown across all calls?"
This gives you a landscape view before you zoom in.
Segment by Metadata
This is where your extracted metadata pays off. Slice the data by any dimension you captured:
By industry:
- "What objections come up most often in healthcare deals?"
- "How do fintech prospects' concerns differ from manufacturing?"
By persona:
- "What do CHROs ask about that HR Directors don't?"
- "Show me questions specific to VP-level buyers."
By deal stage:
- "What are the top concerns in late-stage negotiations?"
- "How do discovery call questions differ from demo calls?"
By company size:
- "What do enterprise prospects worry about that mid-market doesn't?"
- "Are there feature requests unique to SMB buyers?"
Look for Patterns and Trends
Ask the AI to find connections you might miss:
- "Are there any patterns between industry and competitor mentions?"
- "Do certain objections correlate with specific deal stages?"
- "Which concerns appear together most frequently?"
- "What questions do prospects ask right before deals stall?"
Generate Specific Outputs
Once you've identified interesting patterns, ask for deliverables:
For sales enablement:
- "Create a list of the top 20 FAQs with suggested answers based on how our reps responded."
- "Build an objection-handling guide organized by objection category."
For competitive intelligence:
- "Summarize everything prospects said about [Competitor X] — likes, dislikes, and comparison points."
- "Create a competitive battle card based on these mentions."
For product marketing:
- "List all feature requests, grouped by how often they were mentioned."
- "What language do prospects use to describe their problems? Give me exact quotes."
For leadership:
- "Summarize the top 5 deal risks we're seeing across the pipeline."
- "What are the most common reasons prospects hesitate to move forward?"
Export and Share
Ask the AI to format insights for sharing:
- "Put the top 10 objections in a table with frequency counts and suggested responses."
- "Create a bullet-point summary I can share with the product team."
- "Format the competitive insights as a one-pager for the sales team."
Iterate and Refine
The conversation is iterative. If an insight is interesting, dig deeper:
- "Tell me more about the security concerns — what specifically are prospects worried about?"
- "For the deals where [Competitor X] was mentioned, what was the outcome?"
- "Show me the exact quotes from prospects who mentioned pricing as a concern."
The structured data makes this possible. Without it, you'd be searching through hundreds of hours of recordings. With it, you're having a conversation with your entire call library.
Real Use Cases for Product Marketers
So what can you actually do with this framework? Here are a few examples:
Build a Data-Driven FAQ Page
Extract every question prospects asked across 200+ calls. Categorize them by theme. Identify the top 20 most frequent questions. Use the AI-generated FAQ-style answers as a starting point for your website content.
Create Objection-Handling Guides for Sales
Pull all objections and concerns, grouped by category (pricing, competition, implementation, security). Document how your top reps handled each one. Turn it into a playbook for the rest of the team.
Identify Feature Gaps by Persona
Filter feature requests by buyer title. What do HR Directors ask for vs. CHROs? What do enterprise buyers need that mid-market doesn't? Feed this into your product roadmap discussions.
Track Competitive Mentions Over Time
Extract every competitor mention with context. See which competitors come up most often, what prospects like about them, and what concerns they have. Track whether competitive pressure is increasing or decreasing quarter over quarter.
Inform Messaging and Positioning
Analyze how prospects describe their problems in their own words. What language do they use? What outcomes do they care about? Use this to sharpen your positioning and make your messaging resonate.
Example: Adapting the Prompt for Competitive Intelligence
The power of this framework is that the prompt is the lever. Change the prompt, change what you extract. Let's walk through a concrete example: competitive intelligence.
The Default FAQ Prompt vs. a Competitive Intel Prompt
The original prompt I built focuses on extracting prospect questions and objections. But what if you want to track what competitors are coming up in deals and what prospects are saying about them?
You don't need to rewrite the script. You just need a different prompt.
A Competitive Intelligence Prompt
Here's an example prompt you could use:
# MISSION
Act as a Competitive Intelligence Analyst. Your goal is to extract every mention of competitors from this sales call transcript and capture the full context around each mention.
# WHAT TO EXTRACT
## Competitor Mentions
For each competitor mentioned, capture:
- Competitor name
- Who mentioned them (prospect or seller)
- Direct quote or paraphrase of what was said
- Context: Why did this competitor come up?
- Sentiment: Positive, negative, or neutral toward the competitor
- Comparison point: What specific aspect was being compared (pricing, features, support, etc.)
## Prospect's Evaluation Status
- Is the prospect actively evaluating this competitor?
- Have they used this competitor before?
- Are they currently a customer of this competitor?
## Competitive Positioning Opportunities
- What did the prospect say they liked about competitors?
- What concerns or complaints did they have about competitors?
- What gaps or unmet needs did they mention?
# OUTPUT FORMAT
Return a JSON object with this structure:
{
"company": "[Prospect Company]",
"competitors_discussed": [
{
"competitor_name": "",
"mention_count": 0,
"evaluation_status": "active | past | current_customer | mentioned_only",
"mentions": [
{
"speaker": "prospect | seller",
"quote": "",
"context": "",
"sentiment": "positive | negative | neutral",
"comparison_point": ""
}
],
"prospect_likes": [],
"prospect_concerns": [],
"positioning_opportunity": ""
}
],
"no_competitor_mentioned": true | false,
"summary": ""
}
What This Gives You
Run this prompt across 200 calls, and you get:
- A ranked list of competitors by mention frequency — Who's coming up most often?
- Sentiment breakdown by competitor — Are prospects speaking positively or negatively about each one?
- Specific comparison points — What features, pricing, or capabilities are being compared?
- Positioning opportunities — Direct from prospects' mouths, what do they wish competitors did better?
- Evaluation status tracking — Are competitors showing up more in early-stage or late-stage deals?
From Raw Data to Actionable Intelligence
Once you have the structured JSON, upload it to Claude and ask:
- "Which competitor is mentioned most often in enterprise deals?"
- "What do prospects like about [Competitor X] that we should address in our messaging?"
- "Show me all the negative things prospects said about [Competitor Y]."
- "What comparison points come up most frequently?"
- "Are there patterns in which competitors show up at different deal stages?"
You can build competitive battle cards, update your sales enablement materials, or feed insights directly into product positioning—all based on what prospects actually said in real conversations.
The Framework Stays the Same
Notice what didn't change:
- The Gong API connection
- The OpenAI Batch API integration
- The JSON output structure
- The chat-based analysis workflow
The only thing that changed was the prompt. That's the beauty of this framework—it's infinitely adaptable. FAQs, competitive intel, feature requests, deal risks, customer success health scores... same infrastructure, different instructions.
What You'll Need to Get Started
This framework requires a few pieces:
- Gong API access — You'll need API credentials from your Gong admin
- OpenAI API key — For the Batch API that processes transcripts
- A Python environment — The script runs locally or on a server
- A custom prompt — Define exactly what you want to extract
The good news? You don't need to be a developer to build this. I built the entire script using an AI coding agent, and you can too.
How to Get Your API Keys
Before you can build the framework, you'll need API credentials for both Gong and OpenAI. Here's how to get them:
Getting Your Gong API Credentials
Gong's API requires an access key and secret key. You'll need admin access or help from your Gong admin to set this up.
- Log into Gong as an admin and go to Company Settings → Ecosystem → API (or go directly to gong.app.gong.io/settings/api)
- Click Create API Key (or ask your admin to create one for you)
- Give it a descriptive name like "Insight Extractor Script"
- Set the appropriate permissions — you'll need access to:
- Calls — to fetch call metadata
- Transcripts — to retrieve the actual conversation text
- Copy both the Access Key and Secret Key — store them securely (you won't be able to see the secret key again)
For detailed API documentation, see the Gong API Reference.
Note: Gong API access may require an enterprise plan or specific add-on. Check with your Gong account rep if you don't see the API option in your settings.
Getting Your OpenAI API Key
OpenAI's API is pay‑as‑you‑go, and the Batch API offers up to 50% cost savings for non‑time‑sensitive workloads like this.
- Go to platform.openai.com/api-keys and sign in (or create an account)
- Click Create new secret key
- Give it a name like "Gong Insight Extractor"
- Copy the key immediately — you won't be able to see it again
- Add a payment method under Billing if you haven't already
Cost estimate: GPT-4o-mini via the Batch API costs roughly $0.075 per 1M input tokens and $0.30 per 1M output tokens. For a typical 30-minute call transcript (~5,000 tokens), you're looking at less than $0.01 per call. Processing 500 calls might cost $3–$5 total. See OpenAI's pricing page for current rates.
Storing Your Keys Securely
Never hardcode API keys in your script. Instead, use environment variables:
export GONG_ACCESS_KEY='your-access-key'
export GONG_SECRET_KEY='your-secret-key'
export OPENAI_API_KEY='your-openai-key'
Or use a .env file that your script loads at runtime. Your AI coding agent can help you set this up properly.
How to Build This Yourself (Using an AI Coding Agent)
Here's the part that might surprise you: I'm not an engineer. I built this framework using an AI coding agent—a tool that lets you describe what you want in plain English and generates the code for you.
Tools like Cursor or Claude Code can write, debug, and iterate on code based on your instructions. You don't need to know Python syntax. You just need to know what you want the script to do.
Here's how to get started:
Step 1: Set Up Your Environment
Open Cursor (or your AI coding agent of choice) and start a new project. Tell it:
"I want to build a Python script that connects to the Gong API, fetches call transcripts for a date range, sends each transcript to OpenAI's Batch API with a custom prompt, and saves the results to a JSON file."
The agent will scaffold the project structure, suggest dependencies, and start writing the code.
Step 2: Connect to Gong's API
Ask the agent to help you authenticate with Gong:
"Help me connect to the Gong API using an access key and secret key. I want to fetch all calls between two dates and get their transcripts."
It will generate the API client code, handle pagination, and structure the data. If you hit errors, just paste them back and ask for fixes.
Step 3: Design Your Extraction Prompt
This is the creative part—and it's all you. Write a prompt that tells the AI exactly what to extract. For example:
"Act as a Senior Sales Strategist. For each transcript, extract: (1) the prospect company name, (2) all speakers and their titles, (3) every question the prospect asked, categorized as Strategic or Tactical, (4) competitors mentioned, (5) integrations discussed, and (6) the prospect's primary motivation and biggest concern."
Test your prompt on a few transcripts manually (via ChatGPT or Claude) before baking it into the script.
Step 4: Wire Up OpenAI's Batch API
Tell your coding agent:
"I want to send each transcript to OpenAI's Batch API using GPT-4o-mini. The prompt should include my extraction instructions. Save the results as structured JSON."
The agent will handle the batch submission, polling for completion, and parsing the results. The Batch API documentation has examples you can reference.
Step 5: Iterate and Refine
Run the script on a small batch of calls. Review the output. If the extraction isn't quite right, refine your prompt and try again. The code stays the same—you're just tuning the instructions.
Why This Approach Works
You don't need to learn Python. You don't need to understand API authentication. You just need to:
- Describe what you want — The AI writes the code
- Design a good prompt — This is where your domain expertise matters
- Review and iterate — Test, refine, repeat
The AI coding agent handles the technical complexity. You focus on the "what" and the "why."
This is how I built the framework in a few hours, not weeks. And if I can do it, so can you.
The Bottom Line
Product marketers are sitting on a goldmine of customer insights. The problem isn't access—it's scale.
You can't listen to every call. You can't manually review every transcript. But with the right framework, you don't have to.
Pull transcripts from Gong. Define what you want to extract. Let AI do the heavy lifting. Analyze the structured output conversationally.
Same framework, different prompts, endless use cases. FAQs, objections, competitive intel, feature requests—whatever you need to know is already in your Gong recordings. You just need a way to get it out.
Resources & Links
Everything you need to get started:
AI Coding Agents
- Cursor — AI-powered code editor
- Claude Code — Anthropic's coding agent
APIs & Documentation
- Gong API Settings — Create your API keys
- Gong API Documentation — Full API reference
- OpenAI API Keys — Generate your OpenAI key
- OpenAI Batch API Guide — How the Batch API works
- OpenAI Pricing — Current API rates
Chat Interfaces for Analysis
Want to see how this works in practice? Reach out to learn more about how we're using this framework to extract voice-of-customer insights at scale.