Connect Gmail to Your AI Agent

Ask your AI assistant to find the messages that matter, summarize conversations, and prepare drafts for you to review.

Try a Gmail Task

Copy a prompt into your agent with the oo Skill installed. Add your page links and source notes before running it.

oo Skill Gmail

Summarize Email Conversations

Find relevant messages and ask AI to extract decisions, deadlines, and open questions.

/oo Gmail: Find emails about the launch this week and summarize the decisions and outstanding questions.

Prepare Reply Drafts

Use a message and your instructions to prepare an email draft for review.

/oo Gmail: Find the email asking about delivery and draft a reply confirming next Wednesday. Save it as a draft.

Organize Messages with Labels

Find messages matching your criteria and organize them with Gmail labels.

/oo Gmail: Find this week’s invoices and apply my existing Invoices label.

Send a Clear Follow-up

Turn your talking points into an email sent to the recipient you choose.

/oo Gmail: Send an email to [recipient] with subject [subject]: thank them for the meeting, confirm [decision], and ask for [next step] by [date].

Start Working with Gmail

  1. Install OOMOL

    Set up oo CLI and the oo Skill in your agent.

    Install OOMOL →
  2. Connect Gmail

    Connect your Gmail account through Google authorization.

    Connect Gmail →
  3. Give Your Agent a Task

    Use /oo with the pages to read, the changes to make, and where to save the result.

    Connection Guide →

Choose Your Agent

  • A Google account with Gmail access.
  • Available operations depend on the permissions granted to the connection. Specify whether a task should save a draft or send a message.

Gmail Tools

Gmail is Google’s email service. Connecting your account gives an AI assistant access to supported email operations within the permissions you grant.

Search and Read Email

Find messages by your search criteria and retrieve their content for analysis.

Create Email Drafts

Save a message as a Gmail draft so you can review it before sending.

Manage Message Labels

List available labels and apply them to selected messages.

47 tools

Search Threads

Search Gmail threads by query and return lightweight thread summaries. Spam and trash stay excluded unless you explicitly target them in the query.

gmail.search_threads

List Threads

List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.

gmail.list_threads

Fetch Emails

List Gmail messages with optional query, label, and pagination filters. Use `detail` to choose between identifiers only, lightweight summaries, or full normalized messages.

gmail.fetch_emails

Get Message

Get a Gmail message by message ID with a simplified normalized output. Use this when you only need subject, from, to, date, and body.

gmail.get_message

Fetch Message By Message Id

Fetch a Gmail message by message ID with a controllable response format. Use this when you need the normalized full message payload instead of the simplified `get_message` output.

gmail.fetch_message_by_message_id

Download Attachment

Download a Gmail message attachment using metadata returned by a message action and upload it to Connector file transit storage.

gmail.download_attachment

Fetch Message By Thread Id

Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.

gmail.fetch_message_by_thread_id

Get Profile

Get the connected Gmail profile, including mailbox totals and the current `historyId`. Use the returned `historyId` as the checkpoint for incremental sync via `list_history`.

gmail.get_profile

Send Email

Send an email from the connected Gmail account. At least one recipient and one of subject or body are required.

gmail.send_email

Reply Email

Reply to an existing Gmail thread using the original message's reply headers. Supply to to override the original Reply-To or From recipient.

gmail.reply_email

Reply To Thread

Reply to an existing Gmail thread while preserving Gmail threading. Use this when you want the reply to stay in the same conversation and optionally override recipients.

gmail.reply_to_thread

Create Draft

Create a Gmail draft with a simplified input and output shape. Returns the stable draft ID and current message and thread IDs.

gmail.create_draft

Create Email Draft

Create a Gmail draft with recipients, subject, body, and optional threading. Supply replyToMessageId or threadId to draft a reply; this requires mailbox read access. Omitted subject and recipients are inherited from the reply target.

gmail.create_email_draft

List Drafts

List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.

gmail.list_drafts

Get Draft

Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.

gmail.get_draft

Update Draft

