Close & Expand Customer Success Customer SuccessAESales Leadership

QBR Prep on Autopilot: A Claude Agent Fills the Template from Your CRM, Calls, and Tickets

A QBR is supposed to be a conversation about outcomes, and it usually turns into a day of deck-building followed by forty minutes of the customer watching slides. This play fixes the template once, five sections, same order every quarter, and hands the assembly to a Claude agent: it reads the CRM for goals and terms, the call recorder for what the customer actually said, the ticket history and usage export for how the product is really being used, and writes the brief with every claim cited. The CSM spends twenty minutes editing the asks and the expansion angle, then walks in with a document instead of a deck.

StageClose & Expand
Time to buildAn afternoon
DifficultyIntermediate
Best forCustomer Success, AE, Sales Leadership
THE TEMPLATE

The QBR template

Five sections, same order every quarter, two pages. The customer's goals lead. Use it as the outline for a human-built QBR, or save it as templates/qbr.md and let the agent fill it from the CRM, the calls, the tickets, and the usage export.

The five sections, what goes in each, and the rules
01 Outcomes vs goals (lead with this)
  • each goal the customer stated, in their words, with the date and who said it
  • status: achieved / on track / at risk / no data
  • the evidence: a metric and its source, and a direct quote where one exists
02 Adoption
  • weekly active users vs seats purchased, and the trend across the quarter
  • top 3 features used; features purchased and unused
  • named power users; named or counted silent seats
03 Risks
  • ticket volume and severity trend; anything open > 14 days, by number
  • sentiment shifts in calls, cited by call and date
  • champion or sponsor changes; renewal date and days remaining
04 Expansion (CSM to confirm)
  • use cases the customer mentioned and has not bought, with the quote
  • adjacent teams to current users
  • purchased-but-unused modules to adopt before any add-on conversation
05 Asks (CSM to confirm)
  • what we need from them: sponsor, reference, case study, data
  • what they have asked us for, and its status
  • next QBR date and the one goal to add
