Barside
Download
Barside/Content/Intelligence · AI agents

Intelligence · AI agents

How to have AI draft your email replies and wait for your approval before sending

Let the automation save the AI's reply as a draft and give it no step that sends, so you review it and press Send yourself. Gmail's API creates drafts with drafts.create, and Zapier's Gmail app has a Create Draft Reply action.

Feature guideUpdated 15 min read

One safe way to automate AI email reply drafts with human approval before sending is to let the automation write a draft in your mailbox and give it no step that sends. The AI reads the email, writes a reply and saves it as a draft. You open the draft, fix what needs fixing and press Send yourself, so your review is the approval step and nothing leaves your account without it. Google's Gmail API creates drafts with a method called drafts.create, and Zapier's Gmail app has a Create Draft Reply action for the same job.

This guide walks through both, using Google's Gmail and Gmail API documentation and Zapier's help center as we read them on October 16, 2026. It also lists what to check before you switch anything on: which emails the automation reads, where their text goes, which permission it holds and what happens on an error. We did not test these products or take screenshots, so every setting name on this page is the one its vendor prints. We make Barside, a free desktop app for Windows, Linux and Mac, and the later sections say what it does with email drafts and where it does not fit.

How to automate AI email reply drafts with human approval before sending

An automation that drafts an AI email reply with human approval before sending has three parts: something that notices a new email, an AI step that writes the reply, and an action that stores the result. The last part decides how safe the whole thing is. When the action creates a draft, the approval is you pressing Send. When the action sends, you need an approval step in front of it, and you have to decide what happens when nobody answers.

SetupWhat reads your emailWhere you approveWhat sends the replyIf nobody acts
Your own code with the Gmail API, calling only drafts.createYour code, with the Gmail scope you choseYour Gmail DraftsYou, with Send in GmailThe draft stays unsent
A Zap: Gmail trigger, AI by Zapier, then Create Draft ReplyThe Zap's Gmail triggerYour Gmail DraftsYou, in GmailThe draft stays unsent
A Zap with a Human in the Loop approval before Reply to EmailThe Zap's Gmail triggerZapier's review requestThe Zap, once someone approvesYour On timeout choice: Skip and continue or End run
Barside's agentsNothing: Barside does not connect to your email accountAgents & approvals → InboxYou, in your email appThe card keeps waiting

A draft-first setup fails in the safe direction, because a reply nobody reads stays in Drafts. A send-after-approval setup can suit a team where someone else reviews the replies, as long as its decline and timeout settings stop the run. The next two sections show each one from the vendors' own pages.

What Google's official Gmail API docs say about creating and sending drafts

Google's official docs for Gmail API drafts explain how to create and send them in one guide, Create and send draft emails, with a reference page for drafts.create and one for drafts.send. The guide defines drafts as "unsent messages with the DRAFT system label applied." To make one, you build an RFC 2822 MIME message, encode it as base64url and pass it as the raw message in a drafts.create request.

  • Create. The reference page sums the method up as "Creates a draft with the DRAFT label." The request is a POST to https://gmail.googleapis.com/gmail/v1/users/{userId}/drafts.
  • Change. The message inside a draft can't be edited, but it can be replaced. An update destroys the old message and puts the new one in its place, while the draft keeps the same ID.
  • Send. drafts.send "Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers." The guide says the draft is then deleted automatically, and a new message with a new ID and the SENT label takes its place.
  • Reply in the same thread. Google's Manage threads guide lists three conditions for a draft to join a conversation: the request names the threadId, the References and In-Reply-To headers follow RFC 2822, and the Subject headers match.

The permission that makes drafts can also send

Both reference pages accept the same three OAuth scopes, and a request needs one of them. Google's Choose Gmail API scopes page describes them like this:

ScopeGoogle's descriptionCategory
gmail.compose"Manage drafts and send emails."Restricted
gmail.modify"Read, compose, and send emails from your Gmail account."Restricted
https://mail.google.com/"Read, compose, send, and permanently delete all your email from Gmail."Restricted
gmail.readonly"View your email messages and settings."Restricted
gmail.send"Send email on your behalf."Sensitive

