App Logo
mail.google.com

Send a Gmail draft

Automatically send a Gmail draft on mail.google.com. Send an existing Gmail draft, identified by the id the drafts listing gives you: a new message, or a reply saved inside a conversation. This delivers a real message and cannot be undone. The draft's recipients and subject are reported back with the send, and a draft with no recipient is refused rather than attempted. The call succeeds only once Gmail confirms the send; otherwise it fails and says whether anything may have gone out. The conversation id is returned and is the same before and after sending, so the message can be found again afterwards. Sending a reply opens its conversation, which marks it as read.

Input

draftId required

The draft's current id, as returned by the drafts listing: a new message or a reply saved inside a conversation. Gmail replaces a draft's id every time it is saved, so use a freshly listed one.

account optional

Google account email whose draft this is. Without it Gmail opens the first signed-in account (u/0), which may not be the one holding the draft when several accounts share the browser.

Output

sent required

True when the message was actually sent. Always true on success: the script fails loudly instead of returning false.

subject required

Subject of the message that was sent. Empty when the draft had no subject. For a reply, the subject it carries from its conversation.

threadId required

Conversation id, unchanged by sending, so the sent message can be located afterwards.

account_used required

The Gmail account the message was sent from, read from the session rather than assumed.

verified_on_page required

True when the send was confirmed by server-derived evidence: Gmail accepting it, or the message appearing in a settled Sent list (for a reply, together with the draft leaving Drafts).

recipientsDisplay required

The recipients as the compose window lists them: display names, which is what Gmail renders there. The addresses are in recipients.

sender optional

The address the message was sent from: the Gmail account whose mailbox held and sent the draft (same as account_used).

isReply optional

True when the draft was a reply saved inside a conversation, false for a new message.

attempts optional

How many Send clicks it took before Gmail accepted. More than 1 means a click silently failed to reach the server and was retried.

leftDrafts optional

Whether the draft had disappeared from Drafts by the time this was checked. For a new message it is informational, since it depends on the list repainting. For a reply it is this very draft id, and it backs the Sent check.

recipients optional

The To addresses as the compose window holds them, so the delivery is auditable.

foundInSent optional

Whether the message was found in Sent afterwards, read only once the previous view's draft rows had cleared. For a new message, its conversation; for a reply, its conversation ending on a new message, since the conversation may have been in Sent before.

previousDraftId optional

The draft id that was sent and therefore no longer exists as a draft.

accepted_by_server optional

True when Gmail confirmed it accepted the send: the Undo link's target rewritten to a server-assigned conversation, or Gmail's answer listing the message under Sent.

FAQ

Send an existing Gmail draft, identified by the id the drafts listing gives you: a new message, or a reply saved inside a conversation. This delivers a real message and cannot be undone. The draft's recipients and subject are reported back with the send, and a draft with no recipient is refused rather than attempted. The call succeeds only once Gmail confirms the send; otherwise it fails and says whether anything may have gone out. The conversation id is returned and is the same before and after sending, so the message can be found again afterwards. Sending a reply opens its conversation, which marks it as read.
Ask an AI agent connected to Reduck to run reduck/mail.google.com/send_draft, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/mail.google.com/send_draft
You do not need one. "Send a Gmail draft" drives the real mail.google.com pages in a browser, so it works whether or not mail.google.com offers an API for this.
Required: draftId. Optional: account.
It returns sent, sender, isReply, subject, attempts, threadId, leftDrafts, recipients, foundInSent, account_used, previousDraftId, verified_on_page, recipientsDisplay, accepted_by_server.
Yes. It acts as you on mail.google.com: on your own Chrome it reuses your session, and on a Reduck-hosted browser it loads the mail.google.com cookies saved by the Reduck extension.
It makes changes on mail.google.com, like sending, posting, booking or buying something.
Ask an AI agent connected to Reduck to run reduck/mail.google.com/send_draft, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/mail.google.com/send_draft
It is part of Reduck's official curated catalogue.

Start building not clicking