
Manage emails, compose messages, and organize your inbox
GMAIL ADD LABEL TO EMAIL
Adds and/or removes specified Gmail labels for a message; ensure `message_id` and all `label_ids` are valid (use 'listLabels' for custom label IDs).
GMAIL BATCH DELETE MESSAGES
Tool to permanently delete multiple Gmail messages in bulk. Use when you need to efficiently remove large numbers of emails (e.g., retention enforcement, mailbox hygiene).
GMAIL BATCH MODIFY MESSAGES
Modify labels on multiple Gmail messages in one efficient API call. Supports up to 1,000 messages per request for bulk operations like archiving, marking as read/unread, or applying custom labels.
GMAIL CREATE EMAIL DRAFT
Creates a Gmail email draft. All recipients (recipient_email, cc, bcc) are optional - drafts can be created without recipients and edited later before sending. At least one of subject or body must be provided. Supports To/Cc/Bcc, subject, plain/HTML body (ensure `is_html=True` for HTML), attachments, and threading. When creating a draft reply to an existing thread (thread_id provided), leave subject empty to stay in the same thread; setting a subject will create a NEW thread instead.
GMAIL CREATE LABEL
Creates a new label with a unique name in the specified user's Gmail account.
GMAIL DELETE DRAFT
Permanently deletes a specific Gmail draft using its ID; ensure the draft exists and the user has necessary permissions for the given `user_id`.
GMAIL DELETE LABEL
Permanently DELETES a user-created Gmail label from the account (not from a message). WARNING: This action DELETES the label definition itself, removing it from all messages. System labels (INBOX, SENT, UNREAD, etc.) cannot be deleted. To add/remove labels from specific messages, use GMAIL_ADD_LABEL_TO_EMAIL action instead.
GMAIL DELETE MESSAGE
Permanently deletes a specific email message by its ID from a Gmail mailbox; for `user_id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
GMAIL FETCH EMAILS
Fetches a list of email messages from a Gmail account, supporting filtering, pagination, and optional full content retrieval. GMAIL SEARCH SYNTAX (use in 'query' parameter): • from:sender@email.com - emails from specific sender • to:recipient@email.com - emails to specific recipient • subject:keyword - emails with keyword in subject • is:unread, is:read, is:starred - filter by status • has:attachment - emails with attachments • after:2024/01/01, before:2024/12/31 - date range • newer_than:7d, older_than:1m - relative dates • label:labelname - emails with specific label • in:inbox, in:sent, in:drafts - filter by folder HARD LIMIT: In full email mode (verbose=true OR include_payload!=false), max_results must be <= 30. If you need more, fetch in chunks.
GMAIL FETCH MESSAGE BY MESSAGE ID
Fetches a specific email message by its ID, provided the `message_id` exists and is accessible to the authenticated `user_id`.
GMAIL FETCH MESSAGE BY THREAD ID
Retrieves messages from a Gmail thread using its `thread_id`, where the thread must be accessible by the specified `user_id`.
GMAIL FORWARD MESSAGE
Forward an existing Gmail message to specified recipients, preserving original body and attachments.
GMAIL GET ATTACHMENT
Retrieves a specific attachment by ID from a message in a user's Gmail mailbox, requiring valid message and attachment IDs.
GMAIL GET AUTO FORWARDING
Tool to get the auto-forwarding setting for the specified account. Use when you need to retrieve the current auto-forwarding configuration including enabled status, forwarding email address, and message disposition.
GMAIL GET CONTACTS
Fetches contacts (connections) for the authenticated Google account, allowing selection of specific data fields and pagination.
GMAIL GET LANGUAGE SETTINGS
Tool to retrieve the language settings for a Gmail user. Use when you need to determine the display language preference for the authenticated user or a specific Gmail account.
GMAIL GET PEOPLE
Retrieves either a specific person's details (using `resource_name`) or lists 'Other Contacts' (if `other_contacts` is true), with `person_fields` specifying the data to return.
GMAIL GET PROFILE
Retrieves key Gmail profile information (email address, message/thread totals, history ID) for a user.
GMAIL GET VACATION SETTINGS
Tool to retrieve vacation responder settings for a Gmail user. Use when you need to check if out-of-office auto-replies are configured and view their content.
GMAIL LIST CSE IDENTITIES
Tool to list client-side encrypted identities for an authenticated user. Use when you need to retrieve CSE identity configurations including key pair associations.
GMAIL LIST CSE KEYPAIRS
Tool to list client-side encryption key pairs for an authenticated user. Use when you need to retrieve CSE keypair configurations including public keys and enablement states. Supports pagination for large result sets.
GMAIL LIST DRAFTS
Retrieves a paginated list of email drafts from a user's Gmail account. Use verbose=true to get full draft details including subject, body, sender, and timestamp.
GMAIL LIST HISTORY
Tool to list Gmail mailbox change history since a known startHistoryId. Use when performing incremental mailbox syncs to fetch only new changes.
GMAIL LIST LABELS
Retrieves a list of all system and user-created labels for the specified Gmail account.
GMAIL LIST SEND AS
Lists the send-as aliases for a Gmail account, including the primary address and custom 'from' aliases. Use when you need to retrieve available sending addresses for composing emails.
GMAIL LIST SMIME INFO
Lists S/MIME configs for the specified send-as alias. Use when you need to retrieve all S/MIME certificate configurations associated with a specific send-as email address.
GMAIL LIST THREADS
Retrieves a list of email threads from a Gmail account, identified by `user_id` (email address or 'me'), supporting filtering and pagination.
GMAIL MODIFY THREAD LABELS
Adds or removes specified existing label IDs from a Gmail thread, affecting all its messages; ensure the thread ID is valid.
GMAIL MOVE TO TRASH
Moves an existing, non-deleted email message to the trash for the specified user.
GMAIL PATCH LABEL
Patches the specified label.
GMAIL REPLY TO THREAD
Sends a reply within a specific Gmail thread using the original thread's subject, requiring a valid `thread_id` and at least one of recipient_email, cc, or bcc must be provided. Supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and `name`.
GMAIL SEARCH PEOPLE
Searches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'Other Contacts'.
GMAIL SEND DRAFT
Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers.
GMAIL SEND EMAIL
Sends an email via Gmail API using the authenticated user's Google profile display name. At least one of 'to' (or 'recipient_email'), 'cc', or 'bcc' must be provided. At least one of subject or body must be provided. Requires `is_html=True` if the body contains HTML. For attachments, you must provide a FileUploadable object with valid `s3key` (obtained from a previous file download action like GMAIL_GET_ATTACHMENT), `mimetype` (e.g., 'image/png', 'application/pdf'), and `name` (filename). All common file types including PNG, JPG, PDF, MP4, etc. are supported. Gmail API limits total message size to ~25 MB after base64 encoding. IMPORTANT WORKFLOW: Unless the user explicitly requests immediate sending, prefer creating a draft first using GMAIL_CREATE_EMAIL_DRAFT for user review. If a draft was already created in the current conversation, use GMAIL_SEND_DRAFT with the draft_id instead of this tool.
GMAIL SETTINGS GET IMAP
Retrieves the IMAP settings for a Gmail user account, including whether IMAP is enabled, auto-expunge behavior, expunge behavior, and maximum folder size.
GMAIL SETTINGS GET POP
Tool to retrieve POP settings for a Gmail account. Use when you need to check the current POP configuration including access window and message disposition.
GMAIL SETTINGS SEND AS GET
Tool to retrieve a specific send-as alias configuration for a Gmail user. Use when you need to get details about a send-as email address including display name, signature, SMTP settings, and verification status. Fails with HTTP 404 if the specified address is not a member of the send-as collection.
GMAIL MARK AS READ
Mark Gmail messages as read. Removes the UNREAD label from specified messages, marking them as read in the user's inbox. Args: request.message_ids: List of Gmail message IDs to mark as read Returns: Dict with success status and API response data
GMAIL MARK AS UNREAD
Mark Gmail messages as unread. Adds the UNREAD label to specified messages, making them appear unread in the user's inbox. Args: request.message_ids: List of Gmail message IDs to mark as unread Returns: Dict with success status and API response data
GMAIL ARCHIVE EMAIL
Archive Gmail messages. Removes the INBOX label from specified messages, moving them to the archive (All Mail) where they remain accessible but no longer appear in the inbox. Args: request.message_ids: List of Gmail message IDs to archive Returns: Dict with success status and API response data
GMAIL STAR EMAIL
Star or unstar Gmail messages. Adds or removes the STARRED label from specified messages. Starred messages appear in the Starred folder. Args: request.message_ids: List of Gmail message IDs to star/unstar request.unstar: If True, remove star; if False (default), add star Returns: Dict with success status, action taken, and API response data
GMAIL GET UNREAD COUNT
Get message counts using lightweight Gmail APIs. Supports two modes: 1) Label mode (default): returns per-label unread + total counts 2) Query mode: returns count estimates for a Gmail search query, with an unread-filtered estimate as well Notes: - Query counts use ``resultSizeEstimate`` from Gmail API. - For backward compatibility, single-label requests still return top-level ``unreadCount`` and ``label_id``.
GMAIL GET CONTACT LIST
Get contacts from email history. Extracts unique contacts from the user's email history using a search query. This is the most optimized tool for finding contacts. Args: request.query: Search query to filter contacts (e.g., name, email, domain) request.max_results: Maximum number of messages to analyze (default: 30) Returns: Array of contacts with name and email. Use this when: - User asks to find a contact by name or email - User asks "Show me contacts matching 'john'" - User asks "Find contacts from company.com"
GMAIL CUSTOM GATHER CONTEXT
Get Gmail context snapshot: profile info, inbox unread count, and recent message IDs. Zero required parameters. Returns current user's Gmail state for situational awareness.
GAIA connects to Gmail via MCP (Model Context Protocol) and exposes every action as a natural-language command. Tell GAIA what you want — it handles the rest, automatically.
Set up your Gmail automation in three simple steps — no code required.
Connect Gmail to GAIA
Open the GAIA Marketplace, find the Gmail integration, and click "Add to your GAIA". Authorise access in under two minutes — no code, no configuration files.
Tell GAIA what to automate in plain English
Describe the task in your own words: "summarise my Gmail activity every morning" or "notify me on Slack when a new communication event happens". GAIA understands context and intent.
GAIA handles it automatically, 24/7
GAIA runs your Gmail automations in the background around the clock. No manual triggers, no scripts to maintain — just results delivered to you.
Everything you need to know about the GAIA Gmail integration.
Gmail is just one piece of the puzzle. GAIA integrates with 50+ tools across communication, communication, productivity, and more — letting you build cross-tool automations in plain English without writing a single line of code.
Browse all integrations