How to Automate QBR Booked → Notion Checklist + Team Prep Emails with n8n
A Quarterly Business Review is the highest-leverage meeting your customer success team runs — and the one most likely to be under-prepared. The moment a client books a QBR on Calendly, a clock starts:
A Quarterly Business Review is the highest-leverage meeting your customer success team runs — and the one most likely to be under-prepared. The moment a client books a QBR on Calendly, a clock starts: someone needs to pull usage data, build an agenda, brief the account team, and make sure nobody walks into the call cold. In most orgs that prep happens manually, in a Slack thread the night before, if it happens at all. This guide shows you how to wire a single n8n workflow that fires the instant a QBR is booked — creating a Notion prep checklist, emailing the client an agenda, briefing your team, and dropping a Slack alert — so the meeting is already handled before anyone touches it.
The Problem: Prep That Depends on Someone Remembering
QBRs are where renewals are won or lost. But the prep workflow is almost always tribal knowledge held in one CSM's head. A meeting gets booked, and then: nothing happens for six days, followed by a frantic scramble the afternoon before. The account manager doesn't know the meeting exists until it hits their calendar. Nobody pulls the health score. The client gets no agenda, so they show up expecting a status update while you planned an expansion pitch.
The cost compounds. A poorly-prepped QBR isn't just an awkward hour — it's a signal to the customer that you don't have your act together, right at the moment they're deciding whether to renew. Multiply that across every account and every quarter, and inconsistent prep becomes a measurable churn risk. The root cause is simple: the process is manual, so it's only as reliable as the busiest person on your team on their worst day.
The Solution: One Trigger, Four Parallel Actions
The fix is to treat "QBR booked" as an event that automatically fans out into everything that needs to happen. When a client books on Calendly, n8n catches the event and executes four things at once:
- A Notion prep checklist — a new page in your QBR database, pre-populated with every task (pull usage data, review support tickets, draft expansion angle) and the client's details.
- A client agenda email — a branded message confirming the time and laying out what you'll cover, so the customer arrives aligned.
- A team brief email — an internal summary to the account team with the meeting details and a link to the checklist.
- A Slack alert — a real-time ping to your CS channel so the whole team knows a QBR is on the board.
Everything runs in seconds, with zero human involvement, and it's identical every single time. The workflow becomes the process, and the process no longer forgets.
Step-by-Step: Building It in n8n
Here's how the workflow comes together node by node. You can build this from scratch or install the ready-made version and just plug in your credentials.
1. Calendly Trigger node. Start with the Calendly Trigger node set to the invitee.created event. Connect your Calendly account via API key or OAuth, and scope it to your QBR event type so it only fires for the right meetings. The node outputs the invitee name, email, scheduled time, event type, and any intake question answers — all the raw material downstream nodes need.
2. A Set node to normalize the payload. Drop an Edit Fields (Set) node right after the trigger. Map the Calendly output into clean variables: client_name, client_email, meeting_time (run it through a small expression like {{ $json.payload.scheduled_event.start_time }}), and account_owner. Normalizing here means every branch downstream reads from one predictable object instead of re-parsing Calendly's nested JSON.
3. Notion node — create the checklist page. Add a Notion node with the resource set to Database Page and operation Create. Point it at your "QBR Prep" database. Map the title to something like QBR — {{ $json.client_name }} — {{ $json.meeting_time }}, and set properties for status (Not Started), meeting date, and owner. In the page body, use the blocks field to add a to-do checklist: pull product usage, review open tickets, check NPS/health score, draft renewal or expansion angle, prepare deck. Grab the returned page URL from the node output — you'll reuse it in the team brief.
4. Branch with parallel outputs. From the Set node, wire three more branches alongside Notion so they run together. n8n executes multiple connections from a single node in parallel, so the client email, team email, and Slack alert all fire without waiting on each other.
5. Send Email (client agenda). Use the Gmail, Microsoft Outlook, or generic Send Email (SMTP) node. Set the recipient to {{ $json.client_email }}, write a warm subject like "Your QBR agenda — {{ $json.meeting_time }}", and use an HTML body that confirms the time and lists the three or four things you'll cover. Keep it human; this is client-facing.
6. Send Email (team brief). A second email node targets your internal account team. Include the client name, meeting time, account owner, and — critically — the Notion checklist link pulled from step 3 via {{ $node["Notion"].json.url }}. Now the team can open the prep doc in one click.
7. Slack node — the alert. Finish with a Slack node, operation Send Message, posting to your #customer-success channel. Compose a short message: "🗓️ New QBR booked: {{ $json.client_name }} on {{ $json.meeting_time }} — checklist ready." Add the Notion URL as a link. This gives the whole team ambient awareness without anyone checking a dashboard.
Once wired, activate the workflow and book a test meeting on Calendly. You should see the Notion page appear, two emails land, and Slack light up within seconds.
The Benefits: Consistency You Can Count On
The obvious win is time saved — 30 to 45 minutes of manual prep coordination collapses to zero per meeting. But the deeper value is consistency. Every QBR now gets the exact same rigorous prep, whether it's your biggest account or a booking that lands while your CSM is on vacation. Nothing falls through the cracks because the workflow doesn't take days off.
You also get alignment. The client shows up knowing what to expect, the team shows up briefed, and the checklist ensures the actual data work gets done. That translates directly into better meetings, stronger renewal conversations, and a customer experience that signals competence. And because it's all in n8n, the workflow is fully yours — self-hostable, auditable, and free of per-seat SaaS fees for yet another point tool.
Common Pitfalls to Avoid
Timezone mismatches. Calendly returns times in UTC. If you drop that raw value into a client email, someone will show up an hour off. Convert with a Date & Time node or a Luxon expression like {{ DateTime.fromISO($json.meeting_time).setZone('America/New_York').toFormat('ff') }} before rendering any human-facing text.
Firing on the wrong event. Calendly's invitee.created fires for every event type on your account. Filter to your QBR event, either in the trigger's event-type scope or with an IF node checking event_type, or you'll spam your team every time anyone books a demo.
Cancellations and reschedules. A booked meeting isn't final. Add a second Calendly trigger for invitee.canceled that updates the Notion page status to Canceled and posts a follow-up Slack note — otherwise your checklist lists ghost meetings.
No error handling. If the Notion API rate-limits or an email bounces, you want to know. Set a workflow-level Error Trigger that pings a private Slack channel, and enable retries on the Notion and email nodes (3 attempts, a few seconds apart) so transient failures self-heal.
Hardcoding recipients. Don't bury the account owner's email in a node. Pull it from a lookup — a Notion accounts database or a simple Set node mapping — so reassigning an account doesn't mean editing the workflow.
Build it once, and every QBR your team runs for the rest of the year arrives fully prepped, on time, and consistent — no scramble, no forgotten checklist, no cold walk-ins.
Ja construimos isso pra voce
Nao comece do zero. O QBR Booked → Notion Checklist + Team Prep Emails e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.
Instalar por $29 →