Email Reply Queue.
Drafts replies to client emails older than 48 hours, written in your voice, queued in Gmail for one-click send. The agent reads your inbox, picks the threads that have been waiting too long, drafts a reply per email using your CLAUDE.md voice context, and saves each one as a Gmail draft. You open Gmail, read, click send. The drafts never auto-send.
- A Gmail draft per stale thread every email older than 48 hours with no reply from you gets a draft already written in your voice, queued in your Gmail drafts folder, ready for one-click send after you review.
- Your voice on autopilot the agent reads your CLAUDE.md communication preferences and rules section, so the draft tone matches how you actually write. Bullets if you prefer bullets, short if you prefer short, no AI-flavored phrasing.
- A safety boundary you can see drafts queue in Gmail. They do not send. You stay the human in the loop on every external message, and you watch the agent's judgement before you ever hand it more autonomy.
Build this with Claude.
Hand the build off to Claude in one paste. The agent reads your CLAUDE.md, confirms the Gmail connector is wired with draft scope, runs a dry pass over your inbox to show you what it would draft, then writes the drafts to Gmail once you give the green light.
How this fits in the OS.
Claude Code installed, your CLAUDE.md filled in (Stage 01) with a real Communication Preferences and Rules section, and the Gmail MCP (Claude Desktop calls these connectors) wired with draft creation scope (Stage 02).
The Gmail connector to search your inbox and create drafts, your CLAUDE.md as the voice and rules reference, and a single prompt or slash command to fire the run. No external services, no new accounts.
A reusable pattern: search a system for stale items, draft a response per item using your voice context, queue the response somewhere a human can review. The same shape carries over to Slack threads, Notion pages, and any other channel where you owe people a reply.
What you'll build.
A simple agent loop: every email older than 48 hours with no reply from you becomes a Gmail draft, written in your voice, queued for one-click send. The agent reads your inbox through the Gmail connector (Claude Desktop calls these connectors), pulls your voice and rules from your CLAUDE.md, and drafts a per-thread reply. The drafts land in your Gmail drafts folder. You open Gmail, scan, and send the ones you like.
This is the smallest useful version of agent-assisted inbox work. No autonomous sending. No background cron. Just a manual trigger that turns "I owe 14 people a reply" into "I have 14 drafts ready to review." The Gmail connector itself supports reading, drafting, and searching the inbox; the rest of the build is a prompt that tells Claude how to use it.
Every piece is already in your stack. The Gmail connector is from Stage 02. The voice context is from your CLAUDE.md. The trigger is a single paste into Claude Code. You are not architecting; you are wiring three things you already have into a loop you'll use this week.
What changes for you.
The drafts are the surface change. The bigger shift is what happens to your relationship with the inbox. Three internal changes you'll feel within a week:
- You stop dreading the 48-hour pile. The cognitive cost of "I owe Sarah a reply, and Mike, and three others, and I can't remember what they asked" goes down once a draft is already waiting. Reading and approving is a different mental task than starting from blank.
- You start noticing where your voice is thin. The first few runs, the agent will draft replies that sound slightly off. That signal is useful. It tells you which parts of your CLAUDE.md Communication Preferences and Rules need more specificity. The drafts improve as your voice file improves.
- You watch an agent's judgement before you trust it with more. Reading 14 drafts the agent wrote is the cheapest way to learn whether its judgement is good enough to graduate. If the drafts are mostly sendable, you've earned the right to think about more autonomous patterns. If they are mostly wrong, you've learned that earlier than you would have if the agent were sending live.
Before you start.
Three things specific to this build
- The Gmail connector is wired and has draft scope. Run
/mcpin Claude Code. Gmail should be green. If you set it up in Stage 02 withclaude mcp add gmail, the draft scope is already included. If you wired Gmail by hand and only granted read scope, redo the connector with the standard install command. - Your CLAUDE.md has a real Communication Preferences section and a real Rules section. Vague produces vague. "I want concise emails" is too thin. Specific is "I write in second-person, short paragraphs, no preamble, no signing off with my full name, and I always thank the person for their patience if a reply is more than two days late." That kind of specificity is what makes drafts sound like you instead of like a generic assistant.
- You have at least a few stale threads in your inbox. If your inbox is already at zero, there's nothing for the build to act on. Most people have a 48-hour pile sitting in there right now. That pile is the test data.
The Gmail connector is free. The Claude usage to draft a dozen replies is negligible (a small fraction of your monthly plan). No new accounts, no new subscriptions.
The build.
Five steps. The agent does the mechanical work. You stay in the loop on the two decisions that matter: which threads count as stale and whether each draft is good enough to send.
Confirm the Gmail connector is alive with draft scope
3 minOpen Claude Code in your workshop folder. Run:
/mcp
Gmail should show green. If it does not, the rest of the build wastes your time. Re-run claude mcp add gmail from a clean state. The standard install grants the draft creation scope you need here.
Make sure your CLAUDE.md voice context is real
10 minThe whole point of this build is that drafts sound like you. The agent gets that signal from two sections in your CLAUDE.md: Communication Preferences and Rules. Open your CLAUDE.md and read both sections back to yourself.
Two questions to answer honestly:
- If a colleague who had never met you read these two sections, could they draft an email in your voice from this alone? If no, the sections are too thin.
- Is there a hard rule about external messages you want the agent to follow every time? (For example: "Never sign off with my full name. Use my first name only." or "Always thank the person for their patience if my reply is more than two days late.") Write those rules down before the build, not after the first batch of bad drafts.
The agent does this for you. If your sections are thin, ask Claude to interview you for ten minutes about how you actually write emails and propose a richer Communication Preferences section. Approve before save.
Dry pass on your inbox
10 minBefore drafting anything, you want to see which threads the agent would act on. Paste the starter prompt at the top of this card and let Claude walk through it. Step 3 of that prompt is the dry pass: Claude searches your inbox for threads where the most recent message is from someone else, is older than 48 hours, and has no reply from you since.
The agent reports back a list: sender, subject line, age in days, one-line summary of what they asked. No drafts written yet.
This is your judgement moment. Read the list. Are these actually threads you owe a reply on? Or did the agent pull in newsletters, automated notifications, threads you were bcc'd on, or things that don't need a reply? If the selection is wrong, adjust the prompt before any draft gets written. Common refinements:
- "Skip anything from no-reply@ or notifications@ addresses."
- "Skip threads where I was on bcc."
- "Only count threads from people I have replied to before (real correspondents)."
Draft the replies, save to Gmail as drafts
25 minOnce you approve the list from Step 03, tell Claude to proceed. The agent drafts one reply per thread, using your CLAUDE.md voice and rules, and saves each draft directly to Gmail using the connector. No reply is sent. Each one waits in your Gmail drafts folder for you to review.
The agent reads back a summary: number of drafts created, subject line of each, any thread it skipped and why.
Drafts queue in Gmail. They do not send. The whole architecture of this build assumes you open Gmail, read each draft, and click send yourself. If the agent ever offers to send on your behalf, say no. The boundary between "agent drafted a reply" and "agent sent a reply" is the boundary between an assistant and an autopilot, and you keep that boundary by reviewing every send manually for at least the first dozen runs.
Open Gmail. Go to your drafts folder. You should see a new draft for every thread on the list. Each one is in your voice, addressed to the right person, with a subject that continues the thread.
Review, edit, send
~10 min for a dozen draftsOpen each draft in Gmail. For each one, ask yourself one question: would I send this exact text right now?
- Yes, as written. Click send. Move on.
- Almost. One or two edits. Edit in Gmail. Click send. Note the kind of edit you made; if you keep making the same kind of edit, your CLAUDE.md is missing a rule.
- No, this isn't right. Delete the draft. Reply yourself, or schedule it for later. Note why the draft was wrong; if you find a pattern, fix the prompt or fix your CLAUDE.md.
The feedback loop is the build. The first run will produce some drafts you send as written, some you edit, and some you delete. Each pattern of edit or delete points at a specific gap in your voice file or your prompt. Tighten the gap, run again, watch the draft quality climb. By the third or fourth run, the agent's drafts will land closer to sendable on the first try.
When it works.
You'll know the loop is real when four things hold on a routine morning:
- You fire the trigger. One prompt paste or one slash command in Claude Code. Nothing else.
- Claude reports back a list of stale threads that matches your own gut sense of who you owe replies to. No newsletters, no junk, no bcc'd noise.
- Gmail shows fresh drafts in your drafts folder, one per thread, in your voice.
- You spend a few minutes reviewing, not an hour writing. Most drafts go out with no edit or a single edit. The ones you delete teach you something specific about your voice file.
The diagnostic question: run this build twice a week for two weeks. Are you replying to people faster than you were before? If yes, the loop is yours. If no, the bottleneck is somewhere else (probably decision avoidance, not drafting), and a different build will help you more.
If you get stuck.
Common failure modes, ranked by how often they bite people on this build:
- Drafts sound generic, not like you. Your CLAUDE.md Communication Preferences and Rules sections are too thin. The agent only has thin material to work from, so the drafts default to a neutral AI tone. Fix the source. Add three or four real examples of how you actually phrase things. Add hard rules (sign-off style, paragraph length, what you never say). Run again.
- Gmail connector returns an empty inbox. The connector is alive but is searching the wrong label, or the OAuth scope grants read on the wrong account. Ask Claude to tell you which Gmail account the connector is authenticated against. If it's the wrong one, re-run
claude mcp add gmailand authenticate the right account. - Draft creation fails silently. The Gmail connector has read scope but not draft scope. Re-run the standard install. The default
claude mcp add gmailgrants both. A hand-rolled install in older docs may have only granted read. - Agent drafted replies to newsletters or notifications. The selection criteria need to be tighter. Tell the agent explicitly: skip anything from no-reply, notifications, or addresses you have never sent mail to. Refine until the list only contains real correspondence.
- Agent offered to send on your behalf. Say no. Then re-read your CLAUDE.md Rules section. If you don't have a hard rule that says "never send external messages without my explicit confirmation," add it now. The agent will follow it on every later run.
- You burned through drafts and none were sendable. Two likely causes. One: the threads on the list aren't actually stale by your standards (maybe 48 hours is too aggressive for your work, try 72 or 96). Two: your voice file isn't carrying enough signal. Spend a CLAUDE.md tightening pass before running again.
Still stuck? Post the prompt, what Claude returned, and what you expected, in the workshop Slack. Someone in the cohort is solving the same thing this week.
Where to go next.
The Email Reply Queue is the smallest version of a larger pattern. Three natural next moves on the shelf: