All workflows

When a new email arrives, Claude writes the reply you would have written and leaves it in your Gmail drafts for you to send.

On new email in Gmail2 apps4 steps

Apps it connects

Authenticate each one once and the workflow is ready to run.

What it does

The integration steps this workflow runs, in the order it first runs them.

  1. 1GmailNew email trigger
  2. 2AnthropicGenerate model response
  3. 3GmailSend
  4. 4GmailCreate draft

How it works

Everything the template sets up, and what to fill in before the first run.

Every new email that lands in your Gmail inbox gets a reply written for it, in your voice, waiting in your drafts. You open Gmail, read what Claude wrote, change what you want and hit send. Nothing reaches the sender until you send it.

Before the first run, edit the settings at the top of the workflow: - aboutMe: who you are, how you write, what you can answer yourself, and what you never commit to in a first reply. This is the setting that decides whether the drafts sound like you, so it is worth several sentences. What ships in it is a placeholder: replace it. - signOffName: the name the reply closes with. - deliveryMode: "draft" (the default) leaves the reply in Gmail's Drafts. "send" emails it to the sender the moment Claude writes it, with nobody reading it first. - skipSenderPatterns / skipSubjectPatterns / skipBodyPatterns: the addresses, subject lines and body phrases that never get a draft. Add your own, or delete a line to stop skipping on it. - minBodyChars: how much text an email needs before it is worth a draft. Defaults to 20 characters, which drops an empty or one-word body and keeps a short real question. - maxBodyChars: how much of a long email Claude reads. Defaults to 6000 characters, which covers most threads and keeps a forwarded novel from costing a fortune.

Which emails get a draft A draft for an email you would never answer is worse than no draft at all. One is skipped, with a line in the run log naming the rule that skipped it, when: the From line holds no usable address; the sender looks unattended (noreply, mailer-daemon, postmaster, notifications, bounce); the subject marks it as itself an automatic message (out of office, automatic reply, undeliverable, read receipt); the body reads as bulk mail (unsubscribe, view this email in your browser, you are receiving this email because); or there is barely any text in it. Claude gets the last word after that: an email that asks for nothing comes back as "NO REPLY NEEDED" and no draft is written. If your inbox gets genuine "please unsubscribe me" requests, take that phrase out of skipBodyPatterns, because the rule cannot tell a newsletter footer from someone asking you to act on one.

What Claude is told Answer what the email actually asks, in the sender's language, at the sender's level of formality, under 150 words. Use only what is in the email and in your aboutMe, and leave a square-bracketed placeholder such as [confirm the retention window] wherever the reply needs a fact it does not have, rather than inventing one. Plain text, no Markdown, no subject line, no preamble. The placeholders are the point: a draft with two blanks in it takes ten seconds to finish, and a draft with a confident wrong number in it costs you a customer.

Why a draft and not a send The reply goes to someone outside your company, and a model reading one email cannot know what you have already promised that person. A draft puts a person between Claude and the customer at the one moment it matters. Setting deliveryMode to "send" removes that, and the run log says as much on every email it sends; if you do turn it on, set the trigger's From filter first so it only ever answers senders you meant.

What it needs Connections: Gmail (watching the inbox, saving the draft) and Anthropic (writing the reply). One Claude call per email that clears the skip rules, so cost tracks how much real mail you get.

Worth knowing Gmail's draft step creates a new draft addressed to the sender with a "Re:" subject; it is not attached to the original conversation, so look for it in Drafts rather than under the message it answers. The trigger watches the whole inbox by default. To narrow it, put an address in the trigger's From field: one address (alice@example.com), a domain (@example.com), or a wildcard (*@example.com). To run this on a shared support address instead of your own, connect that Gmail account rather than changing the workflow.

gmailemaildraftsclaudeinboxreplytrigger

Start from a workflow that already works.

Add "Smart email draft generator" to your workspace, connect its apps, and make it yours. No credit card required.

Free plan available · No credit card required