Skip to Content
ResourcesIntegrationsProductivity & DocsGmail

Gmail

Service domainEMAIL
Gmail icon
Arcade Optimized

Arcade.dev LLM tools for Gmail

Author:Arcade
Version:6.0.0
Auth:User authorization via the Google auth provider
18tools

Gmail toolkit provides LLM-callable tools for interacting with Gmail via the Arcade platform, enabling agents to read, compose, send, organize, and manage email on behalf of authenticated users.

Capabilities

  • Reading & searching: List emails, threads, and drafts; search threads; retrieve a thread by ID; search by header fields.
  • Sending & replying: Send new emails, send existing drafts, reply to messages, and send draft replies.
  • Composing & drafting: Write new drafts, compose draft replies, update existing drafts (subject, body, recipients, cc, bcc — with smart plain/HTML handling and reply-quote preservation), and delete drafts.
  • Label management: List all labels, create new labels, and add or remove labels on individual emails.
  • Mailbox actions: Move emails to trash, retrieve full thread content, and fetch user profile and account statistics.

OAuth

This toolkit uses OAuth 2.0 via the Google provider. Arcade handles the authorization flow automatically. See the Google auth provider docs for configuration details.

Draft Update Behavior

Key constraints to be aware of when using Gmail.UpdateDraftEmail:

  • Single-part text/plain and text/html drafts support full body replacement; the rebuild preserves the draft's existing content type.
  • Plain-text input against an HTML draft is auto-converted to HTML; HTML input against a plain draft is stored verbatim as text/plain.
  • Reply drafts preserve their reply-quote tail (> lines for plain, <blockquote> for HTML) on top-only body updates.
  • Multipart drafts and drafts with attachments fail on body changes; only metadata-only updates succeed for those — edit them in Gmail directly.
  • Omitting a parameter or passing None leaves that field unchanged; pass an empty list for cc/bcc to clear those headers.

Available tools(18)

18 of 18 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add and remove labels from an email using the Gmail API.
Create a new label in the user's mailbox.
Delete a draft email using the Gmail API.
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.
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.
Send a reply to an email message.
Search for threads in the user's mailbox
Send a draft email using the Gmail API.
Send an email using the Gmail API.
Move an email to the trash folder using the Gmail API.
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).
Get comprehensive user profile and Gmail account information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Gmail account statistics, and other important profile details from Google services.
Compose a new email draft using the Gmail API.
Compose a draft reply to an email message.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Gmail.ChangeEmailLabels

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Add and remove labels from an email using the Gmail API.

Parameters

ParameterTypeReq.Description
email_idstringRequiredThe ID of the email to modify labels for
labels_to_addarray<string>RequiredList of label names to add
labels_to_removearray<string>RequiredList of label names to remove

Requirements

No secrets required

Output

Type:jsonConfirmation with labels that were added and removed
#

Gmail.CreateLabel

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create a new label in the user's mailbox.

Parameters

ParameterTypeReq.Description
label_namestringRequiredThe name of the label to create

Requirements

No secrets required

Output

Type:jsonThe created label wrapped in label key
#

Gmail.DeleteDraftEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Delete a draft email using the Gmail API.

Parameters

ParameterTypeReq.Description
draft_email_idstringRequiredThe ID of the draft email to delete

Requirements

No secrets required

Output

Type:stringA confirmation message indicating successful deletion
#

Gmail.GetThread

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get the specified thread by ID.

Parameters

ParameterTypeReq.Description
thread_idstringRequiredThe ID of the thread to retrieve

Requirements

No secrets required

Output

Type:jsonA dictionary containing the thread details with dates in descriptive UTC format
#

Gmail.ListDraftEmails

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Lists draft emails in the user's draft mailbox using the Gmail API.

Parameters

ParameterTypeReq.Description
n_draftsintegerOptionalNumber of draft emails to read (Min 1, Max 100)

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of draft email details with dates in descriptive UTC format
#

