{"id":"689cda04-0ef2-40f3-beb0-f028f3525e41","entityType":"agent","slug":"clawhub-oomol-oo-gmail","name":"Gmail","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-gmail","canonicalPath":"/agent/clawhub-oomol-oo-gmail","generatedAt":"2026-10-11T03:54:22.248Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":null},"description":"Gmail (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.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gmail","sourceUrl":"https://clawhub.ai/oomol/oo-gmail","homepage":"https://clawhub.ai/oomol/skills/oo-gmail","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-gmail","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-gmail","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Gmail technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":null},"stars":null,"forks":null,"downloads":1221,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T00:18:29.268Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T00:18:29.338Z","lastCrawledAt":"2026-10-11T00:18:29.268Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T00:18:29.268Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-10-11T00:09:07.382Z","changelog":"- Enables Gmail automation through the OOMOL-connected `gmail` connector using the `oo` CLI. - Supports reading and searching mailbox content, including messages, threads, drafts, labels, filters, history, and profile data. - Provides compose workflows for creating, updating, replying to, sending, and deleting drafts or emails. - Includes mailbox organization actions for labels, filters, trash/untrash, bulk message changes, and thread-level updates. - Covers Gmail settings management for forwarding, IMAP, POP, language, vacation responder, and push watch controls. Source: `oomol-lab/skills@e0d34d9`","fileCount":2,"zipByteSize":4308},{"version":"1.0.5","createdAt":"2026-09-20T03:27:55.354Z","changelog":"- Operates Gmail through the OOMOL-connected `gmail` connector using the `oo` CLI, without exposing raw credentials. - Provides read actions for messages, threads, drafts, labels, filters, mailbox profile, history, forwarding, IMAP/POP, language, and vacation settings. - Supports composing workflows including creating, updating, sending, deleting drafts, sending new email, and replying within threads. - Includes mailbox organization tools for labels, filters, bulk message changes, thread label updates, trash, untrash, and attachment downloads. - Documents safety expectations for read, write, and destructive actions, including schema inspection before running connector calls. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":5359},{"version":"1.0.4","createdAt":"2026-09-15T04:58:35.728Z","changelog":"- Operates Gmail through the OOMOL `gmail` connector using the `oo` CLI, with credentials injected server-side. - Requires inspecting each action’s live schema before constructing payloads, keeping inputs aligned with the connector contract. - Supports core mailbox reads, including messages, threads, drafts, labels, filters, history, profile, forwarding, POP/IMAP, language, and vacation settings. - Provides write workflows for sending and drafting email, replying in threads, labeling messages or threads, creating filters and labels, and updating mailbox settings. - Marks state-changing and destructive actions clearly, with confirmation required before writes, deletes, trash moves, or permanent removals. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":5324},{"version":"1.0.2","createdAt":"2026-08-11T08:08:25.356Z","changelog":"- Operates Gmail through an OOMOL-connected account using the `oo` CLI and live connector schemas. - Supports reading, searching, and fetching emails, threads, drafts, labels, filters, mailbox profile, and settings. - Provides write actions for sending mail, creating drafts, replying to threads, labeling messages, and managing filters. - Includes mailbox organization tools for bulk label changes, trash/untrash workflows, custom labels, and thread-level updates. - Covers Gmail settings workflows such as forwarding, IMAP/POP, language, vacation responder, history sync, and push watch control. Source: `oomol-lab/skills@46cfb3e`","fileCount":3,"zipByteSize":5306},{"version":"1.0.1","createdAt":"2026-06-09T10:21:01.720Z","changelog":"- Operates Gmail through the OOMOL `gmail` connector via the `oo` CLI, using server-side credentials. - Supports reading and searching mail, threads, drafts, labels, filters, history, forwarding, and mailbox settings. - Adds message and thread workflows for sending, replying, drafting, trashing, untrashing, and bulk label changes. - Manages Gmail organization features including labels, filters, vacation responder, language, IMAP, and POP settings. - Documents safety expectations for read, write, and destructive actions, including schema inspection before payload construction. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":5308},{"version":"1.0.0","createdAt":"2026-06-03T16:01:09.113Z","changelog":"- Connects Codex to Gmail through the OOMOL `gmail` connector and `oo` CLI, using server-side credentials so raw tokens are never handled locally. - Supports reading and searching mail, threads, drafts, labels, filters, history, profile data, forwarding settings, POP/IMAP settings, language settings, and vacation responder configuration. - Enables email workflows including sending messages, creating or updating drafts, sending drafts, replying to messages, and replying within existing threads. - Provides mailbox organization actions for creating, updating, patching, deleting, and applying labels, including bulk message modification and whole-thread label changes. - Includes account automation controls for creating or deleting filters, updating forwarding-related settings, configuring POP/IMAP behavior, and managing vacation responder settings. - Documents safety guidance for Gmail state changes, requiring confirmation before create/update/send operations and explicit approval before destructive delete or remove actions.","fileCount":49,"zipByteSize":32335}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gmail","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gmail` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-gmail before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T03:54:22.245Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gmail/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":null},"readme":"Skill: Gmail\n\nOwner: oomol\n\nSummary: Gmail (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.\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-10-11T00:09:07.382Z | user\n\n- Enables Gmail automation through the OOMOL-connected `gmail` connector using the `oo` CLI.\n- Supports reading and searching mailbox content, including messages, threads, drafts, labels, filters, history, and profile data.\n- Provides compose workflows for creating, updating, replying to, sending, and deleting drafts or emails.\n- Includes mailbox organization actions for labels, filters, trash/untrash, bulk message changes, and thread-level updates.\n- Covers Gmail settings management for forwarding, IMAP, POP, language, vacation responder, and push watch controls.\n\nSource: `oomol-lab/skills@e0d34d9`\n\nv1.0.5 | 2026-09-20T03:27:55.354Z | user\n\n- Operates Gmail through the OOMOL-connected `gmail` connector using the `oo` CLI, without exposing raw credentials.\n- Provides read actions for messages, threads, drafts, labels, filters, mailbox profile, history, forwarding, IMAP/POP, language, and vacation settings.\n- Supports composing workflows including creating, updating, sending, deleting drafts, sending new email, and replying within threads.\n- Includes mailbox organization tools for labels, filters, bulk message changes, thread label updates, trash, untrash, and attachment downloads.\n- Documents safety expectations for read, write, and destructive actions, including schema inspection before running connector calls.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.4 | 2026-09-15T04:58:35.728Z | user\n\n- Operates Gmail through the OOMOL `gmail` connector using the `oo` CLI, with credentials injected server-side.\n- Requires inspecting each action’s live schema before constructing payloads, keeping inputs aligned with the connector contract.\n- Supports core mailbox reads, including messages, threads, drafts, labels, filters, history, profile, forwarding, POP/IMAP, language, and vacation settings.\n- Provides write workflows for sending and drafting email, replying in threads, labeling messages or threads, creating filters and labels, and updating mailbox settings.\n- Marks state-changing and destructive actions clearly, with confirmation required before writes, deletes, trash moves, or permanent removals.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.2 | 2026-08-11T08:08:25.356Z | user\n\n- Operates Gmail through an OOMOL-connected account using the `oo` CLI and live connector schemas.\n- Supports reading, searching, and fetching emails, threads, drafts, labels, filters, mailbox profile, and settings.\n- Provides write actions for sending mail, creating drafts, replying to threads, labeling messages, and managing filters.\n- Includes mailbox organization tools for bulk label changes, trash/untrash workflows, custom labels, and thread-level updates.\n- Covers Gmail settings workflows such as forwarding, IMAP/POP, language, vacation responder, history sync, and push watch control.\n\nSource: `oomol-lab/skills@46cfb3e`\n\nv1.0.1 | 2026-06-09T10:21:01.720Z | user\n\n- Operates Gmail through the OOMOL `gmail` connector via the `oo` CLI, using server-side credentials.\n- Supports reading and searching mail, threads, drafts, labels, filters, history, forwarding, and mailbox settings.\n- Adds message and thread workflows for sending, replying, drafting, trashing, untrashing, and bulk label changes.\n- Manages Gmail organization features including labels, filters, vacation responder, language, IMAP, and POP settings.\n- Documents safety expectations for read, write, and destructive actions, including schema inspection before payload construction.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.0 | 2026-06-03T16:01:09.113Z | user\n\n- Connects Codex to Gmail through the OOMOL `gmail` connector and `oo` CLI, using server-side credentials so raw tokens are never handled locally.\n- Supports reading and searching mail, threads, drafts, labels, filters, history, profile data, forwarding settings, POP/IMAP settings, language settings, and vacation responder configuration.\n- Enables email workflows including sending messages, creating or updating drafts, sending drafts, replying to messages, and replying within existing threads.\n- Provides mailbox organization actions for creating, updating, patching, deleting, and applying labels, including bulk message modification and whole-thread label changes.\n- Includes account automation controls for creating or deleting filters, updating forwarding-related settings, configuring POP/IMAP behavior, and managing vacation responder settings.\n- Documents safety guidance for Gmail state changes, requiring confirmation before create/update/send operations and explicit approval before destructive delete or remove actions.\n\nArchive index:\n\nArchive v1.0.6: 2 files, 4308 bytes\n\nFiles: SKILL.md (10369b), _meta.json (127b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. Returns the stable draft ID and current message and thread IDs. [write]\n- `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. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destructive]\n- `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. [destructive]\n- `download_attachment` — Download a Gmail message attachment using metadata returned by a message action and upload it to Connector file transit storage.\n- `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.\n- `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.\n- `fetch_message_by_thread_id` — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- `get_auto_forwarding` — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- `get_draft` — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- `get_filter` — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- `get_label` — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- `get_language_settings` — Get the Gmail display language settings for the connected account.\n- `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.\n- `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`.\n- `get_vacation_settings` — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- `list_drafts` — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- `list_filters` — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- `list_forwarding_addresses` — List the forwarding addresses that are registered on the Gmail account.\n- `list_history` — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- `list_labels` — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- `list_threads` — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- `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. [destructive]\n- `move_thread_to_trash` — Move an entire Gmail thread to trash, including all messages in that conversation. [destructive]\n- `move_to_trash` — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail. [destructive]\n- `patch_label` — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color. [write]\n- `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. [write]\n- `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. [write]\n- `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.\n- `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. [write]\n- `send_email` — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required. [write]\n- `settings_get_imap` — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- `settings_get_pop` — Get the Gmail POP settings, including access window and message disposition.\n- `stop_watch` — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint. [destructive]\n- `untrash_message` — Restore a previously trashed Gmail message back to the mailbox. [write]\n- `untrash_thread` — Restore a previously trashed Gmail thread and its messages. [write]\n- `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. [write]\n- `update_imap_settings` — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size. [write]\n- `update_label` — Update an existing Gmail label's properties, including name, visibility settings, or color. [write]\n- `update_language_settings` — Update the Gmail display language settings for the connected account. [write]\n- `update_pop_settings` — Update the Gmail POP settings, including access window and disposition behavior. [write]\n- `update_vacation_settings` — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1791677347382\n}\n\nArchive v1.0.5: 3 files, 5359 bytes\n\nFiles: skill-card.md (2221b), SKILL.md (10021b), _meta.json (127b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.5\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`. [write]\n- `create_email_draft` — Create a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destructive]\n- `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. [destructive]\n- `download_attachment` — Download a Gmail message attachment using metadata returned by a message action and upload it to Connector file transit storage.\n- `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.\n- `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.\n- `fetch_message_by_thread_id` — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- `get_auto_forwarding` — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- `get_draft` — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- `get_filter` — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- `get_label` — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- `get_language_settings` — Get the Gmail display language settings for the connected account.\n- `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.\n- `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`.\n- `get_vacation_settings` — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- `list_drafts` — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- `list_filters` — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- `list_forwarding_addresses` — List the forwarding addresses that are registered on the Gmail account.\n- `list_history` — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- `list_labels` — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- `list_threads` — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- `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. [destructive]\n- `move_thread_to_trash` — Move an entire Gmail thread to trash, including all messages in that conversation. [destructive]\n- `move_to_trash` — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail. [destructive]\n- `patch_label` — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color. [write]\n- `reply_email` — Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the new `messageId`. [write]\n- `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. [write]\n- `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.\n- `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. [write]\n- `send_email` — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required. [write]\n- `settings_get_imap` — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- `settings_get_pop` — Get the Gmail POP settings, including access window and message disposition.\n- `stop_watch` — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint. [destructive]\n- `untrash_message` — Restore a previously trashed Gmail message back to the mailbox. [write]\n- `untrash_thread` — Restore a previously trashed Gmail thread and its messages. [write]\n- `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. [write]\n- `update_imap_settings` — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size. [write]\n- `update_label` — Update an existing Gmail label's properties, including name, visibility settings, or color. [write]\n- `update_language_settings` — Update the Gmail display language settings for the connected account. [write]\n- `update_pop_settings` — Update the Gmail POP settings, including access window and disposition behavior. [write]\n- `update_vacation_settings` — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1789874875354\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nUses the OOMOL Gmail connector through the oo CLI to read, create, update, send, organize, and delete Gmail data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nEmployees, external users, and developers use this skill to let an agent operate a connected Gmail mailbox for message retrieval, drafting, sending, labeling, filtering, settings review, and mailbox organization.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can operate with broad Gmail mailbox authority, including send, update, delete, forwarding, filter, label, and settings changes.\n\nMitigation: Require explicit user approval for every write or destructive action, including the exact target, payload, and expected effect.\n\nRisk: The setup instructions include remote-script CLI installer commands.\n\nMitigation: Do not run installer commands blindly; prefer reviewed or manual installation steps before using the skill.\n\nRisk: Incorrect action payloads could change or remove Gmail data.\n\nMitigation: Inspect the live connector schema before constructing payloads and confirm destructive targets with the user.\n\n## Reference(s):\n\n- [ClawHub Gmail Skill](https://clawhub.ai/oomol/skills/oo-gmail)\n- [OOMOL Publisher Profile](https://clawhub.ai/user/oomol)\n- [Gmail Homepage](https://workspace.google.com/gmail/)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI Install Guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline bash and JSON snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Connector action responses are JSON objects containing data and meta.executionId.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 5324 bytes\n\nFiles: skill-card.md (2135b), SKILL.md (9993b), _meta.json (127b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.4\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`. [write]\n- `create_email_draft` — Create a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destructive]\n- `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. [destructive]\n- `download_attachment` — Download a Gmail message attachment using metadata returned by a message action and upload it to Connector file transit storage.\n- `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.\n- `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.\n- `fetch_message_by_thread_id` — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- `get_auto_forwarding` — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- `get_draft` — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- `get_filter` — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- `get_label` — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- `get_language_settings` — Get the Gmail display language settings for the connected account.\n- `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.\n- `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`.\n- `get_vacation_settings` — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- `list_drafts` — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- `list_filters` — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- `list_forwarding_addresses` — List the forwarding addresses that are registered on the Gmail account.\n- `list_history` — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- `list_labels` — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- `list_threads` — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- `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. [write]\n- `move_thread_to_trash` — Move an entire Gmail thread to trash, including all messages in that conversation. [destructive]\n- `move_to_trash` — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail. [destructive]\n- `patch_label` — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color. [write]\n- `reply_email` — Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the new `messageId`. [write]\n- `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. [write]\n- `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.\n- `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. [write]\n- `send_email` — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required. [write]\n- `settings_get_imap` — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- `settings_get_pop` — Get the Gmail POP settings, including access window and message disposition.\n- `stop_watch` — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint. [write]\n- `untrash_message` — Restore a previously trashed Gmail message back to the mailbox.\n- `untrash_thread` — Restore a previously trashed Gmail thread and its messages.\n- `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. [write]\n- `update_imap_settings` — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size. [write]\n- `update_label` — Update an existing Gmail label's properties, including name, visibility settings, or color. [write]\n- `update_language_settings` — Update the Gmail display language settings for the connected account. [write]\n- `update_pop_settings` — Update the Gmail POP settings, including access window and disposition behavior. [write]\n- `update_vacation_settings` — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1789448315728\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nGmail (workspace.google.com) skill for reading, creating, updating, and deleting Gmail data through the OOMOL connector instead of direct API calls.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent inspect Gmail connector schemas and operate an OOMOL-connected Gmail mailbox for reads, drafts, sending, labels, filters, settings, and thread workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can access sensitive Gmail mailbox content and settings through OOMOL.\n\nMitigation: Install only when granting OOMOL access to Gmail data and actions is acceptable for the deployment.\n\nRisk: Setup includes unverified remote installer commands.\n\nMitigation: Use a verified package or inspect and verify the installer before running it.\n\nRisk: Write and destructive Gmail actions can send mail, change settings, trash messages, or permanently remove data.\n\nMitigation: Confirm exact payloads and targets with the user before writes, deletes, trash moves, or settings changes.\n\n## Reference(s):\n\n- [Gmail ClawHub skill page](https://clawhub.ai/oomol/skills/oo-gmail)\n- [Gmail homepage](https://workspace.google.com/gmail/)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands use the oo CLI and connector JSON responses.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 3 files, 5306 bytes\n\nFiles: skill-card.md (2153b), SKILL.md (9993b), _meta.json (127b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`. [write]\n- `create_email_draft` — Create a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destructive]\n- `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. [destructive]\n- `download_attachment` — Download a Gmail message attachment using metadata returned by a message action and upload it to Connector file transit storage.\n- `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.\n- `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.\n- `fetch_message_by_thread_id` — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- `get_auto_forwarding` — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- `get_draft` — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- `get_filter` — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- `get_label` — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- `get_language_settings` — Get the Gmail display language settings for the connected account.\n- `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.\n- `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`.\n- `get_vacation_settings` — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- `list_drafts` — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- `list_filters` — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- `list_forwarding_addresses` — List the forwarding addresses that are registered on the Gmail account.\n- `list_history` — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- `list_labels` — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- `list_threads` — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- `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. [write]\n- `move_thread_to_trash` — Move an entire Gmail thread to trash, including all messages in that conversation. [destructive]\n- `move_to_trash` — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail. [destructive]\n- `patch_label` — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color. [write]\n- `reply_email` — Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the new `messageId`. [write]\n- `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. [write]\n- `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.\n- `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. [write]\n- `send_email` — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required. [write]\n- `settings_get_imap` — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- `settings_get_pop` — Get the Gmail POP settings, including access window and message disposition.\n- `stop_watch` — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint. [write]\n- `untrash_message` — Restore a previously trashed Gmail message back to the mailbox.\n- `untrash_thread` — Restore a previously trashed Gmail thread and its messages.\n- `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. [write]\n- `update_imap_settings` — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size. [write]\n- `update_label` — Update an existing Gmail label's properties, including name, visibility settings, or color. [write]\n- `update_language_settings` — Update the Gmail display language settings for the connected account. [write]\n- `update_pop_settings` — Update the Gmail POP settings, including access window and disposition behavior. [write]\n- `update_vacation_settings` — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1786435705356\n}\n\nFile v1.0.2:skill-card.md\n\n## Description:\n\nGmail skill for reading, creating, updating, and deleting Gmail data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent operate a connected Gmail mailbox, including reading messages, drafting or sending mail, organizing labels, managing filters, and updating Gmail settings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can read and manage a connected Gmail account, including sensitive mailbox content and account settings.\n\nMitigation: Install and use it only when OOMOL-connected tooling is trusted for the mailbox being accessed.\n\nRisk: State-changing Gmail operations can send mail, delete or trash items, update labels, filters, forwarding, and settings.\n\nMitigation: Review the exact payload and effect before approving send, delete, trash, filter, forwarding, label, or settings changes.\n\nRisk: First-time CLI installation and authentication flows establish access paths to the connected Gmail account.\n\nMitigation: Run the CLI install or auth flow only after confirming that OOMOL is trusted in the deployment environment.\n\n## Reference(s):\n\n- [Gmail homepage](https://workspace.google.com/gmail/)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces oo CLI commands that return Gmail connector JSON responses.]\n\n## Skill Version(s):\n\n1.0.2 (source: server release metadata and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.1: 3 files, 5308 bytes\n\nFiles: skill-card.md (2300b), SKILL.md (9836b), _meta.json (127b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`. [write]\n- `create_email_draft` — Create a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destructive]\n- `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. [destructive]\n- `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.\n- `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.\n- `fetch_message_by_thread_id` — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- `get_auto_forwarding` — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- `get_draft` — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- `get_filter` — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- `get_label` — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- `get_language_settings` — Get the Gmail display language settings for the connected account.\n- `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.\n- `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`.\n- `get_vacation_settings` — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- `list_drafts` — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- `list_filters` — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- `list_forwarding_addresses` — List the forwarding addresses that are registered on the Gmail account.\n- `list_history` — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- `list_labels` — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- `list_threads` — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- `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. [write]\n- `move_thread_to_trash` — Move an entire Gmail thread to trash, including all messages in that conversation. [destructive]\n- `move_to_trash` — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail. [destructive]\n- `patch_label` — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color. [write]\n- `reply_email` — Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the new `messageId`. [write]\n- `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. [write]\n- `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.\n- `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. [write]\n- `send_email` — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required. [write]\n- `settings_get_imap` — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- `settings_get_pop` — Get the Gmail POP settings, including access window and message disposition.\n- `stop_watch` — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint. [write]\n- `untrash_message` — Restore a previously trashed Gmail message back to the mailbox.\n- `untrash_thread` — Restore a previously trashed Gmail thread and its messages.\n- `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. [write]\n- `update_imap_settings` — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size. [write]\n- `update_label` — Update an existing Gmail label's properties, including name, visibility settings, or color. [write]\n- `update_language_settings` — Update the Gmail display language settings for the connected account. [write]\n- `update_pop_settings` — Update the Gmail POP settings, including access window and disposition behavior. [write]\n- `update_vacation_settings` — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781000461720\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nGmail (workspace.google.com). Use this skill for ANY Gmail request: reading, creating, updating, and deleting data through the OOMOL Gmail connector. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees, external users, and developers use this skill to operate Gmail through an OOMOL-connected account. It supports reading and searching mail, managing drafts, labels, filters, mailbox settings, and performing confirmed send, reply, trash, and bulk label workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Write and destructive Gmail actions can change mailbox state, send messages, or move and delete drafts, filters, labels, messages, and threads. <br>\nMitigation: Confirm the exact action, target, payload, and expected effect with the user before write actions; require explicit approval for destructive actions. <br>\nRisk: Incorrect payloads or stale assumptions about connector inputs can cause failed actions or unintended Gmail changes. <br>\nMitigation: Inspect the live action schema with `oo connector schema` before constructing payloads and use label, message, draft, thread, and filter IDs returned by read actions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Gmail skill page](https://clawhub.ai/oomol/oo-gmail) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [Gmail homepage](https://workspace.google.com/gmail/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, JSON, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live connector schemas before building action payloads; command responses include JSON data and execution metadata.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata and frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 49 files, 32335 bytes\n\nFiles: actions/add_label_to_email.md (866b), actions/batch_modify_messages.md (894b), actions/create_draft.md (836b), actions/create_email_draft.md (879b), actions/create_filter.md (835b), actions/create_label.md (831b), actions/delete_draft.md (795b), actions/delete_filter.md (781b), actions/delete_label.md (879b), actions/fetch_emails.md (758b), actions/fetch_message_by_message_id.md (840b), actions/fetch_message_by_thread_id.md (767b), actions/get_auto_forwarding.md (740b), actions/get_draft.md (679b), actions/get_filter.md (656b), actions/get_label.md (678b), actions/get_language_settings.md (701b), actions/get_message.md (714b), actions/get_profile.md (755b), actions/get_vacation_settings.md (747b), actions/list_drafts.md (702b), actions/list_filters.md (688b), actions/list_forwarding_addresses.md (726b), actions/list_history.md (729b), actions/list_labels.md (709b), actions/list_threads.md (727b), actions/modify_thread_labels.md (882b), actions/move_thread_to_trash.md (849b), actions/move_to_trash.md (836b), actions/patch_label.md (818b), actions/reply_email.md (844b), actions/reply_to_thread.md (896b), actions/search_threads.md (743b), actions/send_draft.md (847b), actions/send_email.md (813b), actions/settings_get_imap.md (733b), actions/settings_get_pop.md (686b), actions/stop_watch.md (717b), actions/untrash_message.md (666b), actions/untrash_thread.md (657b), actions/update_draft.md (861b), actions/update_imap_settings.md (867b), actions/update_label.md (802b), actions/update_language_settings.md (842b), actions/update_pop_settings.md (828b), actions/update_vacation_settings.md (897b), skill-card.md (2382b), SKILL.md (11073b), _meta.json (127b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"gmail\"\n  categories: \"Communication, Productivity\"\n  homepage: \"https://workspace.google.com/gmail/\"\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Communication, Productivity. Exposes 46 action(s).\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach 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`.\n\n## Available actions\n\n- [`add_label_to_email`](actions/add_label_to_email.md) — Add and/or remove labels on a single Gmail message. Provide at least one label mutation and use label IDs from `list_labels`.\n- [`batch_modify_messages`](actions/batch_modify_messages.md) — 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.\n- [`create_draft`](actions/create_draft.md) — Create a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`.\n- [`create_email_draft`](actions/create_email_draft.md) — Create a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation.\n- [`create_filter`](actions/create_filter.md) — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail.\n- [`create_label`](actions/create_label.md) — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions.\n- [`delete_draft`](actions/delete_draft.md) — Permanently delete a Gmail draft by draft ID instead of sending it.\n- [`delete_filter`](actions/delete_filter.md) — Permanently delete a Gmail filter by filter ID.\n- [`delete_label`](actions/delete_label.md) — Permanently delete a user-created Gmail label from the mailbox. This removes the label definition itself rather than just detaching it from one message.\n- [`fetch_emails`](actions/fetch_emails.md) — List Gmail messages with optional query, label, and pagination filters. Use `detail` to choose between identifiers only, lightweight summaries, or full normalized messages.\n- [`fetch_message_by_message_id`](actions/fetch_message_by_message_id.md) — 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.\n- [`fetch_message_by_thread_id`](actions/fetch_message_by_thread_id.md) — Fetch all messages in a Gmail thread. Use this to inspect the full conversation payload for a known `threadId`.\n- [`get_auto_forwarding`](actions/get_auto_forwarding.md) — Get the current Gmail auto-forwarding configuration, including enabled status, forwarding address, and disposition.\n- [`get_draft`](actions/get_draft.md) — Get a Gmail draft by draft ID. Use the `format` parameter to control how much message detail is returned.\n- [`get_filter`](actions/get_filter.md) — Get a Gmail filter by filter ID so you can inspect its criteria and actions.\n- [`get_label`](actions/get_label.md) — Get details for a Gmail label, including its name, type, visibility settings, counts, and optional color.\n- [`get_language_settings`](actions/get_language_settings.md) — Get the Gmail display language settings for the connected account.\n- [`get_message`](actions/get_message.md) — Get a Gmail message by message ID with a simplified normalized output. Use this when you only need subject, from, to, date, and body.\n- [`get_profile`](actions/get_profile.md) — 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`.\n- [`get_vacation_settings`](actions/get_vacation_settings.md) — Get the Gmail vacation responder settings, including whether auto-replies are enabled and their current content.\n- [`list_drafts`](actions/list_drafts.md) — List Gmail drafts with pagination, and optionally hydrate each draft into full message details when `verbose` is true.\n- [`list_filters`](actions/list_filters.md) — List Gmail filters for the mailbox. Use this to audit existing rules or avoid creating duplicates.\n- [`list_forwarding_addresses`](actions/list_forwarding_addresses.md) — List the forwarding addresses that are registered on the Gmail account.\n- [`list_history`](actions/list_history.md) — List Gmail mailbox change history after a known `startHistoryId`. Use this for incremental sync and checkpoint the latest returned `historyId`.\n- [`list_labels`](actions/list_labels.md) — List all system and user-created Gmail labels. Use this to discover the internal label IDs required by label mutation actions.\n- [`list_threads`](actions/list_threads.md) — List Gmail threads with optional query filtering and pagination. Spam and trash stay excluded unless you explicitly target them in the query.\n- [`modify_thread_labels`](actions/modify_thread_labels.md) — Add and/or remove labels on every message in a Gmail thread. Use this when the label change should apply to the whole conversation.\n- [`move_thread_to_trash`](actions/move_thread_to_trash.md) — Move an entire Gmail thread to trash, including all messages in that conversation.\n- [`move_to_trash`](actions/move_to_trash.md) — Move a Gmail message to trash. The message remains recoverable until it is permanently deleted by Gmail.\n- [`patch_label`](actions/patch_label.md) — Patch a user-created Gmail label. Use this for partial updates to the label name, visibility settings, or color.\n- [`reply_email`](actions/reply_email.md) — Reply to an existing Gmail thread using the original message's reply headers. This compatibility action returns only the new `messageId`.\n- [`reply_to_thread`](actions/reply_to_thread.md) — 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.\n- [`search_threads`](actions/search_threads.md) — Search Gmail threads by query and return lightweight thread summaries. Spam and trash stay excluded unless you explicitly target them in the query.\n- [`send_draft`](actions/send_draft.md) — 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.\n- [`send_email`](actions/send_email.md) — Send an email from the connected Gmail account. At least one recipient and one of subject or body are required.\n- [`settings_get_imap`](actions/settings_get_imap.md) — Get the Gmail IMAP settings, including whether IMAP is enabled and how expunge or folder size settings are configured.\n- [`settings_get_pop`](actions/settings_get_pop.md) — Get the Gmail POP settings, including access window and message disposition.\n- [`stop_watch`](actions/stop_watch.md) — Stop Gmail push watch notifications for the mailbox. Use this to disable notifications that were previously created via the watch endpoint.\n- [`untrash_message`](actions/untrash_message.md) — Restore a previously trashed Gmail message back to the mailbox.\n- [`untrash_thread`](actions/untrash_thread.md) — Restore a previously trashed Gmail thread and its messages.\n- [`update_draft`](actions/update_draft.md) — 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.\n- [`update_imap_settings`](actions/update_imap_settings.md) — Update the Gmail IMAP settings, including enablement, auto-expunge behavior, expunge behavior, or max folder size.\n- [`update_label`](actions/update_label.md) — Update an existing Gmail label's properties, including name, visibility settings, or color.\n- [`update_language_settings`](actions/update_language_settings.md) — Update the Gmail display language settings for the connected account.\n- [`update_pop_settings`](actions/update_pop_settings.md) — Update the Gmail POP settings, including access window and disposition behavior.\n- [`update_vacation_settings`](actions/update_vacation_settings.md) — Update the Gmail vacation responder settings. Use this to configure out-of-office auto-replies and their active time window.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Gmail state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`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:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gmail\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Gmail homepage: https://workspace.google.com/gmail/\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780502469113\n}\n\nFile v1.0.0:actions/add_label_to_email.md\n\n# Gmail · `add_label_to_email`\n\nAdd and/or remove labels on a single Gmail message. Provide at least one label mutation and use label IDs from `list_labels`.\n\n- **Service**: `gmail`\n- **Action**: `add_label_to_email`\n- **Action id**: `gmail.add_label_to_email`\n- **Required scopes**: gmail.modify\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"add_label_to_email\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"add_label_to_email\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/batch_modify_messages.md\n\n# Gmail · `batch_modify_messages`\n\nAdd 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.\n\n- **Service**: `gmail`\n- **Action**: `batch_modify_messages`\n- **Action id**: `gmail.batch_modify_messages`\n- **Required scopes**: gmail.modify\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"batch_modify_messages\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"batch_modify_messages\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_draft.md\n\n# Gmail · `create_draft`\n\nCreate a Gmail draft with a simplified input and output shape. This compatibility action returns only the created `draftId`.\n\n- **Service**: `gmail`\n- **Action**: `create_draft`\n- **Action id**: `gmail.create_draft`\n- **Required scopes**: gmail.compose\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"create_draft\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"create_draft\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_email_draft.md\n\n# Gmail · `create_email_draft`\n\nCreate a Gmail draft with recipients, subject, body, and optional threading. Use `threadId` to draft a reply in an existing conversation.\n\n- **Service**: `gmail`\n- **Action**: `create_email_draft`\n- **Action id**: `gmail.create_email_draft`\n- **Required scopes**: gmail.compose\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"create_email_draft\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"create_email_draft\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_filter.md\n\n# Gmail · `create_filter`\n\nCreate a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail.\n\n- **Service**: `gmail`\n- **Action**: `create_filter`\n- **Action id**: `gmail.create_filter`\n- **Required scopes**: gmail.settings\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"create_filter\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"create_filter\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_label.md\n\n# Gmail · `create_label`\n\nCreate a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions.\n\n- **Service**: `gmail`\n- **Action**: `create_label`\n- **Action id**: `gmail.create_label`\n- **Required scopes**: gmail.labels\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"create_label\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"create_label\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Gmail state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/delete_draft.md\n\n# Gmail · `delete_draft`\n\nPermanently delete a Gmail draft by draft ID instead of sending it.\n\n- **Service**: `gmail`\n- **Action**: `delete_draft`\n- **Action id**: `gmail.delete_draft`\n- **Required scopes**: gmail.compose\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"delete_draft\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"delete_draft\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Gmail data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/delete_filter.md\n\n# Gmail · `delete_filter`\n\nPermanently delete a Gmail filter by filter ID.\n\n- **Service**: `gmail`\n- **Action**: `delete_filter`\n- **Action id**: `gmail.delete_filter`\n- **Required scopes**: gmail.settings\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"delete_filter\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"delete_filter\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Gmail data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/delete_label.md\n\n# Gmail · `delete_label`\n\nPermanently delete a user-created Gmail label from the mailbox. This removes the label definition itself rather than just detaching it from one message.\n\n- **Service**: `gmail`\n- **Action**: `delete_label`\n- **Action id**: `gmail.delete_label`\n- **Required scopes**: gmail.labels\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"delete_label\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"delete_label\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Gmail data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/fetch_emails.md\n\n# Gmail · `fetch_emails`\n\nList Gmail messages with optional query, label, and pagination filters. Use `detail` to choose between identifiers only, lightweight summaries, or full normalized messages.\n\n- **Service**: `gmail`\n- **Action**: `fetch_emails`\n- **Action id**: `gmail.fetch_emails`\n- **Required scopes**: gmail.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gmail\" --action \"fetch_emails\"\n```\n\n## Run\n\n```bash\noo connector run \"gmail\" --action \"fetch_emails\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.","readmeExcerpt":"Skill: Gmail Owner: oomol Summary: Gmail (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. Tags: latest:1.0.6 Version history: v1.0.6 | 2026-10-11T00:09:07.382Z | user - Enables Gmail automation through the OOMOL-connected gmail connector using the oo CLI. - Supports reading","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"gmail\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-gmail\ndescription: \"Gmail (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.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Gmail\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"gmail\"]\n  icon: \"https://static.oomol.com/logo/third-party/Gmail.svg\"\n---\n\n# Gmail\n\nOperate **Gmail** through your OOMOL-connected account. This skill calls the `gmail` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume 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](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gmail\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gmail\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `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`. [write]\n- `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. [write]\n- `create_draft` — Create a Gmail draft with a simplified input and output shape. Returns the stable draft ID and current message and thread IDs. [write]\n- `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. [write]\n- `create_filter` — Create a Gmail filter with matching criteria and resulting actions. Use this to automatically organize incoming mail. [write]\n- `create_label` — Create a new Gmail label and return its internal label ID. Use the returned ID in downstream label modification actions. [write]\n- `delete_draft` — Permanently delete a Gmail draft by draft ID instead of sending it. [destructive]\n- `delete_filter` — Permanently delete a Gmail filter by filter ID. [destruc"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7d7j8jdksrd4pyjnnxgch2y987zpvb\",\n  \"slug\": \"oo-gmail\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1791677347382\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1367,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T00:18:29.338Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:54:22.248Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}