MissionControlHQMissionControlHQResources
ArticlesDocs
Get early access→
Integrations
Email & Productivity
  • Gmail
  • Outlook
  • Google Docs
  • Google Sheets
  • Excel
  • Notion
  • Confluence
  • Airtable
  • Todoist
  • Google Tasks
  • Canva
Communication
  • Slack
  • Microsoft Teams
  • Discord
  • WhatsApp
  • Webex
Scheduling & Meetings
  • Google Calendar
  • Zoom
  • Calendly
  • Cal.com
  • Google Meet
  • Eventbrite
Marketing & Social
  • Mailchimp
  • Google Ads
  • Facebook
  • LinkedIn
  • YouTube
  • Reddit
  • Dub
CRM & Support
  • HubSpot
  • Salesforce
  • Attio
  • Capsule CRM
  • Intercom
  • Zendesk
  • Gorgias
  • Zoho Desk
  • Gong
File Storage
  • Google Drive
  • Dropbox
  • OneDrive
  • Box
  • SharePoint
  • Google Photos
E-commerce & Payments
  • Stripe
  • Square
Finance & Time
  • Harvest
  • Zoho Books
  • Zoho Invoice
  • FreshBooks
  • Fathom
Analytics
  • Google BigQuery
Dev & Project Management
  • GitHub
  • GitLab
  • Bitbucket
  • Linear
  • Jira
  • Asana
  • ClickUp
  • Trello
  • Monday.com
  • Basecamp
  • Wrike
  • Productboard
  • Figma
  • Miro
  • Sentry
  • PagerDuty
  • Supabase
  • DigitalOcean
Resources/Integrations/Gmail

Email & Productivity

✉️ Gmail integration

Access levels: Read-only · Read + send · Full access · Verified July 15, 2026

NextOutlook

Connect Gmail once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.

What your squad can do in Gmail

  • Look things up, fetch emails; fetch message by message id; fetch message by thread id, and more.
  • Do real work, add label to email; create email draft; create filter; create label, and more.
  • Run it on a schedule: any of the 63 available tools below can be part of a scheduled task or a mission.

How to connect

  1. In your dashboard, open Integrations and find Gmail.
  2. Click Connect and pick an access level (we recommend Full access): this is the ceiling for every agent.
  3. Sign in to Gmail in the window that opens and approve. You land back on the Integrations page with the account live.

You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.

Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.

Access levels

The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.

LevelWhat it allows
Read-onlyRead your inbox and search emails. Cannot send, modify, or delete.
Read + sendRead inbox and send new emails. Cannot delete or modify existing.
Full accessRead, send, delete, manage labels and drafts.Recommended

On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.

Every tool, in plain terms

The 63 tools agents use in Gmail through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.

ToolWhat it doesAccess level
Add label to email
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).Read + send, Full access
Batch delete messages
GMAIL_BATCH_DELETE_MESSAGES
Permanently delete multiple Gmail messages in bulk, bypassing Trash with no recovery possible.Full access
Batch modify messages
GMAIL_BATCH_MODIFY_MESSAGES
Modify labels on multiple Gmail messages in one efficient API call.Read + send, Full access
Create email draft
GMAIL_CREATE_EMAIL_DRAFT
Creates a Gmail email draft. While all fields are optional per the Gmail API, practical validation requires at least one of recipient_email, cc, or bcc and at least one of subject or body. Supports To/Cc/Bcc recipients,…Read + send, Full access
Create filter
GMAIL_CREATE_FILTER
Create a new Gmail filter with specified criteria and actions.Read + send, Full access
Create label
GMAIL_CREATE_LABEL
Creates a new label with a unique name in the specified user's Gmail account.Read + send, Full access
Create prompt post
GMAIL_CREATE_PROMPT_POST
Send a one-shot prompt to the Sanity Content Agent.All levels
Delete draft
GMAIL_DELETE_DRAFT
Permanently deletes a specific Gmail draft using its ID with no recovery possible; verify the correct draft_id and obtain explicit user confirmation before calling.Full access
Delete filter
GMAIL_DELETE_FILTER
Permanently delete a Gmail filter by its ID.Full access
Delete label
GMAIL_DELETE_LABEL
Permanently DELETES a user-created Gmail label from the account (not from a message).Full access
Delete message
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.Full access
Delete thread
GMAIL_DELETE_THREAD
Immediately and permanently delete a specified thread and all its messages.Full access
Fetch emails
GMAIL_FETCH_EMAILS
Fetches a list of email messages from a Gmail account, supporting filtering, pagination, and optional full content retrieval.All levels
Fetch message by message id
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.All levels
Fetch message by thread 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.All levels
Forward message
GMAIL_FORWARD_MESSAGE
Forward an existing Gmail message to specified recipients, preserving original body and attachments.Read + send, Full access
Get attachment
GMAIL_GET_ATTACHMENT
Retrieves a specific attachment by ID from a message in a user's Gmail mailbox, requiring valid message and attachment IDs.All levels
Get auto forwarding
GMAIL_GET_AUTO_FORWARDING
Get the auto-forwarding setting for the specified account.All levels
Get contacts
GMAIL_GET_CONTACTS
Fetches contacts (connections) for the authenticated Google account, allowing selection of specific data fields and pagination.All levels
Get draft
GMAIL_GET_DRAFT
Retrieves a single Gmail draft by its ID. Use this to fetch and inspect draft content before sending via GMAIL_SEND_DRAFT. The format parameter controls the level of detail returned.All levels
Get filter
GMAIL_GET_FILTER
Retrieve a specific Gmail filter by its ID.All levels
Get label
GMAIL_GET_LABEL
Gets details for a specified Gmail label. Use this to retrieve label information including name, type, visibility settings, message/thread counts, and color.All levels
Get language settings
GMAIL_GET_LANGUAGE_SETTINGS
Retrieve the language settings for a Gmail user.All levels
Get people
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.All levels
Get profile
GMAIL_GET_PROFILE
Retrieves Gmail profile information (email address, aggregate messagesTotal/threadsTotal, historyId) for a user.All levels
Get vacation settings
GMAIL_GET_VACATION_SETTINGS
Retrieve vacation responder settings for a Gmail user.All levels
Import message
GMAIL_IMPORT_MESSAGE
Import a message into the user's mailbox with standard email delivery scanning and classification.Read + send, Full access
Insert message
GMAIL_INSERT_MESSAGE
Insert a message into the user's mailbox similar to IMAP APPEND.Read + send, Full access
List cse identities
GMAIL_LIST_CSE_IDENTITIES
List client-side encrypted identities for an authenticated user.All levels
List cse keypairs
GMAIL_LIST_CSE_KEYPAIRS
List client-side encryption key pairs for an authenticated user.All levels
List drafts
GMAIL_LIST_DRAFTS
Retrieves a paginated list of email drafts from a user's Gmail account.All levels
List filters
GMAIL_LIST_FILTERS
List all Gmail filters (rules) in the mailbox.All levels
List forwarding addresses
GMAIL_LIST_FORWARDING_ADDRESSES
List all forwarding addresses for the specified Gmail account.All levels
List history
GMAIL_LIST_HISTORY
List Gmail mailbox change history since a known startHistoryId.All levels
List labels
GMAIL_LIST_LABELS
Retrieves all system and user-created labels for a Gmail account in a single unpaginated response.All levels
List messages
GMAIL_LIST_MESSAGES
DEPRECATED: Use GMAIL_FETCH_EMAILS instead.All levels
List send as
GMAIL_LIST_SEND_AS
Lists the send-as aliases for a Gmail account, including the primary address and custom 'from' aliases.All levels
List smime info
GMAIL_LIST_SMIME_INFO
Lists S/MIME configs for the specified send-as alias.All levels
List threads
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.All levels
Modify thread labels
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.Read + send, Full access
Move thread to trash
GMAIL_MOVE_THREAD_TO_TRASH
Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash.Read + send, Full access
Move to trash
GMAIL_MOVE_TO_TRASH
Moves an existing, non-deleted email message to the trash for the specified user.Read + send, Full access
Patch label
GMAIL_PATCH_LABEL
Patches the specified user-created label. System labels (e.g., INBOX, SENT, SPAM) cannot be modified and will be rejected.Read + send, Full access
Patch send as
GMAIL_PATCH_SEND_AS
Patch the specified send-as alias for a Gmail user.Read + send, Full access
Remove label
GMAIL_REMOVE_LABEL
DEPRECATED: Use GMAIL_DELETE_LABEL instead.Full access
Reply to thread
GMAIL_REPLY_TO_THREAD
Sends a reply within a specific Gmail thread using the original thread's subject; do not provide a custom subject as it will start a new conversation instead of replying in-thread.Read + send, Full access
Search people
GMAIL_SEARCH_PEOPLE
Searches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'Other Contacts'.All levels
Send draft
GMAIL_SEND_DRAFT
Sends an existing draft email AS-IS to recipients already defined within the draft.Full access
Send email
GMAIL_SEND_EMAIL
Sends an email via Gmail API using the authenticated user's Google profile display name.Read + send, Full access
Settings get imap
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.All levels
Settings get pop
GMAIL_SETTINGS_GET_POP
Retrieve POP settings for a Gmail account.All levels
Settings send as get
GMAIL_SETTINGS_SEND_AS_GET
Retrieve a specific send-as alias configuration for a Gmail user.All levels
Stop watch
GMAIL_STOP_WATCH
Stop receiving push notifications for a Gmail mailbox.Full access
Untrash message
GMAIL_UNTRASH_MESSAGE
Remove a message from trash in Gmail. Use when you need to restore a previously trashed email message.Read + send, Full access
Untrash thread
GMAIL_UNTRASH_THREAD
Remove a thread from trash in Gmail. Use when you need to restore a deleted thread and its messages.Read + send, Full access
Update draft
GMAIL_UPDATE_DRAFT
Updates (replaces) an existing Gmail draft's content in-place by draft ID.Read + send, Full access
Update imap settings
GMAIL_UPDATE_IMAP_SETTINGS
Update IMAP settings for a Gmail account. Use when you need to modify IMAP configuration such as enabling/disabling IMAP, setting auto-expunge behavior, or configuring folder size limits.Read + send, Full access
Update label
GMAIL_UPDATE_LABEL
Update the properties of an existing Gmail label.Read + send, Full access
Update language settings
GMAIL_UPDATE_LANGUAGE_SETTINGS
Update the language settings for a Gmail user.Read + send, Full access
Update pop settings
GMAIL_UPDATE_POP_SETTINGS
Update POP settings for a Gmail account. Use when you need to configure POP access window or message disposition behavior.Read + send, Full access
Update send as
GMAIL_UPDATE_SEND_AS
Update a send-as alias for a Gmail user. Use when you need to modify display name, signature, reply-to address, or SMTP settings for a send-as email address. Gmail sanitizes HTML signatures before saving. Addresses othe…Read + send, Full access
Update user attributes values
GMAIL_UPDATE_USER_ATTRIBUTES_VALUES
Update user attribute values for a resource.Read + send, Full access
Update vacation settings
GMAIL_UPDATE_VACATION_SETTINGS
Update vacation responder settings for a Gmail user.Read + send, Full access