Rules
  • every claim cites a source: (call, date), (ticket #), (usage, week), (CRM field)
  • 'unknown' is allowed; estimates are not
  • two pages; send it to the customer three days before the meeting

If you keep only one rule, keep the first section. A QBR that opens with the customer's goals in the customer's words is a different meeting from one that opens with your logo.

The stack

The stack

How the tools connect
What a run costs
Per account
one run over a quarter of calls, tickets, and usage, a dollar or two on a mid-tier model
Per quarter
a book of 30 accounts for the price of a lunch
CRM + call recorder
free over MCP; tickets and usage as CSV exports
The saving
roughly a day of assembly per account, now twenty minutes of editing
The problem

The problem

Ask a customer success manager what a QBR costs and they will tell you about the deck. A day, sometimes two, per account: pulling usage numbers from one tool, contract terms from another, scrolling three months of call notes to remember what the customer said they cared about in January, and then laying it all out in slides that the customer will look at once. Multiply by a book of thirty accounts and the QBR season eats a month.

The deck itself is the second problem. Most QBR decks open with the vendor's logo, a 'partnership overview', and an update on the vendor's roadmap, and reach the customer's actual business around slide nine. I watched a CSM spend a full day on a beautiful deck for a $200k account and the customer's VP dropped off the call after slide three, because nothing in the first three slides was about her. The prep was expensive and the meeting was worse for it.

The information for a good QBR exists. Goals were logged at kickoff. The call recorder has every conversation. Support has every ticket. The product has usage data. Nobody has time to assemble it per account, so the QBR runs on whatever the CSM remembers, and what the CSM remembers is the last call and the loudest complaint.

A Claude agent assembles it. It reads the CRM for the goals and the contract, the call transcripts for what the customer said and who said it, the tickets for friction, the usage export for adoption, and fills a fixed five-section template: outcomes against goals, adoption, risks, expansion, asks. Every line cites its source. The CSM gets a draft ten days out, edits the judgment sections for twenty minutes, and runs the QBR from a two-page brief the customer can read in advance. The deck, if anyone still wants one, is an outline the agent also writes.

How it works

How it works

The workflow, end to end
  1. 01 Fire 10 days out Claude Code (scheduled)per QBR date in the CRM
  2. 02 Read the account HubSpot (MCP)goals, contract, renewal, opps
  3. 03 Read the calls Gong / Fireflies (MCP)quotes, asks, attendees
  4. 04 Read tickets + usage CSV exportsfriction and adoption
  5. 05 Fill the template Claude5 sections, every claim cited
  6. 06 CSM edits Slack thread20 minutes on expansion + asks
  7. 07 Send ahead Email / Docthe customer reads it before the call
  • Ten days before each QBR date in the CRM, a scheduled Claude Code job runs for that account
  • It reads the CRM over MCP: contract terms, renewal date, the goals logged at kickoff, open opportunities, account team
  • It reads every call with the account this quarter over the call recorder's MCP: asks, complaints, commitments, attendees
  • It reads the support ticket history and the product usage export you drop in as files
  • It fills the fixed QBR template: outcomes vs goals, adoption, risks, expansion, asks, with a citation on every claim and 'unknown' where the data is missing
  • It posts the draft brief and a deck outline to the account's Slack thread; the CSM edits the judgment sections and sends the brief to the customer ahead of the meeting
See it run

See it run

zsh
$# ten days before the QBR, run the brief for one account (read-only sources, writes two files)
$claude -p "$(cat briefs/qbr-prep.md | sed 's/{{ACCOUNT}}/Halden Payments/; s/{{QUARTER}}/Q3-2026/')" --allowedTools mcp__hubspot__get_company,mcp__hubspot__search_deals,mcp__gong__search_calls,mcp__gong__get_transcript,mcp__slack__post_message,Read,Write
CRM: Halden Payments · $96k ARR · 40 seats · renews 2026-12-15 (102 days) · 3 success goals logged 2026-01-14 · 1 open opp (Add-on: Analytics, $18k)
Calls: 7 this quarter (Gong). Attendees include VP Ops (3), Head of Support (6). 4 direct quotes captured
Tickets: 23 opened, 21 resolved, 2 open > 14 days (#4471 SSO, #4502 export). Usage: 31/40 WAU (78%), up from 24 in July; Analytics module purchased, 2 users
Wrote qbr/halden-payments-Q3-2026.md (2 pages) and qbr/halden-payments-Q3-2026-deck.md (6 slides). Goal 2 at risk; Analytics adoption flagged
Posted to #acct-halden with 3 headline lines
$
The playbook

The playbook

Fix the template, and put the customer's goals first

The template is the product. Five sections, same order every quarter, and the first one is about the customer: the goals they stated at kickoff (or last QBR) and where each one stands, with the evidence. Then adoption, meaning who is using what, against the seats they bought. Then risks: friction in tickets, sentiment shifts in calls, a champion who changed roles. Then expansion, the use cases they mentioned and have not bought. Then asks, both directions: what you need from them, what they need from you. The QBR template below is the shape; most teams keep all five sections and rewrite the prompts under each.

Get the goals into the CRM if they are not there. A QBR without stated goals is a usage report, and a usage report is what the customer's VP skips. Add a 'Success goals' property to the company or the deal, ask the CSM to fill it at kickoff in the customer's words, and the agent has the spine of every future QBR.

Decide the length now. Two pages of brief, one page of appendix. If the agent writes eight pages, the CSM will not edit it and the customer will not read it. The template should say the word count per section and the agent should hit it.

💡

TipWrite the goals in the customer's own words, from the kickoff transcript. 'Cut time-to-first-response under 4 hours' is a QBR headline. 'Improve support efficiency' is a slide nobody remembers.

Connect the sources over MCP, read-only

Connect HubSpot or Salesforce for the account record, contract, goals, renewal date, and open opportunities. Connect Gong or Fireflies so the agent can pull every call with the account's domain this quarter, with transcripts and attendees. Both are read-only for this play; the agent writes a document, never a record.

Support tickets and product usage are the two sources that rarely have a connector you control. Export them: a ticket CSV filtered to the account and the quarter, a usage CSV with active users, feature usage, and logins by week. Drop both into the run's folder. The agent reads files as easily as connectors, and a CSV export is a five-minute job that most support and product tools automate.

Give it the seat count and the contract value from the CRM explicitly. Adoption is a ratio, active users over seats purchased, and the agent should compute it rather than describe it.

  • Reads: account, contract (ARR, seats, term, renewal date), success goals, open opportunities, account team
  • Reads: all calls with the account this quarter: transcript, attendees, date
  • Reads: ticket export (subject, priority, opened, resolved, CSAT if any)
  • Reads: usage export (weekly active users, feature usage, logins by user)
  • Writes: one brief (Markdown or Doc), one deck outline, one Slack post. Never a CRM record

Write the brief so every claim carries a source

The brief is the template turned into instructions plus the evidence rule: every claim in the brief cites where it came from, a call and date, a ticket number, a usage figure and week, a CRM field. A QBR built on cited facts survives the customer's skeptical CFO; one built on 'you seem to be getting value' does not. Where the data is missing, the agent writes 'unknown' and says what would fill it. An honest 'unknown' in the adoption section is more useful than a confident guess.

Tell it to quote the customer. The most persuasive line in a QBR is the customer's own VP saying, on the January call, 'if we could get onboarding under a week this would pay for itself.' The agent has the transcript; the brief should carry the quote, the speaker, and the date, so the CSM can open the QBR with the customer's words and the progress against them.

Separate what the agent asserts from what the CSM decides. Outcomes, adoption, and the raw risk signals are assembly; the agent does them. The expansion angle and the asks are judgment; the agent drafts them as options and marks them for the CSM to choose. The brief should make that boundary visible with a 'CSM to confirm' tag.

The QBR prep brief
Prepare the QBR brief for {{ACCOUNT}} covering {{QUARTER}}. QBR date: {{QBR_DATE}}.

Read:
- {{CRM}}: the company record, contract (ARR, seats, term, renewal date), the 'Success goals' property, open opportunities, account team.
- {{CALL_RECORDER}}: every call with domain {{ACCOUNT_DOMAIN}} between {{QUARTER_START}} and today. Transcript, attendees, date.
- files/tickets.csv and files/usage.csv in this folder.

Write qbr/{{ACCOUNT}}-{{QUARTER}}.md using the template in templates/qbr.md, five sections in this order and these lengths:
1. OUTCOMES VS GOALS (max 250 words): each stated goal, status (achieved / on track / at risk / no data), the evidence, and a direct customer quote with speaker and date where one exists.
2. ADOPTION (max 150 words + one table): weekly active users vs seats purchased, trend over the quarter, top 3 features used, features purchased and unused, named power users and named silent seats.
3. RISKS (max 200 words): ticket volume and severity trend, any ticket open > 14 days, sentiment shifts in calls, champion or sponsor changes, renewal date and days remaining. Cite ticket numbers and call dates.
4. EXPANSION (max 150 words, tag 'CSM to confirm'): use cases the customer mentioned on calls and has not bought, teams adjacent to current users, the quote that supports each.
5. ASKS (max 100 words, tag 'CSM to confirm'): what we need from them (exec sponsor, case study, reference, data), what they have asked us for and its status.

Then write qbr/{{ACCOUNT}}-{{QUARTER}}-deck.md: a 6-slide outline, one line per slide, customer's goals on slide 1.

Rules:
- Every claim cites a source: (call, date), (ticket #), (usage, week), or (CRM field). No uncited claims.
- Where data is missing write 'unknown' and name what would fill it. Never estimate adoption.
- Quote the customer verbatim where it helps; always attribute.
- Read only. Write nothing to the CRM or the call recorder.
- Post a link to both files in the account's Slack thread #{{ACCOUNT_CHANNEL}} with the three most important lines.
💡

TipCap every section's word count in the brief. The agent will fill the space you give it, and the customer's VP will read two pages, not eight.

Run it ten days out, per account, on a schedule

Set the job to fire ten days before each QBR date in the CRM, as a scheduled Claude Code job that reads the upcoming QBR dates weekly and runs the brief for each account inside the window. Ten days leaves the CSM time to edit, send the brief to the customer a few days ahead, and adjust when the customer replies with the thing they actually want to talk about, which happens more often once they have a document in hand.

Run the first three by hand, with the CSM who owns the accounts. Read the outcomes section against what they remember; where the agent missed a goal or over-read a call, the fix is a line in the template or a missing field in the CRM. The usual discovery is that the goals were never logged, and the fix is a kickoff habit, not a prompt.

For a book of thirty accounts, the run costs a few dollars a quarter and replaces roughly a day of assembly per account. The CSM's day goes to the twenty minutes of judgment and the meeting itself.

The CSM edits the judgment, then sends the brief ahead

The draft lands in the account's Slack thread with the three most important lines up top: the goal most at risk, the adoption ratio, the days to renewal. The CSM reads the outcomes and adoption sections for accuracy, which takes five minutes because every line has a source to click, and then spends real attention on expansion and asks, the two sections tagged 'CSM to confirm'. Choosing which expansion angle to lead with, and what to ask for, is the job. The assembly around it was never the job; it just took the day.

Send the brief to the customer three days before the QBR. A two-page document the customer reads in advance changes the meeting: they arrive with reactions instead of waiting for slides, the VP stays because page one is her goals, and the forty minutes go to the risks and the expansion conversation. The deck outline exists for the teams that still want slides on the screen; it is six slides and the customer's goals are on the first one.

Keep the brief as the record. Next quarter's run reads this quarter's brief and the CRM, and the outcomes section becomes a trend: goal one achieved in Q2, goal two still at risk, a new goal added in Q3. Three briefs in, the account has a written history that a new CSM can read in ten minutes, which is the part of this play that outlasts any single QBR.

💡

TipSend the brief before the meeting. A QBR the customer has already read starts at the conversation, and the VP who dropped off after slide three stays because page one is about her.

Calibrate the template against what the meeting used

After a quarter of QBRs, ask the CSMs which sections the customers engaged with and which they skipped. Outcomes and risks almost always earn their place. Adoption tables sometimes need to shrink to one line. Expansion is the section that varies most, because it depends on how the agent reads the calls, and the fix is usually sharper instructions about what counts as an expansion signal.

Watch for the agent over-reading sentiment. A customer venting on one call about a bug is a ticket, not a churn risk; the brief should cite the call and the ticket and let the CSM decide the weight. If the risks section reads like an alarm every quarter, tighten the definitions, the way the churn risk brief does with a scorecard.

Every quarter, compare the goals section across the book. The accounts where goals were never logged are the accounts running a usage report instead of a QBR, and that list is the kickoff coaching agenda for the CS team.

Inside the prompt

Inside the prompt

The scoring prompt is short, but every line is there for a reason. Here is what each one is doing and why.

Why each line is in the QBR brief
Goals from the CRM"the 'Success goals' property"
The spine of the brief. If it is empty, the run tells you, and the fix is a kickoff habit.
Fixed order, fixed lengths"five sections in this order and these lengths"
Same shape every quarter, two pages total. The customer learns to read it; the CSM learns to edit it fast.
Cite everything"(call, date), (ticket #), (usage, week), or (CRM field)"
A cited brief survives a skeptical CFO. An uncited one is a vendor saying nice things about itself.
Unknown is allowed"write 'unknown' and name what would fill it"
An honest gap in adoption beats a confident guess, and it tells the CSM which export to chase.
Quote the customer"Quote the customer verbatim where it helps; always attribute"
The most persuasive line in any QBR is the customer's own VP, dated.
CSM to confirm"tag 'CSM to confirm'" on expansion and asks
Assembly is the agent's job; judgment is the CSM's. The tag makes the boundary visible in the draft.
What you get

What you get

The first section of the draft brief, as it lands in the account thread. The customer's goals lead, every claim cites a source, and the judgment sections carry a 'CSM to confirm' tag.

Example output
QBR BRIEF · Halden Payments · Q3 2026 · QBR Sep 24 · renews Dec 15 (102 days)

1. OUTCOMES VS GOALS
Goal 1: "Get first-response time under 4 hours for tier-1 tickets" (VP Ops, kickoff call, Jan 14)
Status: ACHIEVED. Median first response 2h 40m in Aug vs 6h 10m in Jan (usage export, wk 33-35). Head of Support, Aug 19 call: "the queue finally looks like a queue and not a backlog."

Goal 2: "Roll out to the EMEA team by end of Q3" (VP Ops, Jan 14)
Status: AT RISK. 0 of 12 EMEA seats active (usage, wk 35). Blocked on SSO ticket #4471, open 19 days, escalated Aug 28. Head of Support, Sep 2 call: "we can't ask London to log in with a second password."

Goal 3: "Replace the weekly ops spreadsheet with the Analytics module" (added Q2 QBR, May 20)
Status: NO DATA on the spreadsheet; Analytics module has 2 active users of 40 (usage, wk 35). Not mentioned on any Q3 call.

2. ADOPTION
31 of 40 seats weekly active (78%), up from 24 (60%) in July. Top features: ticket routing, macros, SLA view. Purchased and unused: Analytics (2 users), API access (0 calls). Power users: D. Ruiz, S. Okafor, M. Chen. Silent seats: 9, of which 12 EMEA seats are unprovisioned (see Goal 2).

3. RISKS
- SSO blocker #4471 (19 days) gates the EMEA rollout and Goal 2. Renewal is 102 days out; the EMEA seats are 30% of the contract.
- Export ticket #4502 open 16 days, reported by a power user.
- Sentiment: positive on support outcomes (Aug 19), frustrated on SSO (Sep 2). No champion change; VP Ops attended 3 of 7 calls.

4. EXPANSION [CSM to confirm]
- Analytics adoption before any add-on conversation; the $18k Analytics opp is open but 2 users are using the module.
- Head of Support, Jul 22: "the billing team keeps asking if they can have a queue like ours." Adjacent team, ~15 seats, not yet discussed.

5. ASKS [CSM to confirm]
- From us: SSO fix date in writing before Sep 24; Analytics enablement session for the ops team.
- From them: intro to the billing team lead; a reference call in Q4 if Goal 2 lands.

(Deck outline: 6 slides, Goal 1-3 status on slide 1.)
Anatomy of one goal line
Goal 2 · "Roll out to the EMEA team by end of Q3" · AT RISK · 3 sources
the goalcustomer's words, VP Ops, kickoff Jan 14
Pulled from the 'Success goals' CRM property, logged from the kickoff transcript. Page one is about them because this line exists.
statusAT RISK
One of four allowed values. 'No data' is allowed too, and the agent uses it rather than estimating.
evidence0 of 12 EMEA seats active (usage, wk 35)
A figure and a week from the export. The CFO can check it; the CSM does not have to defend it.
the blockerticket #4471, open 19 days
Cross-referenced from the ticket export. The risk section carries the same ticket, so the story is consistent.
the quote"we can't ask London to log in with a second password" (Sep 2)
Verbatim, attributed, dated. The CSM opens the risk conversation with the customer's own sentence.
what it changesthe first ask: an SSO fix date in writing
The asks section is tagged 'CSM to confirm', but the evidence made the first ask obvious.
Pitfalls to avoid

Pitfalls to avoid

⚠️

Opening with your logo and your roadmapThe customer's goals go first, in their words, or the VP drops off after slide three. The template exists to force that order every quarter.

⚠️

Goals that were never loggedWithout stated goals the QBR is a usage report. Add a 'Success goals' property, fill it at kickoff from the transcript, and the agent has the spine of every future brief.

⚠️

Uncited claims'You're getting great value' survives no CFO. Every line cites a call and date, a ticket number, a usage figure, or a CRM field, and the agent writes 'unknown' where it has nothing.

⚠️

Letting the agent decide the asksAssembly is the agent's job; the expansion angle and the asks are the CSM's. Tag those sections 'CSM to confirm' and make the CSM choose.

⚠️

Eight pagesCap every section's word count in the brief. Two pages the customer reads in advance beats eight the CSM never finished editing.

⚠️

Over-reading one bad callA customer venting about a bug is a ticket, not a churn signal. The brief cites the call and the ticket and leaves the weight to the CSM; the churn risk scorecard is the play for scoring it.

FAQ

Questions people ask

What should a QBR template include?
Five sections, in this order: the customer's stated goals and where each stands, adoption (active users against seats, features used and unused), risks (tickets, sentiment, champion changes, renewal timing), expansion (use cases they mentioned and have not bought), and asks in both directions. Two pages. The customer's goals go first, in their words. The template on this page is the one I use.
Where does the agent get the customer's goals?
From a 'Success goals' property in the CRM, filled at kickoff from the transcript in the customer's own words. If your CRM does not have it, add it; a QBR without stated goals is a usage report, and the agent will tell you which accounts are missing them.
Does it need Gong or Fireflies?
It needs the calls. Gong and Fireflies both have MCP connectors that let the agent pull every call with the account's domain, with transcripts and attendees, which is where the customer quotes and the sentiment come from. Without a call recorder, the agent works from CRM notes, and the brief is thinner.
What about support tickets and usage data?
Export them as CSVs filtered to the account and the quarter and drop them in the run's folder. Most support and product tools automate the export. The agent reads files as easily as connectors, and this avoids waiting for a connector you may never get.
Does it write anything to the CRM?
No. It reads the CRM and the call recorder, and writes two files, the brief and a deck outline, plus a Slack post. Keeping it read-only is what makes it safe to schedule across a whole book of accounts.
Should we still make a deck?
Send the two-page brief before the meeting; that is the change that matters. The agent also writes a six-slide outline, goals on slide one, for teams that want something on the screen. What you stop making is the twenty-two-slide deck with your roadmap on slide four.
How long does it take to set up?
An afternoon: an hour to fix the template with the CS lead, an hour to write the brief and connect the sources, and three manual runs with a CSM to catch the missing goals and the over-read calls. From then on it runs ten days before each QBR date in the CRM.
Related

Related plays

Want playbooks like this in your inbox?

A new AI use case, prompt, or teardown every couple of weeks.

Subscribe →