Gmail.ListEmails

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Read emails from a Gmail account and extract plain text content.

Parameters

ParameterTypeReq.Description
n_emailsintegerOptionalNumber of emails to read (Min 1, Max 100)

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of email details with dates in descriptive UTC format
#

Gmail.ListEmailsByHeader

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Search for emails by header using the Gmail API.

Parameters

ParameterTypeReq.Description
senderstringOptionalThe name or email address of the sender of the email
recipientstringOptionalThe name or email address of the recipient
subjectstringOptionalWords to find in the subject of the email
bodystringOptionalWords to find in the body of the email
date_rangestringOptionalThe date range of the email
todayyesterdaylast_7_dayslast_30_daysthis_monthlast_monththis_year
labelstringOptionalThe label name to filter by
max_resultsintegerOptionalThe maximum number of emails to return (Min 1, Max 100

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of email details with dates in descriptive UTC format
#

Gmail.ListLabels

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List all the labels in the user's mailbox.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of label details
#

Gmail.ListThreads

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List threads in the user's mailbox.

Parameters

ParameterTypeReq.Description
page_tokenstringOptionalPage token to retrieve a specific page of results in the list
max_resultsintegerOptionalThe maximum number of threads to return (Min {MIN_RESULTS}, Max {MAX_RESULTS})
include_spam_trashbooleanOptionalWhether to include spam and trash in the results

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of thread details
#

Gmail.ReplyToEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Send a reply to an email message.

Parameters

ParameterTypeReq.Description
bodystringRequiredThe body of the email, as plain text or HTML.
reply_to_message_idstringRequiredThe ID of the message to reply to
reply_to_whomstringOptionalWhether to reply to every recipient (including cc) or only to the original sender. Defaults to 'GmailReplyToWhom.ONLY_THE_SENDER'.
every_recipientonly_the_sender
ccarray<string>OptionalAdditional CC recipients. When replying to every recipient, merged with CC from the original message; duplicates are removed (RFC-aware). Duplicates of the reply's To recipients are dropped from Cc (RFC-aware mailbox comparison). The authenticated user's own email address is removed from Cc on replies.
bccarray<string>OptionalBCC recipients of the email. The authenticated user's own email address is removed from Bcc on replies.
content_typestringOptionalHow the body is encoded on the wire. `auto` (default) sends as HTML and auto-converts plain-text input to paragraphs. `html` sends the body verbatim as HTML (use this when it contains entities or non-allow-listed tags); `plain` is plain text.
plainhtmlauto

Requirements

No secrets required

Output

Type:jsonA dictionary containing the sent email details with date in descriptive UTC format
#

Gmail.SearchThreads

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Search for threads in the user's mailbox

Parameters

ParameterTypeReq.Description
page_tokenstringOptionalPage token to retrieve a specific page of results in the list
max_resultsintegerOptionalThe maximum number of threads to return (Min {MIN_RESULTS}, Max {MAX_RESULTS})
include_spam_trashbooleanOptionalWhether to include spam and trash in the results
label_idsarray<string>OptionalThe IDs of labels to filter by
senderstringOptionalThe name or email address of the sender of the email
recipientstringOptionalThe name or email address of the recipient
subjectstringOptionalWords to find in the subject of the email
bodystringOptionalWords to find in the body of the email
date_rangestringOptionalThe date range of the email
todayyesterdaylast_7_dayslast_30_daysthis_monthlast_monththis_year

Requirements

No secrets required

Output

Type:jsonA dictionary containing a list of thread details
#

Gmail.SendDraftEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Send a draft email using the Gmail API.

Parameters

ParameterTypeReq.Description
email_idstringRequiredThe ID of the draft to send

Requirements

No secrets required

Output

Type:jsonA dictionary containing the sent email details with date in descriptive UTC format
#

Gmail.SendEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Send an email using the Gmail API.

Parameters

ParameterTypeReq.Description
subjectstringRequiredThe subject of the email
bodystringRequiredThe body of the email, as plain text or HTML.
recipientstringRequiredThe recipient of the email
ccarray<string>OptionalCC recipients of the email
bccarray<string>OptionalBCC recipients of the email
content_typestringOptionalHow the body is encoded on the wire. `auto` (default) sends as HTML and auto-converts plain-text input to paragraphs. `html` sends the body verbatim as HTML (use this when it contains entities or non-allow-listed tags); `plain` is plain text.
plainhtmlauto

Requirements

No secrets required

Output

Type:jsonA dictionary containing the sent email details with date in descriptive UTC format
#

Gmail.TrashEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Move an email to the trash folder using the Gmail API.

Parameters

ParameterTypeReq.Description
email_idstringRequiredThe ID of the email to trash

Requirements

No secrets required

Output

Type:jsonDetails of the trashed email with URL to view in Gmail trash folder
#

Gmail.UpdateDraftEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

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).