What agents can't do in Gmail (yet)

  • Sending is from the connected address. Agents send as the account you connected, aliases and send-as addresses configured in Gmail work, but the agent can't invent a from-address.
  • Bulk sending is rate-limited by Google. Newsletters belong in an email platform; Gmail tools are for 1:1 and small-batch mail.
  • If something you need is missing, there's usually a path: add the service's API key under Settings → Custom integrations and your agents can call it directly. See custom integrations & secrets. You can also ask your lead agent to open a ticket describing what it needs.

Using it in missions

Real asks that work well:

  • “Draft replies to every unanswered customer email from this week and queue them for my approval.”
  • “Find the last invoice thread with Brookfield and summarize where payment stands.”
  • “Send the onboarding welcome email to the new client; use the template doc.”

Troubleshooting

Agent saysWhat's happeningFix
"Gmail isn't connected"No active connection (or this agent is denied)Connect on the Integrations page; check the agent's per-app policy
"The connection has expired"Gmail ended the authorization (they all do periodically)Click Reconnect on the account, same settings, one click
"I'm not allowed to do that"The action is above the account's access level, or the agent is scoped downRaise the level under Manage, or adjust that agent's policy
It did something unexpectedThe ask was ambiguous (e.g. matched an existing item)Be explicit, "create a NEW …", and give agents a working folder where relevant