All loops
ProductivityMedium 16 min· claude-sonnet-4-5

Morning calendar prep brief

Get a 1-page brief on every meeting today by 06:30.

NOT DEPLOYEDNOT DEPLOYED
0174ms
Trigger
cron(0 7 * * *) fired · every day · 07:00
02834ms
Agent
claude-sonnet-4-5 · in 934 tok · out 234 tok
03224ms
Tools
google-mcp/resend:invoke → 200 OK · 254ms
0464ms
Verify
schema check · json-schema draft-2020 passed
0594ms
Output
inbox triage · 6 emails auto-sorted
0654ms
Notify
audit log written · runbook link attached
SUCCESS
0%
0 runs
P50
0ms
median
P95
0ms
tail
AVG COST
per run
LAST OK
never
LAST FAIL
never
none
Latency · last 30 runs0 samples
no runs yet
Latest output · what your users see
Standup · Platform team
  • @norashipped locker health-check endpoint
  • @arunreviewing PR #184 (retry jitter)
  • @linblocked on Stripe webhook signature rotation
  • @devpicking up SEC-914 (S3 bucket audit)
// press Test to run once · Watch live to keep streaming · Deploy to make it real
The problem

Prepping for back-to-back meetings means tab-hopping for 20 minutes you don't have.

The outcome

Brief in your inbox at 06:30: per meeting — who's attending, last interaction, three talking points, one question to ask.

Ingredients & skills

Secrets
  • ANTHROPIC_API_KEY
  • GOOGLE_OAUTH_REFRESH
  • NOTION_TOKEN
  • HUBSPOT_TOKEN
  • RESEND_API_KEY
Providers
  • Anthropic
  • Google Calendar
  • Gmail
  • Notion
  • HubSpot
  • Resend
MCP servers
  • google-mcp
  • notion-mcp
#productivity#calendar#meetings

How it works

Read Google Calendar, for each meeting Claude pulls past notes (Notion), recent emails (Gmail), and CRM history (HubSpot), and emails you one consolidated brief.

Step 1

1 — List today's meetings

Filter out 1:1s under 15 mins and recurring all-hands.

Step 2

2 — Per-meeting context fan-out

Parallel reads from Notion, Gmail, HubSpot.

Step 3

3 — One email

Single send with a section per meeting.

One-line deploy

The button above runs the same command with your saved config. This is the raw CLI form.

bash
locker schedule calendar-brief agent.ts --cron '30 6 * * 1-5'

Related loops