Stop Letting Call Transcripts Rot in Folders
Every client call you've ever had becomes searchable, scoreable, and actually useful. Here's how to set it up.
If you’re recording client calls (you should be), you’re sitting on a goldmine you’re probably not using.
Those transcripts just sit in folders. Maybe someone skims them for notes. Most of the time, they’re forgotten the moment the call ends.
Here’s the thing: stick them in a vector database and suddenly you can ask questions like:
- “What objections came up in sales calls this quarter?”
- “Score each call against our discovery framework—did they cover budget, timeline, decision makers?”
- “What has this client said about their technical requirements across all our conversations?”
- “What open items did we promise to follow up on?”
Account handoffs become painless. When someone’s on holiday, the backup doesn’t need a 30-minute briefing—they can just ask the system.
Call notes get better too. You stop logging things that were already discussed, and you stop getting details wrong because someone misremembered.
How to Actually Do This
It’s more accessible than it sounds. Here’s the playbook.
1. Get Your Transcripts Out
You need the raw text. Options:
- Your call platform — Zoom, Meet, Teams all do transcription now. Quality varies.
- Transcription tools — Otter, Fireflies, Grain auto-join and transcribe. Most have export or API access.
- DIY with Whisper — If you have recordings, OpenAI’s Whisper model does excellent transcription. Run it yourself or through an API.
Get them into text files or a database you can work with.
2. Clean Up the Errors
Transcription isn’t perfect. Your company name will be spelled wrong. Industry terms get mangled. Speakers get mixed up.
Before you do anything else, read through 5-10 transcripts manually. Note the patterns:
- How does it misspell your company name?
- What jargon does it consistently get wrong?
- Are there filler words everywhere?
Then give an LLM those specific examples. Not a vague “clean this up” prompt—actual before/after pairs from your transcripts. “When you see ‘Costa Nera’, change it to ‘Costanera’. When you see ‘air table’, it’s ‘Airtable’. Remove ‘um’, ‘uh’, ‘you know’ unless they’re meaningful.”
The LLM will learn your patterns and fix them consistently.
3. Chunk and Embed
Now you’re converting text into vectors—numerical representations that capture meaning, not just keywords.
Don’t embed whole transcripts. They’re too long. Break them into chunks:
- Chunk size: 500-1000 tokens (~400-750 words)
- Overlap: 50-100 tokens between chunks
The overlap matters. If someone asks about something that happens to span two chunks, you’ll still find it.
Where to store:
Embedding models:
Default to OpenAI’s text-embedding-3-large. Works well for most things.
But consider alternatives if:
- You work in a specific language — Spanish-optimized, German-optimized models exist on HuggingFace
- You’re in a specialized domain — legal and medical models perform better on that terminology
- Cost matters — text-embedding-3-small is cheaper and fine for many use cases
4. Attach Metadata
This is the part people skip, and it’s the part that makes everything actually work.
Every chunk should have:
- Client name
- Call date
- Participants
- Call type (sales, support, onboarding, etc.)
Without metadata, you’re searching across everything. With it, you can filter first—then search. That’s how you get reliable answers.
5. Build the Query Interface
The key: filter by metadata first, then semantic search.
2. Extract filter: client = "Acme Corp"
3. Narrow the database to only Acme Corp chunks
4. Semantic search for "timeline concerns" within that subset
5. Pass relevant chunks to LLM for the answer
Pure semantic search gets confused when multiple clients say similar things. Metadata filtering makes it reliable—you’re guaranteed to be looking at the right client before the search even runs.
Build this as whatever you’ll actually use. Slack bot. Internal tool. Simple web app. Doesn’t matter.
What This Unlocks
Sales patterns: “What objections keep coming up in deals we lost?”
Quality control: “Rate how well each call followed our process. Flag the ones below 7.”
Context before calls: “Summarize my last 3 conversations with this client. What did we commit to?”
Contradiction detection: Track what clients say over time. Flag when new information conflicts with something they said before—so you can clarify.
Onboarding support: New team member can get up to speed on any account in minutes instead of hours.
For another example of using AI to utilize existing customer data, check out how we implemented AI on over 11,000 messages to spot dissatisfied customers and reduce churn.
This gets better automatically. Models improve, you swap them in. You can layer on more tools over time.
The transcripts are already being generated. Might as well use them.
Written by
Eduardo Chavez
Director, Costanera