20-Minute Customer Call Triage Agent: Full Recipe
Drop this into your agent stack today. Stack is whatever you already use for transcripts plus Claude with the customer-call-notes skill (or any general-purpose LLM with a tight system prompt). Outp...
From this piece
The template
20-Minute Customer Call Triage Agent: Full Recipe
Drop this into your agent stack today. Stack is whatever you already use for transcripts plus Claude with the customer-call-notes skill (or any general-purpose LLM with a tight system prompt). Output goes to whatever discovery ledger you already keep.
Part 1: The Brief File
Before you run the agent, write a short brief file (50-150 words). The agent reads it as context before processing the transcript. Without the brief, the agent reverts to generic synthesis.
# Brief: [Customer Name], [Date of Call]
## Account context
- Tier: [Enterprise / Mid-market / SMB]
- Stage: [New / Active / Renewal coming / At risk]
- Champion: [Name, role]
- Last meaningful interaction: [date, what happened]
## Product context
- What we are currently considering shipping:
1. [Bet one, one sentence]
2. [Bet two, one sentence]
3. [Bet three, one sentence]
## What I want from this call
[One sentence, specific. Not "everything." Something like: "I want to know whether the bulk-export friction is real enough to justify a prototype this sprint."]
The brief is reusable. Keep one brief file per account. Update it after every call.
Part 2: The System Prompt
You are a customer call triage agent. Your job is to take a transcript of a customer call and produce four structured outputs.
CONTEXT:
- You will be given a brief file describing the customer, the product context, and what the PM wants from the call.
- You will be given a call transcript (with speaker labels if available).
YOUR OUTPUTS (return all four in a single response, in this exact order):
1. VERBATIM QUOTE BANK
- 8 to 15 quotes from the customer.
- Verbatim, not paraphrased. If you cannot find a verbatim quote, do not include it.
- Each quote includes the timestamp (if available) and a one-line tag describing the topic.
- Organize by topic, not by chronological order.
2. THEME ROLLUP
- 3 to 5 themes the call surfaced.
- Name each theme as a noun phrase, not a category. Example: "Bulk export friction blocking weekly reporting" not "Product feedback."
- For each theme, include: frequency (number of quotes), confidence (how clear the customer was: low / medium / high), and which active bet (from the brief) it connects to (if any).
3. RECOMMENDED NEXT ACTION
- One sentence.
- Concrete enough to put on the PM's calendar this week.
- Bad action: "Follow up with the customer." "Investigate further." "Schedule a deep-dive."
- Good action: "Ship a 90-minute prototype of the bulk-export flow and send it to [champion name] by Thursday."
- If you cannot produce a concrete action, say "No action recommended" and explain why in one sentence.
4. DISCOVERY LEDGER ROW
- A single row formatted for the PM's discovery ledger.
- Columns: Account | Date | Themes (comma-separated) | Top quote | Confidence | Linked bet | Owner | Next action | Action deadline
- Use the data from outputs 1, 2, and 3.
SELF-CHECK BEFORE YOU RETURN:
- Are all quotes verbatim? (If you paraphrased, replace with verbatim.)
- Do the theme names read as specific patterns, not generic categories?
- Is the recommended action specific enough that the PM could put it on the calendar?
- If any of these fail, fix before returning.
Return all four outputs. Do not include preamble or commentary.
Part 3: The User Prompt
Two parts. The brief file, then the transcript.
<brief>
[Paste brief file here]
</brief>
<transcript>
[Paste transcript here]
</transcript>
That's it. Send.
Part 4: The Eval Rubric
Run this on the first 10 calls. Then weekly.
| Check | What good looks like | Threshold |
|---|---|---|
| Quote accuracy | Pick 3 quotes, find them at the timestamp in the transcript, verbatim | 95% verbatim across 10 calls |
| Theme legibility | Show theme names to a senior PM who didn't sit on the call. They can describe what the customer cares about in 30 seconds. | Passes on 8 of 10 calls |
| Action specificity | The action could be put on a calendar this week with no further interpretation | 100% (rewrite any vague action) |
Below threshold on any check, re-tune the system prompt or change the model.
Part 5: The Batch Run Recipe
For clearing a backlog of unprocessed calls (the highest-ROI use).
- Export all unprocessed transcripts to a folder.
- Generate or update brief files for each account represented.
- Run the agent on each transcript with its matching brief.
- Read only the recommended actions and the theme rollups. Skip quote banks for now.
- Cluster themes across calls. Pull the 3 to 5 themes that recur most.
- Pick the highest-recurring theme. Ship a prototype against it within the week.
Time budget for a 40-call backlog: 90 seconds per call agent runtime (60 minutes total), plus roughly 5 minutes per call of recommended-action review (3.3 hours), plus 30 minutes of cross-call theme clustering. Total: about 4 hours of human time.
Part 6: Common Failure Modes
- Cross-talk in the transcript. Use a transcript tool with speaker diarization (Otter, Fireflies, Gong). Verify speaker labels before running.
- Customer diplomacy taken at face value. The agent will tag "we'd love to use it more" as a positive signal. The PM has to know it usually means "we are not using it much." Add an instruction to the system prompt: "When the customer is being diplomatic, flag the underlying signal, not the surface statement."
- Generic theme names. If themes come back as "product feedback" or "feature request," your brief is too thin. Add specifics about active bets and recent decisions.
- Vague actions. If you keep getting "investigate further," add to the system prompt: "If you cannot produce a concrete action, say 'No action recommended' and explain why in one sentence." This is better than a vague action that looks like progress.
Part 7: Discovery Ledger Schema (Sample)
| Account | Date | Themes | Top quote | Confidence | Linked bet | Owner | Next action | Deadline |
|-------------|------------|-------------------------------------------|----------------------------------------------------------|------------|--------------------|-------|--------------------------------------------------------------------------|------------|
| Acme Corp | 2026-05-27 | Bulk export friction, Slow Monday rollup | "We export every Monday morning and it takes 40 minutes." | high | bulk-export-v2 | Falk | Ship 90-min prototype of bulk-export flow, send to Sarah by Thursday | 2026-05-30 |
Use this schema or whatever your team uses. The point is that the agent's last output drops into the row without re-typing.
That's the recipe. The agent is 90 seconds. The brief is reusable. The eval is three checks. The batch run is the afternoon that pays for the whole stack.