/install oo-gmail
Gmail
Operate Gmail through your OOMOL-connected account. This skill calls the gmail connector with the oo CLI; OOMOL injects credentials server-side, so you never handle raw tokens.
Category: Communication, Productivity. Exposes 46 action(s).
Running an action
Assume the user has already installed the oo CLI, signed in, and connected Gmail. Do not run oo auth login or open the connection URL proactively — just run the action. Fall back to First-time setup only when a command actually fails with an auth or connection error.
1. Inspect the contract to get the authoritative input/output schema before building a payload:
oo connector schema "gmail" --action "\x3Caction_name>"
2. Run the action with a JSON payload that matches the input schema:
oo connector run "gmail" --action "\x3Caction_name>" --data '\x3Cjson>' --json
--datatakes a JSON object string or@path/to/file.json; omit it to send{}.- The response is
{ "data": ..., "meta": { "executionId": "..." } }; the execution id lives undermeta.executionId.
Each action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with oo connector schema before constructing --data.
Available actions
add_label_to_email— Add and/or remove labels on a single Gmail message. Provide at least one label mutation and use label IDs fromlist_labels.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.create_draft— Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the createddraftId.create_email_draft— Create a Gmail draft with recipients, subject, body, and optional threading. UsethreadIdto draft a reply in an existing conversation.create_filter— Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail.create_label— Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions.delete_draft— Permanently delete a Gmail draft by draft ID instead of sending it.delete_filter— Permanently delete a Gmail filter by filter ID.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.fetch_emails— List Gmail messages with optional query, label, and pagination filters. Usedetailto choose between identifiers only, lightweight summaries, or full normalized messages.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 simplifiedget_messageoutput.fetch_message_by_thread_id— Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a knownthreadId.get_auto_forwarding— Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.get_draft— Get a Gmail draft by draft ID. Use theformatparameter to control how much message detail is returned.get_filter— Get a Gmail filter by filter ID so you can inspect its criteria and actions.get_label— Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.get_language_settings— Get the Gmail display language settings for the connected account.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.get_profile— Get the connected Gmail profile, including mailbox totals and the currenthistoryId. Use the returnedhistoryIdas the checkpoint for incremental sync vialist_history.get_vacation_settings— Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.list_drafts— List Gmail drafts with pagination, and optionally hydrate each draft into full message details whenverboseis true.list_filters— List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.list_forwarding_addresses— List the forwarding addresses that are registered on the Gmail account.list_history— List Gmail mailbox change history after a knownstartHistoryId. Use this for incremental sync and checkpoint the latest returnedhistoryId.list_labels— List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.list_threads— List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.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.move_thread_to_trash— Move an entire Gmail thread to trash, including all messages in that conversation.move_to_trash— Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail.patch_label— Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color.reply_email— Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the newmessageId.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.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.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.send_email— Send an email from the connected Gmail account. At least one recipient and one of subject or body are required.settings_get_imap— Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.settings_get_pop— Get the Gmail POP settings, including access window and message disposition.stop_watch— Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint.untrash_message— Restore a previously trashed Gmail message back to the mailbox.untrash_thread— Restore a previously trashed Gmail thread and its messages.update_draft— Update an existing Gmail draft in place. Omitted fields fall back to the current draft content, so you can replace only the parts you want to change.update_imap_settings— Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size.update_label— Update an existing Gmail label's properties, including name, visibility settings, or color.update_language_settings— Update the Gmail display language settings for the connected account.update_pop_settings— Update the Gmail POP settings, including access window and disposition behavior.update_vacation_settings— Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window.
Safety
- Read actions (get / list / search) are safe to run directly.
- Create, update, send, or post actions change Gmail state — confirm the exact payload and effect with the user before running.
- Delete or remove actions are destructive — always confirm the target and get explicit approval first.
First-time setup
These are one-time steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.
-
oo: command not found— install the oo CLI (other platforms: \x3Chttps://cli.oomol.com/install-guide.md>):curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linuxirm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell -
Not signed in / authentication error — sign in to your OOMOL account once:
oo auth login -
scope_missing/credential_expired/app_not_ready/app_not_found— Gmail is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:https://console.oomol.com/app-connections?provider=gmail -
HTTP 402 /
OOMOL_INSUFFICIENT_CREDIT— billing stop. Recharge athttps://console.oomol.com/billing/token-rechargebefore retrying.
Resources
- Gmail homepage: https://workspace.google.com/gmail/
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install oo-gmail - After installation, invoke the skill by name or use
/oo-gmail - Provide required inputs per the skill's parameter spec and get structured output
What is Gmail?
Gmail (workspace.google.com). Use this skill for ANY Gmail request — reading, creating, updating, and deleting data. Whenever a task involves Gmail, use this... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.
How do I install Gmail?
Run "/install oo-gmail" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Gmail free?
Yes, Gmail is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Gmail support?
Gmail is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Gmail?
It is built and maintained by OOMOL (@oomol); the current version is v1.0.0.