Parameters

ParameterTypeReq.Description
draft_email_idstringRequiredThe ID of the draft email to update.
subjectstringOptionalDraft subject. Omit or pass None to leave the existing subject unchanged.
bodystringOptionalUpdated body for the draft. There is no `content_type` argument — the body is encoded to match the existing draft, and reply drafts re-attach their existing reply-quote tail. Omit or pass None to leave the body unchanged.
recipientstringOptionalTo header. Omit or pass None to leave the existing recipient unchanged.
ccarray<string>OptionalCc recipients. Omit or pass None to preserve the existing Cc header; pass an empty list to clear Cc.
bccarray<string>OptionalBcc recipients. Omit or pass None to preserve the existing Bcc header; pass an empty list to clear Bcc.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the updated draft email details with date in descriptive UTC format
#

Gmail.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Email
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get comprehensive user profile and Gmail account information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Gmail account statistics, and other important profile details from Google services.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Gmail account information.
#

Gmail.WriteDraftEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Compose a new email draft using the Gmail API.

Parameters

ParameterTypeReq.Description
subjectstringRequiredThe subject of the draft email
bodystringRequiredThe body of the email, as plain text or HTML.
recipientstringRequiredThe recipient of the draft email
ccarray<string>OptionalCC recipients of the draft email
bccarray<string>OptionalBCC recipients of the draft email
content_typestringOptionalHow the body is encoded on the wire. `auto` (default) sends as HTML and auto-converts plain-text input to paragraphs. `html` sends the body verbatim as HTML (use this when it contains entities or non-allow-listed tags); `plain` is plain text.
plainhtmlauto

Requirements

No secrets required

Output

Type:jsonA dictionary containing the created draft email details with date in descriptive UTC format
#

Gmail.WriteDraftReplyEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
CreateRead
Service domains
Email
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Compose a draft reply to an email message.

Parameters

ParameterTypeReq.Description
bodystringRequiredThe body of the email, as plain text or HTML.
reply_to_message_idstringRequiredThe Gmail message ID of the message to draft a reply to
reply_to_whomstringOptionalWhether to reply to every recipient (including cc) or only to the original sender. Defaults to 'GmailReplyToWhom.ONLY_THE_SENDER'.
every_recipientonly_the_sender
ccarray<string>OptionalAdditional CC recipients. When replying to every recipient, merged with CC from the original message; duplicates are removed (RFC-aware). Duplicates of the reply's To recipients are dropped from Cc (RFC-aware mailbox comparison). The authenticated user's own email address is removed from Cc on replies.
bccarray<string>OptionalBcc recipients of the draft reply email. The authenticated user's own email address is removed from Bcc on replies.
content_typestringOptionalHow the body is encoded on the wire. `auto` (default) sends as HTML and auto-converts plain-text input to paragraphs. `html` sends the body verbatim as HTML (use this when it contains entities or non-allow-listed tags); `plain` is plain text.
plainhtmlauto

Requirements

No secrets required

Output

Type:jsonDraft details; use draft_email_id (or id) for update/send/delete—not message.id.
Last updated on