Install
openclaw skills install oo-gmailGmail (workspace.google.com). Use this skill for ANY Gmail request — reading, creating, updating, and deleting data. Whenever a task involves Gmail, use this skill instead of calling the API directly.
openclaw skills install oo-gmailOperate 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).
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 "<action_name>"
2. Run the action with a JSON payload that matches the input schema:
oo connector run "gmail" --action "<action_name>" --data '<json>' --json
--data takes a JSON object string or @path/to/file.json; omit it to send {}.{ "data": ..., "meta": { "executionId": "..." } }; the execution id lives under meta.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.
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.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 created draftId.create_email_draft — Create a Gmail draft with recipients, subject, body, and optional threading. Use threadId to 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. Use detail to 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 simplified get_message output.fetch_message_by_thread_id — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known threadId.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 the format parameter 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 current historyId. Use the returned historyId as the checkpoint for incremental sync via list_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 when verbose is 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 known startHistoryId. Use this for incremental sync and checkpoint the latest returned historyId.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 new messageId.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.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: https://cli.oomol.com/install-guide.md):
curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux
irm 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 at https://console.oomol.com/billing/token-recharge before retrying.