Post-call analysis: query your calls, not just transcripts
Transcript-based post-call analysis can only judge the words. An audio decision model lets you ask questions about the call itself: how it sounded, what was heard, and whether the agent really did what it should.
Post-call analysis is the work you do after the call ends: did it go well, did the agent follow the rules, and what should change? Most tools do it by transcribing the recording and running a text model over the words. That catches a lot, but it can only judge what survived transcription.
This post covers what a transcript-first workflow misses, and how you can query the call audio directly with an audio decision model like Tazo.
What is post-call analysis?
Post-call analysis turns finished calls into answers. Typical jobs include:
- Outcome. Sale, callback, not interested, wrong number.
- QA scoring. Did the agent verify identity, solve the problem and close properly?
- Compliance. Was the required recording notice or disclosure given?
- Customer experience. Was the caller frustrated, confused or happy by the end?
- Follow-ups. Did anyone promise a refund or a callback?
If you run a voice AI agent or a contact center, you probably can’t listen to more than a small sample of calls. Automating these checks is how you get coverage on all of them.
The usual approach: transcribe, then ask a text model
The standard pipeline is simple. Run speech-to-text on the recording, then hand the transcript to an LLM or a text decision model such as Jev and ask your questions. For anything that lives in the words, this works well. “Did the caller ask to cancel?” “Which product did they mention?” A transcript answers those.
We compared Tazo with Jev in more detail in Tazo vs Jev. Short version: Jev decides from text, so it’s only as good as the transcript you feed it.
What a transcript leaves out
A transcript is a flattened copy of the call. Four things go missing, and each one shows up in post-call analysis.
- How it was said. “Fine, that works” can mean agreement or barely held anger. The difference is in pitch, pace and tone, and none of it is in the text. Sentiment scored from words alone will often call that caller satisfied.
- Time. A 40-second silence while the caller waited, an agent that talked over the customer three times, a caller who sighed before answering. The transcript shows none of it.
- Who and what else was there. A second voice in the room, hold music, a voicemail beep, a bad line. Transcripts merge it all into “the caller”.
- What was actually said. STT makes mistakes, especially on names, account numbers and accents. If the transcript says “I agree to the recording” and the audio says something else, the text model will never know.
Any check that depends on one of these is a guess when it’s made from text.
Query the audio instead
Tazo takes the recording itself and a question you write, plus the answers you’ll accept, and returns an answer with a probability. There’s no transcript step in between. The question is an input, so you can ask a different one about the same call without training anything.
You can ask the same three shapes of question as in live calls:
- Yes or no. “Did the agent read the recording disclosure?”
- Pick one. “How did the call end: resolved, escalated, hung up, or voicemail?”
- A score. “How frustrated did the caller sound by the end, from 1 to 5?”
Questions you can ask about a recorded call
Here are seven checks where the audio answers and the transcript can’t.
| Check | Audio hears | Transcript shows |
|---|---|---|
| Satisfaction | Tone at the end | Polite words |
| Interruptions | Talk-over | Separate lines |
| Disclosure | Said clearly | STT’s guess |
| Hold time | Silence, music | Nothing |
| Human or machine | Beep, greeting | Greeting text |
| Speaker change | A second voice | One speaker |
| Call ending | Resolved or upset | “Okay, thanks” |
Each row is a question you write once, for example “Did the agent talk over the caller?”, and run on every recording.
QA on every call
Manual QA usually covers a few percent of calls. With a fixed list of questions, such as identity checked, issue resolved, correct close, you can run the same scorecard on every recording and read the exceptions. Humans can then spend their time on the calls that matter: the low scores and the close calls.
Compliance and disclosures
Some checks have to be about what was heard. Was the notice said? Did the caller clearly agree, or just make a noise? Did the caller read out a card number the agent should not have let them say? Asking the audio avoids relying on a transcript that may have missed or reworded the key sentence.
Sentiment that reflects the caller
Ask for a 1 to 5 frustration score, or pick between calm, confused, annoyed and angry. Because the model hears the voice, it can tell a calm “okay” from a clipped one. Track it across the call to see where the mood turned, not only where it ended.
Outcomes and promises
Label each call: resolved, callback needed, not interested, wrong number. Ask whether the agent committed to something, such as a refund or a follow-up, and flag it so it gets done. For outbound teams, “was there a person on the line, or a voicemail?” cleans up connect rates.
Use the probability to decide what a human reviews
Every answer comes with a probability, so you don’t have to accept every answer as final. Set a different bar for each question:
- Auto-pass above a high score. If the disclosure question comes back at 0.98, no one needs to look.
- Send the middle to a person. A frustration score the model isn’t sure about is exactly the call a reviewer should open.
- Be stricter where a miss is costly. For compliance, send anything below 0.95 to review. For a nice-to-have tag, accept lower.
This only works when the probabilities are calibrated, meaning 0.8 is right about 80% of the time. We explain why in What the heck is an audio decision model?.
Text and audio work well together
This isn’t an either-or choice. If your question is about the words, such as which product was mentioned or what the caller asked for, a text model on the transcript is a fine tool. Keep using it.
Use audio for the questions where how it sounded, when it happened or who said it changes the answer. Many teams will end up running both: text for content, Tazo for everything the transcript can’t carry.
How to start
- Pick the five questions you would ask about a call if you had time to listen to all of them. Start with the ones where a transcript has failed you.
- Write each as a question with a fixed set of answers. “Was the notice read?” Yes or no. “How did it end?” One of four.
- Run them on a batch of calls you’ve already reviewed by hand, and compare.
- Set a threshold per question from that comparison, and route everything below it to a person.
- Add new questions as they come up. A new question is a new option list, not a new model.
Post-call analysis is the same idea as the live call: ask the audio, not only the words. Tazo is built for that, and the same model that makes decisions during the call can review it after.
A transcript tells you what was said. The audio tells you how the call actually went.