Post-call follow-up: recap email, next steps and a CRM update
Granola + HubSpot + Gmail
Who it's for
AEs who want the recap email drafted and the CRM updated within minutes of a call, without retyping their notes. Granola can be swapped for Fireflies or Gong, HubSpot for Salesforce or Attio, and Gmail for writing the draft yourself.
What you get
Recap email draft and the CRM changes waiting for approval. Sample output: every company and person in it is fictional.
Call: Quarry Lane Analytics (fictional), Tue 2:00 pm, with Sam Whitlock and Priya Raman Draft email (not created yet): Subject: Recap: security review and next steps Hi Sam, Priya, Thanks for the time today. What we agreed: - We'll send the completed security questionnaire by Friday (owner: me) - Priya will confirm whether the Toronto team is in scope by Oct 24 - We'll hold a 30-minute pricing review the week of Oct 27 One open question: who signs off once procurement approves? Best, Jordan CRM changes (not made yet): - Deal 'Quarry Lane renewal + upsell': next step -> "Pricing review week of Oct 27" - Note on the deal: 4-line call summary Each next step above is quoted from the call notes. Reply 'approve email', 'approve CRM' or both.
Time and cost
Estimate About 5–10 minutes per call, most of it reading the draft.
Assumptions: One 30-minute call with one set of notes, one deal and one email draft.
- Granola: Reads the meeting notes for one call. Credit use not confirmed by Granola.
- HubSpot: A few reads, then one note and one next-step update after you approve them. Credit use not confirmed by HubSpot.
- Gmail: One draft created after you approve the text. Nothing is sent. Credit use not confirmed by Gmail.
Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.
MCP servers
Every server is confirmed in: Claude
-
ClaudeChatGPTClaude CodeRead onlyCredits not confirmed
https://mcp.granola.ai/mcp -
ClaudeChatGPTRead + writeCredits not confirmed
https://mcp.hubspot.com -
ClaudeRead + writeCredits not confirmed
https://gmailmcp.googleapis.com/mcp/v1
Set up in a chat app
Every server in this recipe is confirmed for Claude. Connect each one, then paste the prompts below into one conversation.
- Connect Granola without code (Claude, ChatGPT)
- Connect HubSpot without code (Claude, ChatGPT)
- Connect Gmail without code (Claude)
Developer setup
Auth setup and mcp.json for Claude Code and Cursor
- Granola: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token. - HubSpot: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token. - Gmail: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token.
Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.
{
"mcpServers": {
"granola": {
"url": "https://mcp.granola.ai/mcp"
},
"hubspot": {
"url": "https://mcp.hubspot.com"
},
"gmail": {
"url": "https://gmailmcp.googleapis.com/mcp/v1"
}
}
}
Step-by-step prompts
- Find my most recent Granola meeting with {company}. Tell me the date, time and attendees, then list what was agreed, open questions, and next steps with owners and dates. Quote the notes for each next step.
- Find the matching deal and contacts in HubSpot. Show me the deal's current stage, next step and close date next to what changed on the call. Don't change anything yet.
- Write a short recap email to the attendees: thanks, what we agreed, next steps with dates, and one open question. Use only the shared summary, not my private notes. Show me the text, and create it as a Gmail draft only after I approve it. Don't send it.
- After I approve, log a four-line call note on the HubSpot deal and set the next step to the one we agreed. Show me the old and new values first.
Run it on a schedule (optional)
- This works best run by hand right after each call, while you still remember what was said.
- If you schedule it (for example at the end of each day), have it prepare drafts for every call and stop there. Approve each email and CRM change yourself.
- Gmail's MCP server is in Google's Developer Preview and needs your own Google Cloud OAuth client. If you don't have access, ask for the email as text and paste it into your mail app.
Where this goes wrong
- The wrong meeting. Recurring meetings and calls with the same company look alike. Start by asking for the meeting's date, time and attendees, and confirm before anything is drafted.
- Invented or misassigned commitments. The model may turn 'we could' into 'we will', or give your task to the customer. Require a quote from the notes for every next step, and fix anything without one.
- Private notes leaking into the email. Granola can read your private notes as well as the summary. Tell it to use only the shared summary for the email, and read the draft for anything internal before you approve it.
- Overwriting the CRM next step. An approved update replaces what's there. Have it show the old and new value side by side, and skip the update if the deal already has a later next step.
Gotchas
- Granola's MCP follows whichever Granola workspace is active, so switch workspaces first if you have more than one.
- Gmail's documented MCP tools can create drafts but have no send tool, so the email always waits in your Drafts folder.
- HubSpot only shows records the connected user can see, and non-admin users need a Super Admin to approve the connector first.
Download
Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.
Download post-call-follow-up.md
New recipe and breakage notes every week
Vendor sites: HubSpot. If we join an affiliate program, these links will be labeled as affiliate links.