Conversation Intelligence for Sales Teams: A Builder's Playbook
How to build a conversation intelligence product for sales teams using a meeting transcription API — from call capture to coaching insights.
Gregnote Team
24 July 2026
What conversation intelligence tools do
The best-known conversation intelligence tools — Gong, Chorus, Salesloft — all do the same thing at their core: they join sales calls, record and transcribe them, and surface patterns that help managers coach reps and help reps improve.
If you're building in the sales tech space, you can build equivalent capabilities on top of a meeting transcription API.
The data you need
For a sales coaching tool, you need from every call:
- Full transcript with speaker labels — who said what
- Talk time per participant — what percentage of the call did the rep speak vs the prospect?
- Keyword tracking — did the rep mention pricing? Competitors? The specific pain points they were supposed to address?
- Sentiment — did the call end positively?
A Gregnote webhook gives you the first three directly. Sentiment and keyword analysis are an LLM call away.
Computing talk ratio
function talkRatio(segments, repName) {
let repSeconds = 0, totalSeconds = 0;
for (const seg of segments) {
const dur = seg.end - seg.start;
totalSeconds += dur;
if (seg.speaker === repName) repSeconds += dur;
}
return { rep: repSeconds / totalSeconds, prospect: 1 - repSeconds / totalSeconds };
}Best-in-class sales calls typically have the rep speaking less than 45% of the time. Surface this number per rep, per week.
Keyword tracking
const KEYWORDS = ["pricing", "contract", "competitor", "timeline", "budget", "next steps"];
function trackKeywords(segments, keywords) { const counts = Object.fromEntries(keywords.map(k => [k, 0])); for (const seg of segments) { for (const kw of keywords) { if (seg.text.toLowerCase().includes(kw)) counts[kw]++; } } return counts; } ```
Coaching alerts
Send a Slack message to a manager when a call's talk ratio is outside the target range, or when a rep didn't mention pricing on a call that lasted over 30 minutes:
if (ratio.rep > 0.6) {
await notifyManager(`${repName} talked 60%+ on a ${durationMin}min call with ${prospectName}`);
}What you've built
With a Gregnote webhook, a few analytics functions, and a notification channel, you have the core of a conversation intelligence product: call capture, transcript storage, talk ratio analysis, keyword tracking, and automated coaching alerts. The data quality — speaker labels, accurate transcription, reliable webhook delivery — is the foundation everything else rests on.
Try it yourself
API key in 30 seconds. Free credit on sign-up. No card required.