# QBR deck draft: pipeline, revenue and attribution numbers in one Notion outline

Source: https://mcpforgtm.com/recipes/qbr-deck-draft (StackMCP, independent directory of official MCP servers)

## Goal

Sales leaders and RevOps who build the QBR deck by hand from the CRM, billing and attribution tools. You get a slide-by-slide outline in Notion with every number and its source, ready to move into your slides. HubSpot can be swapped for Salesforce or Attio, and Notion for Airtable.

## Connected tools

- HubSpot: https://mcp.hubspot.com (setup: https://mcpforgtm.com/tools/hubspot)
- Stripe: https://mcp.stripe.com (setup: https://mcpforgtm.com/tools/stripe)
- HockeyStack: https://mcp.hockeystack.com/mcp (setup: https://mcpforgtm.com/tools/hockeystack)
- Notion: https://mcp.notion.com/mcp (setup: https://mcpforgtm.com/tools/notion)

## Guardrails

- Read only in HubSpot, Stripe and HockeyStack. Don't create, update, void or refund anything.
- Preview HockeyStack reports only. Don't save or change reports, goals or touchpoints.
- Show the source and date range for every number.
- Show me the full Notion draft, and create the page only after I approve it. Don't edit any other page.
- Use company names and amounts only. Leave out customer contact names.

## Steps

1. Find HubSpot deals in {pipeline} created or closed between {quarter_start} and {quarter_end}. Show me pipeline created, closed won and closed lost with counts and amounts, open pipeline by stage, and the top five wins. Don't change any records.
2. In Stripe, read paid invoices, refunds, and new and cancelled subscriptions for the same dates. Show me revenue collected with refunds on a separate line, and new subscriptions by customer. Compare them with HubSpot closed-won deals and list every mismatch. Don't create or change anything in Stripe.
3. Search my HockeyStack reports for pipeline by channel. Use {report_name} for the same dates and show sourced pipeline by channel with deal counts and amounts. If no saved report fits, preview one and show me its definition. Don't save anything.
4. Draft a QBR deck outline with one section per slide: at a glance, where pipeline came from, revenue, biggest wins, and gaps and asks. Put the source and date range under every number, and add a numbers check listing each mismatch. Find {parent_page} in Notion and show me the full draft.
5. After I approve the draft, create it as one page under {parent_page} in Notion. Give me the link, and don't edit any other page.

## Expected output

Notion outline draft with a numbers check. Example (all names fictional):

```
Draft Notion page: 'Q3 QBR deck outline' (not created yet)

Slide 1. Q3 at a glance
- New business closed won: $412K from 18 deals (HubSpot, Jul 1 to Sep 30)
- Revenue collected: $1.18M from 214 paid invoices, refunds $14K shown separately (Stripe, same dates)
- Pipeline created: $2.6M from 71 deals (HubSpot)

Slide 2. Where pipeline came from (HockeyStack report 'Pipeline by channel', sourced)
| Channel | Deals | Amount |
|---|---|---|
| Outbound | 25 | $910K |
| Paid search | 22 | $780K |
| Events | 14 | $640K |
| Organic | 10 | $270K |

Slide 3. Biggest wins
- Quarry Lane Analytics (fictional), $96K, owner Priya Raman
- Fernhill Software (fictional), $54K, owner Alex Rivera

Slide 4. Gaps and asks: two placeholders for you to fill in.

Numbers check:
- HubSpot closed won $412K vs Stripe new subscriptions $388K. The $24K gap is Larkspur Freightworks (fictional), whose first invoice is dated Oct 3.
- HockeyStack shows 71 deals created, HubSpot shows 71. Matches.

Reply 'create' to make this page under 'QBRs' in Notion.
```

## Watch for

- Booked and collected revenue mixed up: HubSpot closed-won amounts and Stripe paid invoices measure different things. Keep them on separate lines with their source, and explain any gap deal by deal.
- Different date ranges in each system: Use the same start and end dates in all three tools, and print the range under every table. If one number covers different dates, the outline should say so.
- Attribution settings change the story: Sourced and influenced pipeline can differ a lot. Name the HockeyStack report and its attribution settings on the slide, and use the same report as last quarter.
- Refunds hidden in the revenue figure: Ask for refunds and voided invoices as separate lines, and check that collected revenue minus refunds is the figure on the slide.