We found no Gmail scope that lets an app create drafts without also letting it send. Draft-only is therefore a rule you write into your program: call drafts.create, and leave every send call out of the code. For reading the email it answers, Google's descriptions point to gmail.readonly or gmail.modify.

Google says restricted scopes give wide access to Google user data and need its restricted scope verification, and that an app which stores or transmits restricted scope data on servers must go through a security assessment. Its general advice is to "choose the most narrowly focused scope possible."

How to build a Zapier Gmail workflow that drafts AI replies for approval

A Zapier Gmail AI draft reply approval workflow needs three steps in its simplest form: a Gmail trigger, an AI by Zapier step that writes the reply, and the Gmail action Create Draft Reply. Zapier's page on getting started with Gmail on Zapier lists four actions that matter here:

  • Create Draft: "Create a draft email message."
  • Create Draft Reply: "Create a draft reply to an existing email."
  • Reply to Email: "Send a reply to an email message."
  • Send Email: "Create and send a new email message."

For a draft-only Zap, use one of the first two and leave the last two out. Then build it like this:

  1. Connect Gmail. Zapier's page says the Gmail account can be "either free or paid", asks you to grant Zapier permission to access your account if prompted, and says that if Google's Advanced Protection Program is on, you must turn it off to use the Gmail app with Zapier.
  2. Choose a trigger that limits what the Zap reads. The page lists polling triggers such as New Email, New Labeled Email and New Email Matching Search. A label or a search keeps the Zap to the emails you mean it to answer.
  3. Add an AI by Zapier step. Its help page lists it on the Professional, Team and Enterprise plans, and says that on a Free plan the model tier defaults to Standard, with Advanced and Premium locked. Describe the job in the Prompt field, type / to insert fields from the trigger, such as the sender and the body, and define what the step returns under Output Fields.
  4. Add Gmail's Create Draft Reply and map the AI step's output into the reply.
  5. Test it, then turn it on, and read the first few drafts closely before you rely on it.

Add an approval step when a Zap must send

If a reviewer approves in Zapier and the Zap then sends, the approval step is Human in the Loop's Request Approval action. Its help page lists it on Professional, Team and Enterprise, and not on Free, and its prerequisites say Human in the Loop is a premium app that needs a paid Zapier account. You fill in an Approval request message and the Content to review, choose a Reviewer, and pick a notification by email, Slack or another Zap.

Four settings decide how safe it is:

  • Let Reviewer edit content? With Yes, the reviewer can fix the reply before approving it.
  • Action if reviewer declines: Continue run or Stop run. Choose Stop run when a send step follows.
  • On timeout: Skip and continue or End run, after a wait you set in minutes, hours, days or weeks. Choose End run, or a reply nobody approved can still reach the send step.
  • Send reminder: an optional nudge to the reviewer after a delay.

Reviewers need a Zapier account, and the Zap must be shared with them. The page says that on a Pro account you can only send approval requests to yourself, and that a Human in the Loop action can't sit within or after a Looping step.

After every call: tasks, reminders and a recap email · Open the video

What to check before you turn it on

Whichever tool you use, read these five points before the first real email arrives.

  • Which emails it reads. A trigger on every new email sends each new message to the AI step. A label, a search or a single address keeps it to one kind of message, and keeps payroll, legal and medical mail away from the AI.
  • Where the text goes. Whatever you map into the prompt, such as the sender, the subject and the body, goes to an AI model. Zapier's AI by Zapier page says the step uses large language models from Zapier's AI subprocessors, lists OpenAI, Anthropic, Google Gemini, Azure OpenAI and Amazon Bedrock as supported AI providers, and lets you connect your own provider account with Bring Your Own Key. It also says content moderation is applied by default with Zapier-provided models and cannot be switched off. With your own Gmail API code, the text goes wherever your code sends it.
  • Which permission it holds. In the Gmail API, gmail.compose can send as well as draft. Zapier's Gmail page does not list the exact permissions it asks for, so read Google's consent screen when you connect.
  • What happens on an error. Zapier's Replay Zap runs page offers manual replay on every plan, though on Free only for runs with an errored status. Autoreplay, on Professional, Team and Enterprise, "will automatically replay any Zap run with an errored status." In a draft-only Zap, a failed run means a missing draft, so look at the Zap's history when a reply you expected is not in Drafts. In your own code, handling errors is your job.
  • Your last chance to stop a send. Gmail's Write & send email help page describes Undo Send: in Settings, then See all settings, choose a send cancellation period of 5, 10, 20 or 30 seconds and press Save changes. Google says those instructions are primarily for the web.

