Morning plan: today's meetings, overdue follow-ups and emails waiting on you

Google Calendar + Gmail + HubSpot

Who it's for

AEs, SDRs and CSMs who want one page each morning with today's meetings, the follow-ups they've let slip, and the prospect emails still waiting for a reply. Nothing is changed anywhere. HubSpot can be swapped for Salesforce, Attio or Pipedrive. On Outlook, Microsoft 365 (Work IQ) can read mail and calendar in place of Gmail and Google Calendar, but it needs a Global Administrator and its documented clients are GitHub Copilot tools.

What you get

One morning's plan, read-only. Sample output: every company and person in it is fictional.

Morning plan for Fri Oct 16 (all times Eastern)

MEETINGS TODAY (3 external, 2 internal skipped)
| Time | Meeting | Who | HubSpot deal |
|---|---|---|---|
| 9:30 | Pricing review | Sam Whitlock, Quarry Lane Analytics (fictional) | Quarry Lane renewal + upsell, Negotiation, $48K, close Oct 30 |
| 11:00 | Discovery call | Dana Okafor, Larkspur Freightworks (fictional) | No deal yet. Company exists, owner: you |
| 3:00 | Check-in | Alex Rivera, Fernhill Software (fictional) | Fernhill expansion, Proposal, $22K. Next step says "send revised SOW" |

OVERDUE FOLLOW-UPS (4)
- Task: "Send security questionnaire to Quarry Lane", due Oct 13 (3 days late). Do this before the 9:30.
- Task: "Call back Mossgate Labs (fictional) re: pilot scope", due Oct 9 (7 days late)
- Deal: Fernhill expansion, close date Oct 15 has passed. Update before or after the 3:00
- Task: "Intro email to Tidewell Robotics (fictional)", due Aug 28 (49 days late). Old. Close it or reschedule?

WAITING ON YOUR REPLY (2 prospect threads, 6 newsletters and notifications skipped)
- Priya Raman, Mossgate Labs (fictional), [email protected]: "Can you confirm the pilot can start Nov 2?" Received Tue, 3 days ago
- Dana Okafor, larkspur.example: "Agenda for Friday?" Received yesterday 4:12 pm. Answer before the 11:00

Nothing was created, changed or sent.

Time and cost

Estimate About 5 minutes to run, 5–10 minutes to read and act on.

Assumptions: One run on a day with about 5 meetings, 30 open tasks and deals, and a few days of inbox.

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
  • Google Calendar: 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.
  • 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.

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": {
    "google-calendar": {
      "url": "https://calendarmcp.googleapis.com/mcp/v1"
    },
    "gmail": {
      "url": "https://gmailmcp.googleapis.com/mcp/v1"
    },
    "hubspot": {
      "url": "https://mcp.hubspot.com"
    }
  }
}

Step-by-step prompts

  1. My time zone is {time_zone} and my email domain is {my_domain}. List my Google Calendar events for today: time, title and attendees. Mark which meetings have attendees outside {my_domain}, and skip internal-only ones.
  2. For each external meeting, find the attendee's company and any open deal in HubSpot by email domain: deal name, stage, amount, close date and next step. If there's no match, say so. Don't change anything.
  3. In HubSpot, find my overdue follow-ups: open tasks assigned to me that were due before today, and open deals I own whose close date has passed. Sort by how late they are. Read only.
  4. Search my Gmail for threads from the last {days} days where the latest message is from someone outside {my_domain} and I haven't replied. Keep only senders who match a HubSpot contact or a company with an open deal. Show the sender, company, one-line ask and how long it has waited.
  5. Put it all on one page: meetings today, overdue follow-ups, and emails waiting on me. Flag anything that should be done before a meeting today. Don't create, change or send anything.

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 morning-plan.md

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