Skip to Content
ResourcesIntegrationsProductivity & DocsGmail

Gmail

Service domainEMAIL
Gmail icon
Arcade Optimized

Arcade.dev LLM tools for Gmail

Author:Arcade
Version:8.1.0
Auth:User authorization via the Google auth provider
22tools

The Gmail toolkit lets LLMs interact with a user's Gmail account through the Gmail API. It covers the full email lifecycle — reading, composing, sending, replying, forwarding, drafting, labeling, searching, and trashing — with no extra secrets beyond OAuth.

Capabilities

  • Reading & searching — Fetch individual messages or full threads by ID, list emails or threads with optional automated-mail filtering, search threads by query, look up messages by header, and retrieve the authenticated user's identity and mailbox totals.
  • Composing & sending — Send new emails, reply to messages, forward messages (with quoted body and attachments), and attach local files via file:// URIs without passing raw bytes through the conversation.
  • Draft management — Create, list, read, update, send, and delete drafts; update supports subject, body, recipients, CC, and BCC independently; reply drafts preserve quote tails; content type is preserved automatically.
  • Label management — List all labels, create new labels, and add or remove labels on individual messages or entire threads; label names resolve case-insensitively.
  • Trash operations — Move a single message to Trash or restore it, leaving the rest of the thread untouched; trashed messages remain recoverable.

OAuth

This toolkit uses OAuth 2.0 via Google. See the Arcade Google auth provider docs for setup details, required scopes, and configuration.

Available tools(22)

22 of 22 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add and remove labels from an email using the Gmail API. Label names match case-insensitively when there is no exact match, so "important" resolves to the "Important" label. The confirmation reflects the labels actually present on the message after the change, not the requested input.
Add and remove labels on every message in a thread using the Gmail API. Use this to change a whole conversation at once (for example, marking a thread read by removing "UNREAD") instead of modifying each message. Label names match case-insensitively when there is no exact match. The confirmation reflects the labels actually present across the thread after the change, not the requested input.
Create a new label in the user's mailbox.
Delete a draft email using the Gmail API.
Send a copy of one message to new recipients as a new conversation. The forward quotes the original body, prefixes the subject with ``Fwd:``, carries filename-bearing attachments, and prepends the optional note. It does not reply to or change the original conversation.
Read one message by ID without loading the rest of its thread. Returns parsed sender and recipient headers, the subject, text and HTML bodies, labels, dates, and attachment metadata. Attachment file bytes are not returned.
Get the specified thread by ID.
Lists draft emails in the user's draft mailbox using the Gmail API.
Read emails from a Gmail account and extract plain text content. By default, obvious automated emails are excluded from results using no-reply sender patterns and Gmail's non-primary category filters (promotions, social, updates, forums). Set exclude_automated=False to include all emails regardless of source.
Search for emails by header using the Gmail API.
List all the labels in the user's mailbox.
List threads in the user's mailbox. By default, obvious automated threads are excluded from results using no-reply sender patterns and Gmail's non-primary category filters (promotions, social, updates, forums). Set exclude_automated=False to include all threads regardless of source.
Send a reply to an email message, optionally with one or more file attachments. To attach files, pass ``attachments`` and give each file's local path as a ``file://`` URI in ``source`` (formatted ``file:///absolute/path/to/file``). The file's bytes are read and substituted on the client before the request is sent, so the contents never pass through this conversation. Do not read, encode, or inline the bytes yourself.
Search for threads in the user's mailbox.
Send a draft email using the Gmail API.
Send an email using the Gmail API, optionally with one or more file attachments. To attach files, pass ``attachments`` and give each file's local path as a ``file://`` URI in ``source`` (formatted ``file:///absolute/path/to/file``). The file's bytes are read and substituted on the client before the request is sent, so the contents never pass through this conversation. Do not read, encode, or inline the bytes yourself.
Move one message to Trash without deleting the rest of its conversation. Only the message identified by ``email_id`` is moved. Other messages in the same thread are unchanged, and the trashed message remains recoverable while retained.
Restore one message from Trash without changing the rest of its conversation. The message's ``TRASH`` label is removed. If the message is already restored, the operation succeeds as a no-op and returns its current state.
Update an existing email draft using the Gmail API. Single-part ``text/plain`` and single-part ``text/html`` drafts both support full body replacement; the rebuild follows the existing draft's content type, so a plain draft stays plain and an HTML draft stays HTML. Plain-text input supplied against an HTML draft is auto-converted to HTML, and HTML input supplied against a plain draft is stored verbatim as ``text/plain``. Reply drafts preserve their reply-quote tail (``> `` lines for plain, ``<blockquote>`` for HTML) when the body is supplied as a top-only update. Multipart drafts and drafts with attachments still fail when the body changes; in those cases the tool succeeds only when the effective body is unchanged (metadata-only update preserving the existing MIME tree). Edit those drafts in Gmail directly. For each of subject, body, recipient, cc, and bcc, omitting the parameter or passing ``None`` leaves that part of the draft unchanged (for cc/bcc, existing headers are kept; pass an empty list to clear).
Return who the Gmail calls run as: the authenticated user's identity and mailbox totals.
Compose a new email draft using the Gmail API, optionally with file attachments. To attach files, pass ``attachments`` and give each file's local path as a ``file://`` URI in ``source`` (formatted ``file:///absolute/path/to/file``). The file's bytes are read and substituted on the client before the request is sent, so the contents never pass through this conversation. Do not read, encode, or inline the bytes yourself.
Compose a draft reply to an email message, optionally with one or more file attachments. To attach files, pass ``attachments`` and give each file's local path as a ``file://`` URI in ``source`` (formatted ``file:///absolute/path/to/file``). The file's bytes are read and substituted on the client before the request is sent, so the contents never pass through this conversation. Do not read, encode, or inline the bytes yourself.
Last updated on