An example from start to finish

The emails below are made-up examples that show the pattern.

Her Zap uses the New Labeled Email trigger on a Gmail label called Clients, which she puts on client mail. The AI step reads the email with the example prompt above and returns a reply. Create Draft Reply saves it as a draft reply to Jordan's email.

Maya opens Drafts at her next email check, attaches the report, changes "shortly" to "this afternoon" and presses Send. The tax question gets its own reply later, from her. If she had ignored the draft, nothing would have gone out.

What Barside does with email drafts, and what it does not

Barside does not connect to your email account, so it cannot watch your inbox or draft a reply to an email that just arrived. The only email it receives is the newsletters you subscribe or forward to your own Barside email address for Reading. If you want a draft for every new customer email, the Gmail API and Zapier setups above are the ones that fit, and Barside has no app-to-app connectors or webhooks to stand in for them.

What Barside covers is the email that comes out of your own work. Its AI agents propose email drafts, and each one waits in Agents & approvals → Inbox until you decide. Once you turn it on, the meeting agent prepares a recap email after a call, and a scheduled agent may suggest one email draft per run, using only addresses that appear in what it read or in your instructions. Approving an email card opens your email app with the draft, and you press send there. Barside never sends an email by itself.

To get a recap email draft after each call:

  1. Connect an AI in Settings → AI: Claude, ChatGPT or Gemini with an API key, or OpenRouter with a one-click sign-in.
  2. Open Agents & approvals, choose the Meeting tab and tick After each call transcript, prepare a follow-up. It is off by default.
  3. When a call transcription finishes, or a Barside meeting ends with a transcript, a recap email card appears in the Inbox with the draft.
  4. Press Edit to fill in To, change the Subject or trim the Message. Undo edits puts the card back as it was.
  5. Press Approve, and your email app opens with "Recap:" and the meeting title as the subject and the draft as the body. Or press Refuse, then Refuse again to reject it. Keep leaves it waiting.

If the message is too long for a mail link, Barside opens the draft without it and puts the text on your clipboard to paste. When an approved action fails, the card stays in the Inbox with the error. Proposals survive a restart, and the History tab lists every approval, refusal and error, with the latest 1,000 entries kept on your computer. The meeting follow-up guide shows how its tasks and decisions are checked against the transcript.

The AI assistant can also prepare a draft in an email app you have open. Before each step that types or clicks in that app, a Review computer action card shows the window, the control and any text, with Approve this action and Cancel action, and Barside never sends a message silently. On Windows it works through each app's accessibility controls. In Barside for Mac it reads and presses controls through System Events, once you allow Barside under Accessibility. On Linux it can focus windows and press keys, but it cannot read the controls inside other apps.

Two more limits matter. Scheduled agents never start on your computer while it is off, asleep or locked, unless Barside Plus runs them in the cloud. And every agent uses the AI you connect, so that company bills you for what it uses.

Where your email text goes in each setup

  • Zapier: the email passes through Zapier and the AI model behind the AI by Zapier step, as described above.
  • Your own Gmail API code: the email goes to your program and to whichever AI service it calls, and if it stores or transmits restricted scope data on servers, Google's security assessment applies.
  • Barside: the approval inbox and its history are stored on your computer and left out of backups. An agent's instructions and the notes or transcripts it works with go to the AI company you connected, whose data policy applies. Notes and workspaces you leave out of Library AI, in Library & briefing → Sources, are never given to an agent. Read how agents use your data.