Update a Gmail draft. Supply replyToMessageId or a different threadId to rebuild its reply association; this requires mailbox read access. The subject must match the reply target. Header-only edits preserve the MIME body. Omit attachments to preserve them, supply a list to replace them, or [] to remove them. Empty strings clear fields. Content edits of unsupported MIME structures are rejected.

gmail.update_draft

Send Draft

Send an existing Gmail draft as-is using the recipients already stored in the draft. Sending is immediate and cannot be scheduled by this action.

gmail.send_draft

Delete Draft

Permanently delete a Gmail draft by draft ID instead of sending it.

gmail.delete_draft

List Labels

List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.

gmail.list_labels

Get Label

Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.

gmail.get_label

Create Label

Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions.

gmail.create_label

Patch Label

Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color.

gmail.patch_label

Update Label

Update an existing Gmail label's properties, including name, visibility settings, or color.

gmail.update_label

Delete Label

Permanently delete a user-created Gmail label from the mailbox. This removes the label definition itself rather than just detaching it from one message.

gmail.delete_label

Add Label To Email

Add and/or remove labels on a single Gmail message. Provide at least one label mutation and use label IDs from `list_labels`.

gmail.add_label_to_email

Batch Modify Messages

Add and/or remove labels on up to 1,000 Gmail messages in one request. Use this for bulk archive, mark-as-read, or custom label workflows.

gmail.batch_modify_messages

Move To Trash

Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail.

gmail.move_to_trash

Untrash Message

Restore a previously trashed Gmail message back to the mailbox.

gmail.untrash_message

Modify Thread Labels

Add and/or remove labels on every message in a Gmail thread. Use this when the label change should apply to the whole conversation.

gmail.modify_thread_labels

Move Thread To Trash

Move an entire Gmail thread to trash, including all messages in that conversation.

gmail.move_thread_to_trash

Untrash Thread

Restore a previously trashed Gmail thread and its messages.

gmail.untrash_thread

List History

List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.

gmail.list_history

List Filters

List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.

gmail.list_filters

Get Filter

Get a Gmail filter by filter ID so you can inspect its criteria and actions.

gmail.get_filter

Create Filter

Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail.

gmail.create_filter

Delete Filter

Permanently delete a Gmail filter by filter ID.

gmail.delete_filter

Get Language Settings

Get the Gmail display language settings for the connected account.

gmail.get_language_settings

Update Language Settings

Update the Gmail display language settings for the connected account.

gmail.update_language_settings

Get Vacation Settings

Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.

gmail.get_vacation_settings

Update Vacation Settings

Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window.

gmail.update_vacation_settings

Get Auto Forwarding

Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.

gmail.get_auto_forwarding

List Forwarding Addresses

List the forwarding addresses that are registered on the Gmail account.

gmail.list_forwarding_addresses

Settings Get Imap

Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.

gmail.settings_get_imap

Update Imap Settings

Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size.

gmail.update_imap_settings

Settings Get Pop

Get the Gmail POP settings, including access window and message disposition.

gmail.settings_get_pop

Update Pop Settings

Update the Gmail POP settings, including access window and disposition behavior.

gmail.update_pop_settings

Stop Watch

Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint.

gmail.stop_watch

new_message_received

Triggers when a new message is received in Gmail.

gmail.new_message_received Triggers

Work Across Apps

Save Email Decisions in Notion

Keep the decisions from a mail conversation alongside your project notes.

Share Customer Email Decisions in Feishu

Give the team a brief of confirmed decisions and open questions from customer emails.

Frequently Asked Questions

What Gmail tasks can I ask an AI assistant to do?

Ask it to summarize a conversation, prepare a reply draft, or label matching messages. Include the sender, topic, or date range so it can find the right email.

Can I save a draft without sending it?

Yes. Gmail provides separate draft and send operations. Ask the assistant to save a draft and review it in Gmail.

Do I need to supply a Gmail API key?

This integration uses Google OAuth authorization rather than a Gmail API key.

Can I save email summaries in Notion?

Yes, with authorized Gmail and Notion connections. Specify the emails to summarize and the parent page where the summary should be created.

Connect Gmail

About Gmail ↗