Post-call follow-up: recap email, next steps and a CRM update

Granola + HubSpot + Gmail

IntermediateAEs

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.

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

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.

Developer setup

Auth setup and mcp.json for Claude Code and Cursor
  • Granola: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.
  • HubSpot: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.
  • Gmail: Sign in with OAuth in your client (run /mcp in 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

  1. 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.
  2. 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.
  3. 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.
  4. 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)

Where this goes wrong

Gotchas

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

Vendor sites: HubSpot. If we join an affiliate program, these links will be labeled as affiliate links.