Which setup fits your work

  • A developer who already writes Gmail tools can use the API, call only drafts.create, and keep the program free of send calls.
  • A small business owner answering customer questions can run a draft-only Zap on a label, on a plan that includes AI by Zapier.
  • A team where an assistant reviews another person's replies can add Human in the Loop before a send step, with Stop run on decline and End run on timeout.
  • A consultant whose emails come out of calls can let Barside's meeting agent draft the recap and approve it in one inbox.

For more ways to put a person in front of an AI action, compare the human-in-the-loop automation tools by how their approval works, or count costs with the Zapier alternatives for solo freelancers. To spend less time in email in the first place, read the Inbox Zero method.

Works well with

Barside runs on Windows, Linux and Mac, and you can download it free.

FAQ

Questions and answers

How do I let AI draft email replies without sending them?

Have the automation save the reply as a draft and give it no send step. With the Gmail API, that means calling drafts.create and never drafts.send. In Zapier, use the Gmail action Create Draft Reply after an AI by Zapier step, and leave out Reply to Email and Send Email. You read the draft in Gmail and press Send yourself.

Can a Gmail API app create drafts without permission to send?

We found no scope for that. Google's reference pages accept https://mail.google.com/, gmail.modify or gmail.compose for drafts.create, and the same three for drafts.send. Google describes gmail.compose, the narrowest of them, as "Manage drafts and send emails." Keeping an app draft-only is therefore a rule in its code: leave every send call out.

What happens to a Gmail draft when it is sent through the API?

Google's guide says the draft is deleted automatically, and a new message with a new ID and the SENT label is created and returned in the drafts.send response. The method sends the existing draft to the recipients in its To, Cc and Bcc headers.

Which Zapier plan do I need for AI drafts and approvals?

As of October 2026, Zapier's help pages list AI by Zapier on the Professional, Team and Enterprise plans, and say that on a Free plan its model tier defaults to Standard, with Advanced and Premium locked. Human in the Loop's Request Approval action is on Professional, Team and Enterprise and not on Free, and on a Pro account you can only send approval requests to yourself.

What happens if nobody answers a Zapier approval request?

The On timeout setting of the Request Approval step decides: Skip and continue, or End run, after a wait you set in minutes, hours, days or weeks. If a send step follows, choose End run, and set Action if reviewer declines to Stop run, so a reply nobody approved does not reach the send step.

Can Barside read my inbox and draft replies to new emails?

No. Barside does not connect to your email account, and it has no app-to-app connectors or webhooks, so nothing starts when a new email arrives. It drafts emails that come out of your own work, such as the meeting agent's recap after a call or an email a scheduled agent suggests. Each one waits in Agents & approvals → Inbox, where you edit and approve it.

Does Barside send emails by itself?

No. Approving an email card in Agents & approvals → Inbox opens your email app with the draft, including recipients, subject and message, and you press send there. Before approving, press Edit to change To, Subject and Message. If the message is too long for a mail link, Barside opens the draft without it and puts the text on your clipboard to paste.

Is Barside free?

Yes. Barside is free on Windows, Linux and Mac, with agents and the approval inbox included. Agents use the AI you connect in Settings → AI, and that company bills you for what they use. Barside Plus is optional at US$20 a month or US$200 a year plus sales tax, and adds cloud agents, cloud sync and encrypted cloud backup.

Sources

Where the facts come from

Checked on October 22, 2026. Products change: if something here is out of date, tell us at support@barside.space.

  1. Gmail API: Create and send draft emails
  2. Gmail API: Manage threads
  3. Gmail API: Choose Gmail API scopes
  4. Gmail API reference: Method users.drafts.create
  5. Gmail API reference: Method users.drafts.send
  6. Gmail Help: Write & send email
  7. Zapier Help: How to get started with Gmail on Zapier
  8. Zapier Help: Use AI by Zapier to analyze and return data
  9. Zapier Help: Request approval to keep your workflow running with Human in the Loop
  10. Zapier Help: Replay Zap runs