{"id":"dc30fd9f-c173-4a41-801f-a760e179ea1f","entityType":"agent","slug":"clawhub-clawbus-clawbus-google-workspace","name":"Google Workspace","canonicalUrl":"https://www.xpersona.co/agent/clawhub-clawbus-clawbus-google-workspace","canonicalPath":"/agent/clawhub-clawbus-clawbus-google-workspace","generatedAt":"2026-10-10T15:50:57.685Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:22:22.634Z","emptyReason":null},"description":"Manage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and the local Google Workspace CLI. Use it to li...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1714nww0520qjy3akv321qsjs86bfp7:clawbus-google-workspace","sourceUrl":"https://clawhub.ai/clawbus/clawbus-google-workspace","homepage":"https://clawhub.ai/clawbus/skills/clawbus-google-workspace","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/clawbus/clawbus-google-workspace","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/clawbus/skills/clawbus-google-workspace","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Google Workspace 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-10T13:22:22.634Z","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-10T13:22:22.634Z","emptyReason":null},"stars":null,"forks":null,"downloads":1414,"packageName":null,"latestVersion":"1.2.10","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:22:22.633Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T13:22:22.634Z","lastCrawledAt":"2026-10-10T13:22:22.633Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T13:22:22.634Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.10","createdAt":"2026-06-10T15:00:13.478Z","changelog":"Rollback 1.2.9 listing changes.","fileCount":5,"zipByteSize":5910},{"version":"1.2.9","createdAt":"2026-06-10T12:42:25.019Z","changelog":"Add Hermes Agent install instructions and document GWS_TOKEN_URL setup.","fileCount":5,"zipByteSize":6064},{"version":"1.2.8","createdAt":"2026-05-26T10:40:17.253Z","changelog":"Restore Google Workspace comparison table and clarify Google login no-MCP setup.","fileCount":5,"zipByteSize":5946},{"version":"1.2.7","createdAt":"2026-05-26T10:34:09.424Z","changelog":"Clarify MyBrandMetrics Google login flow: no Google Cloud project and no MCP server required.","fileCount":5,"zipByteSize":5894},{"version":"1.2.6","createdAt":"2026-05-22T15:41:26.461Z","changelog":"Update Google Workspace skill package from hosted skill file","fileCount":7,"zipByteSize":6802},{"version":"1.2.5","createdAt":"2026-05-21T03:52:47.612Z","changelog":"Clarify MyBrandMetrics sign-in options","fileCount":4,"zipByteSize":4599},{"version":"1.2.4","createdAt":"2026-05-21T03:47:37.215Z","changelog":"Clarify MyBrandMetrics Google login setup and no-MCP workflow","fileCount":4,"zipByteSize":4609},{"version":"1.2.3","createdAt":"2026-05-18T01:22:13.505Z","changelog":"Remove ClawBus prefix from skill title","fileCount":4,"zipByteSize":4272}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1714nww0520qjy3akv321qsjs86bfp7:clawbus-google-workspace","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1714nww0520qjy3akv321qsjs86bfp7:clawbus-google-workspace` 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/clawbus/clawbus-google-workspace 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-clawbus-clawbus-google-workspace/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/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-10T15:50:57.683Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-clawbus-clawbus-google-workspace/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-10T13:22:22.634Z","emptyReason":null},"readme":"Skill: Google Workspace\n\nOwner: clawbus\n\nSummary: Manage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and the local Google Workspace CLI. Use it to li...\n\nTags: calendar:1.2.10, drive:1.2.10, google:1.2.10, google-calendar:1.2.10, google-drive:1.2.10, google-sheets:1.2.10, google-workspace:1.2.10, latest:1.2.10, mybrandmetrics:1.2.10, no-mcp:1.2.10, productivity:1.2.10, sheets:1.2.10\n\nVersion history:\n\nv1.2.10 | 2026-06-10T15:00:13.478Z | user\n\nRollback 1.2.9 listing changes.\n\nv1.2.9 | 2026-06-10T12:42:25.019Z | user\n\nAdd Hermes Agent install instructions and document GWS_TOKEN_URL setup.\n\nv1.2.8 | 2026-05-26T10:40:17.253Z | user\n\nRestore Google Workspace comparison table and clarify Google login no-MCP setup.\n\nv1.2.7 | 2026-05-26T10:34:09.424Z | user\n\nClarify MyBrandMetrics Google login flow: no Google Cloud project and no MCP server required.\n\nv1.2.6 | 2026-05-22T15:41:26.461Z | user\n\nUpdate Google Workspace skill package from hosted skill file\n\nv1.2.5 | 2026-05-21T03:52:47.612Z | user\n\nClarify MyBrandMetrics sign-in options\n\nv1.2.4 | 2026-05-21T03:47:37.215Z | user\n\nClarify MyBrandMetrics Google login setup and no-MCP workflow\n\nv1.2.3 | 2026-05-18T01:22:13.505Z | user\n\nRemove ClawBus prefix from skill title\n\nv1.2.2 | 2026-05-16T03:35:13.067Z | user\n\nRefine Google Workspace usage instructions and runtime token configuration\n\nv1.2.1 | 2026-05-16T03:26:32.863Z | user\n\nClarify MyBrandMetrics setup and Google data source usage\n\nv1.2.0 | 2026-05-16T03:19:41.557Z | user\n\nCleaned and optimized user documentation for GWS CLI usage.\n\nv1.1.0 | 2026-05-16T03:10:49.914Z | user\n\nCleaned sensitive information, verified真实用法 for GWS CLI.\n\nv1.0.5 | 2026-05-16T02:53:38.249Z | user\n\nRestore original local gws CLI usage documentation\n\nv1.0.4 | 2026-05-16T02:32:00.761Z | user\n\nClarify local gws CLI usage and MyBrandMetrics role\n\nv1.0.3 | 2026-05-16T02:20:56.910Z | user\n\nClarify Google Calendar Drive and Sheets data source setup\n\nv1.0.2 | 2026-05-16T02:15:50.361Z | user\n\nOptimize Google Workspace page with MyBrandMetrics setup flow\n\nv1.0.1 | 2026-05-16T02:04:56.355Z | user\n\nImprove user-facing documentation and safety guidance.\n\nv1.0.0 | 2026-05-16T01:53:49.928Z | user\n\nRemove local metadata and publish Google Workspace skill.\n\nArchive index:\n\nArchive v1.2.10: 5 files, 5910 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), skill-card.md (2504b), SKILL.md (6112b), _meta.json (144b)\n\nFile v1.2.10:SKILL.md\n\n---\nname: Google Workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics with Google, connect the needed Google data sources, get a\n  MyBrandMetrics API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics with\nGoogle, connect the Google data sources you need, get a MyBrandMetrics API key,\nand use natural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics with Google. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is ready.\n5. In [https://mybrandmetrics.com/](https://mybrandmetrics.com/), get the\n   MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Save the MyBrandMetrics API key for the wrapper:\n\n   ```bash\n   echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key\n   ```\n\n   You can also set `GWS_SKILL_API_KEY` instead.\n\n8. If `gws` is not installed, run:\n\n   ```bash\n   bash scripts/install_gws.sh\n   ```\n\n9. Start Google Calendar, Google Drive, or Google Sheets workflows with\n   natural-language instructions.\n\n## Workflow\n\nUse natural-language prompts after the skill is installed. Include:\n\n- which Google service to use: Calendar, Drive, or Sheets;\n- the target calendar, spreadsheet, file, or folder;\n- the action to perform;\n- any date range, sheet range, search query, folder ID, file ID, or sharing\n  email needed for the task.\n\nExamples:\n\n```text\nList my next 10 Google Calendar events.\n```\n\n```text\nAppend this row to Sheet1 in my campaign spreadsheet.\n```\n\n```text\nFind Google Drive files with \"budget\" in the name and share the selected file with editor access.\n```\n\n## Use The Wrapper Directly\n\nUse `scripts/gws_wrapper.py`.\n\nGeneral pattern:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <resource> <method> [args]\n```\n\nThe wrapper maps services to MyBrandMetrics source keys:\n\n| Service | MyBrandMetrics source key |\n| --- | --- |\n| `calendar` | `google_calendar` |\n| `sheets` | `google_sheets` |\n| `drive` | `google_drive` |\n\n### Google Calendar\n\nList events:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list \\\n  --params '{\"calendarId\": \"primary\", \"maxResults\": 10}'\n```\n\nCreate an event:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events insert \\\n  --params '{\"calendarId\": \"primary\"}' \\\n  --json '{\"summary\": \"Planning meeting\", \"start\": {\"dateTime\": \"2026-05-21T10:00:00+08:00\"}, \"end\": {\"dateTime\": \"2026-05-21T10:30:00+08:00\"}}'\n```\n\n### Google Sheets\n\nRead values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values get \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1:D10\"}'\n```\n\nAppend values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values append \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1\", \"valueInputOption\": \"USER_ENTERED\"}' \\\n  --json '{\"values\": [[\"New row\", \"More data\"]]}'\n```\n\n### Google Drive\n\nSearch files:\n\n```bash\npython3 scripts/gws_wrapper.py drive files list \\\n  --params '{\"pageSize\": 10, \"q\": \"name contains '\\''budget'\\'' and trashed = false\"}'\n```\n\nUpload a file:\n\n```bash\npython3 scripts/gws_wrapper.py drive +upload /local/path/file.pdf \\\n  --parent \"FOLDER_ID\" \\\n  --name \"file.pdf\"\n```\n\nExport a Google Docs file:\n\n```bash\npython3 scripts/gws_wrapper.py drive files export \\\n  --params '{\"fileId\": \"FILE_ID\", \"mimeType\": \"application/pdf\"}' \\\n  --output document.pdf\n```\n\n## Notes\n\n- Connect only the Google data sources needed for the workflow.\n- Keep the MyBrandMetrics API key private.\n- If a token error occurs, confirm that the relevant data source is connected\n  and that the API key is valid.\n- If `gws` is missing, run `scripts/install_gws.sh`.\n\nFile v1.2.10:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.10\",\n  \"publishedAt\": 1781103613478\n}\n\nFile v1.2.10:skill-card.md\n\n## Description:\n\nManage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and the local Google Workspace CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[clawbus](https://clawhub.ai/user/clawbus)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nEmployees, external users, developers, and operations teams use this skill to manage Google Calendar events, Google Sheets data, and Google Drive files through MyBrandMetrics-managed Google connections and a local Google Workspace CLI wrapper.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles credentials and access tokens for Google Workspace workflows.\n\nMitigation: Use only trusted installations, keep the API key private, restrict permissions on the API key file, and set GWS_TOKEN_URL only to the official HTTPS token service.\n\nRisk: Calendar, Drive, and Sheets actions can modify or delete user data and sharing permissions.\n\nMitigation: Require explicit user confirmation before delete, trash, move, overwrite, or sharing-permission changes.\n\nRisk: The security verdict flags the release as suspicious because scoping and guardrail detail are limited.\n\nMitigation: Review the skill before installing and connect only the Google data sources needed for the intended workflow.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/clawbus/skills/clawbus-google-workspace)\n- [clawbus website](https://www.clawbus.com/)\n- [MyBrandMetrics API](https://mybrandmetrics.com/)\n- [Google Workspace CLI releases API](https://api.github.com/repos/googleworkspace/cli/releases/latest)\n- [Google Workspace CLI release download](https://github.com/googleworkspace/cli/releases/download/${VERSION}/${FILENAME})\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON command parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May invoke local CLI commands that read credentials, request Google access tokens, and perform Calendar, Sheets, or Drive actions.]\n\n## Skill Version(s):\n\n1.2.10 (source: server release 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.2.9: 5 files, 6064 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), skill-card.md (2366b), SKILL.md (6752b), _meta.json (143b)\n\nFile v1.2.9:SKILL.md\n\n---\nname: Google Workspace\nversion: 1.2.9\nlicense: MIT-0\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics with Google, connect the needed Google data sources, get a\n  MyBrandMetrics API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics with\nGoogle, connect the Google data sources you need, get a MyBrandMetrics API key,\nand use natural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Install with Hermes Agent\n\nInstall this skill from ClawHub, which is supported as a Hermes Skills Hub source:\n\n```bash\nhermes skills install clawhub/clawbus-google-workspace\n```\n\nClawHub listing: [https://clawhub.ai/clawbus/clawbus-google-workspace](https://clawhub.ai/clawbus/clawbus-google-workspace)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics with Google. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is ready.\n5. In [https://mybrandmetrics.com/](https://mybrandmetrics.com/), get the\n   MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Save the MyBrandMetrics API key for the wrapper:\n\n   ```bash\n   echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key\n   ```\n\n   You can also set `GWS_SKILL_API_KEY` instead.\n\n8. Set the MyBrandMetrics token service endpoint used by the wrapper:\n\n   ```bash\n   export GWS_TOKEN_URL=\"YOUR_MYBRANDMETRICS_TOKEN_SERVICE_URL\"\n   ```\n\n   The wrapper requires `GWS_TOKEN_URL` to exchange your MyBrandMetrics API key\n   for the Google access token used by Calendar, Drive, or Sheets.\n\n9. If `gws` is not installed, run:\n\n   ```bash\n   bash scripts/install_gws.sh\n   ```\n\n10. Start Google Calendar, Google Drive, or Google Sheets workflows with\n   natural-language instructions.\n\n## Workflow\n\nUse natural-language prompts after the skill is installed. Include:\n\n- which Google service to use: Calendar, Drive, or Sheets;\n- the target calendar, spreadsheet, file, or folder;\n- the action to perform;\n- any date range, sheet range, search query, folder ID, file ID, or sharing\n  email needed for the task.\n\nExamples:\n\n```text\nList my next 10 Google Calendar events.\n```\n\n```text\nAppend this row to Sheet1 in my campaign spreadsheet.\n```\n\n```text\nFind Google Drive files with \"budget\" in the name and share the selected file with editor access.\n```\n\n## Use The Wrapper Directly\n\nUse `scripts/gws_wrapper.py`.\n\nGeneral pattern:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <resource> <method> [args]\n```\n\nThe wrapper maps services to MyBrandMetrics source keys:\n\n| Service | MyBrandMetrics source key |\n| --- | --- |\n| `calendar` | `google_calendar` |\n| `sheets` | `google_sheets` |\n| `drive` | `google_drive` |\n\n### Google Calendar\n\nList events:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list \\\n  --params '{\"calendarId\": \"primary\", \"maxResults\": 10}'\n```\n\nCreate an event:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events insert \\\n  --params '{\"calendarId\": \"primary\"}' \\\n  --json '{\"summary\": \"Planning meeting\", \"start\": {\"dateTime\": \"2026-05-21T10:00:00+08:00\"}, \"end\": {\"dateTime\": \"2026-05-21T10:30:00+08:00\"}}'\n```\n\n### Google Sheets\n\nRead values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values get \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1:D10\"}'\n```\n\nAppend values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values append \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1\", \"valueInputOption\": \"USER_ENTERED\"}' \\\n  --json '{\"values\": [[\"New row\", \"More data\"]]}'\n```\n\n### Google Drive\n\nSearch files:\n\n```bash\npython3 scripts/gws_wrapper.py drive files list \\\n  --params '{\"pageSize\": 10, \"q\": \"name contains '\\''budget'\\'' and trashed = false\"}'\n```\n\nUpload a file:\n\n```bash\npython3 scripts/gws_wrapper.py drive +upload /local/path/file.pdf \\\n  --parent \"FOLDER_ID\" \\\n  --name \"file.pdf\"\n```\n\nExport a Google Docs file:\n\n```bash\npython3 scripts/gws_wrapper.py drive files export \\\n  --params '{\"fileId\": \"FILE_ID\", \"mimeType\": \"application/pdf\"}' \\\n  --output document.pdf\n```\n\n## Notes\n\n- Connect only the Google data sources needed for the workflow.\n- Keep the MyBrandMetrics API key private.\n- If a token error occurs, confirm that the relevant data source is connected\n  and that the API key is valid.\n- If `gws` is missing, run `scripts/install_gws.sh`.\n\nFile v1.2.9:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.9\",\n  \"publishedAt\": 1781095345019\n}\n\nFile v1.2.9:skill-card.md\n\n## Description: <br>\nGoogle Workspace helps agents manage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected data sources and a local Google Workspace CLI wrapper. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[clawbus](https://clawhub.ai/user/clawbus) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees, operators, and developers use this skill to let an agent perform Google Calendar, Drive, and Sheets workflows through connected MyBrandMetrics data sources without setting up a Google Cloud project or MCP server. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access and change real Google Calendar, Drive, and Sheets data. <br>\nMitigation: Use the least Google data-source permissions needed and manually confirm delete, sharing, move, and spreadsheet-update operations before execution. <br>\nRisk: The wrapper relies on a configured MyBrandMetrics token endpoint and API key, including an optional plaintext API-key file. <br>\nMitigation: Install only when the publisher and configured token endpoint are trusted, keep API keys private, and prefer protected credential storage or environment variables. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Google Workspace listing](https://clawhub.ai/clawbus/clawbus-google-workspace) <br>\n- [clawbus publisher profile](https://clawhub.ai/user/clawbus) <br>\n- [MyBrandMetrics](https://mybrandmetrics.com/) <br>\n- [Clawbus](https://www.clawbus.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown instructions with inline shell commands and JSON command arguments] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May execute Google Workspace CLI calls that read or modify Calendar, Drive, or Sheets data when credentials are configured and actions are confirmed.] <br>\n\n## Skill Version(s): <br>\n1.2.9 (source: SKILL.md frontmatter and server release evidence) <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.2.8: 5 files, 5946 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), skill-card.md (2604b), SKILL.md (6112b), _meta.json (143b)\n\nFile v1.2.8:SKILL.md\n\n---\nname: Google Workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics with Google, connect the needed Google data sources, get a\n  MyBrandMetrics API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics with\nGoogle, connect the Google data sources you need, get a MyBrandMetrics API key,\nand use natural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics with Google. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is ready.\n5. In [https://mybrandmetrics.com/](https://mybrandmetrics.com/), get the\n   MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Save the MyBrandMetrics API key for the wrapper:\n\n   ```bash\n   echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key\n   ```\n\n   You can also set `GWS_SKILL_API_KEY` instead.\n\n8. If `gws` is not installed, run:\n\n   ```bash\n   bash scripts/install_gws.sh\n   ```\n\n9. Start Google Calendar, Google Drive, or Google Sheets workflows with\n   natural-language instructions.\n\n## Workflow\n\nUse natural-language prompts after the skill is installed. Include:\n\n- which Google service to use: Calendar, Drive, or Sheets;\n- the target calendar, spreadsheet, file, or folder;\n- the action to perform;\n- any date range, sheet range, search query, folder ID, file ID, or sharing\n  email needed for the task.\n\nExamples:\n\n```text\nList my next 10 Google Calendar events.\n```\n\n```text\nAppend this row to Sheet1 in my campaign spreadsheet.\n```\n\n```text\nFind Google Drive files with \"budget\" in the name and share the selected file with editor access.\n```\n\n## Use The Wrapper Directly\n\nUse `scripts/gws_wrapper.py`.\n\nGeneral pattern:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <resource> <method> [args]\n```\n\nThe wrapper maps services to MyBrandMetrics source keys:\n\n| Service | MyBrandMetrics source key |\n| --- | --- |\n| `calendar` | `google_calendar` |\n| `sheets` | `google_sheets` |\n| `drive` | `google_drive` |\n\n### Google Calendar\n\nList events:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list \\\n  --params '{\"calendarId\": \"primary\", \"maxResults\": 10}'\n```\n\nCreate an event:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events insert \\\n  --params '{\"calendarId\": \"primary\"}' \\\n  --json '{\"summary\": \"Planning meeting\", \"start\": {\"dateTime\": \"2026-05-21T10:00:00+08:00\"}, \"end\": {\"dateTime\": \"2026-05-21T10:30:00+08:00\"}}'\n```\n\n### Google Sheets\n\nRead values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values get \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1:D10\"}'\n```\n\nAppend values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values append \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1\", \"valueInputOption\": \"USER_ENTERED\"}' \\\n  --json '{\"values\": [[\"New row\", \"More data\"]]}'\n```\n\n### Google Drive\n\nSearch files:\n\n```bash\npython3 scripts/gws_wrapper.py drive files list \\\n  --params '{\"pageSize\": 10, \"q\": \"name contains '\\''budget'\\'' and trashed = false\"}'\n```\n\nUpload a file:\n\n```bash\npython3 scripts/gws_wrapper.py drive +upload /local/path/file.pdf \\\n  --parent \"FOLDER_ID\" \\\n  --name \"file.pdf\"\n```\n\nExport a Google Docs file:\n\n```bash\npython3 scripts/gws_wrapper.py drive files export \\\n  --params '{\"fileId\": \"FILE_ID\", \"mimeType\": \"application/pdf\"}' \\\n  --output document.pdf\n```\n\n## Notes\n\n- Connect only the Google data sources needed for the workflow.\n- Keep the MyBrandMetrics API key private.\n- If a token error occurs, confirm that the relevant data source is connected\n  and that the API key is valid.\n- If `gws` is missing, run `scripts/install_gws.sh`.\n\nFile v1.2.8:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.8\",\n  \"publishedAt\": 1779792017253\n}\n\nFile v1.2.8:skill-card.md\n\n## Description: <br>\nManage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and a local Google Workspace CLI wrapper. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[clawbus](https://clawhub.ai/user/clawbus) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to automate Google Calendar, Drive, and Sheets workflows without configuring their own Google Cloud OAuth client or MCP server. It supports calendar events, spreadsheet values, Drive search and file management, upload, export, and sharing workflows through MyBrandMetrics-managed Google access. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill requires powerful Google account access through MyBrandMetrics-connected data sources. <br>\nMitigation: Install only if you trust the publisher and MyBrandMetrics, and connect only the Calendar, Drive, or Sheets data sources needed for the workflow. <br>\nRisk: The wrapper depends on a configurable token endpoint and sensitive API key material. <br>\nMitigation: Verify `GWS_TOKEN_URL` before use and prefer protected environment-based secret handling over a plaintext API key file where possible. <br>\nRisk: Drive and Calendar operations can delete, move, overwrite, upload, export, or change sharing permissions. <br>\nMitigation: Manually confirm destructive or sharing-changing actions before execution. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/clawbus/clawbus-google-workspace) <br>\n- [Clawbus website](https://www.clawbus.com/) <br>\n- [MyBrandMetrics](https://mybrandmetrics.com/) <br>\n- [Google Workspace CLI releases API](https://api.github.com/repos/googleworkspace/cli/releases/latest) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration, code] <br>\n**Output Format:** [Markdown with inline shell and Python command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces Google Workspace CLI invocations and setup guidance; wrapper execution may call Google services through MyBrandMetrics-provided tokens.] <br>\n\n## Skill Version(s): <br>\n1.2.8 (source: server release metadata) <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.2.7: 5 files, 5894 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), skill-card.md (2539b), SKILL.md (5729b), _meta.json (143b)\n\nFile v1.2.7:SKILL.md\n\n---\nname: google-workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected data sources and the local Google Workspace CLI\n  (gws). Designed for Google login only, with no Google Cloud project and no\n  MCP server setup required.\n---\n\n# google-workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected data sources and the local Google Workspace CLI\n(`gws`).\n\nUse this skill when the user wants to work with Calendar events, Drive files,\nor Google Sheets data from chat.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Is Better\n\nThis flow is simpler than a typical MCP or DIY Google Cloud setup:\n\n- Google login is enough for end users.\n- No Google Cloud project to create or maintain.\n- No OAuth client, `client_secret`, or consent screen to configure.\n- No MCP server to run, deploy, or debug.\n- MyBrandMetrics handles the connection layer, while `gws` handles the actual\n  Workspace commands.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Calendar workflows | List events and create calendar events when the user provides the event details. |\n| Drive workflows | List files and upload files through the local `gws` CLI. |\n| Sheets reading | Read ranges from Google Sheets. |\n| Sheets writing | Append rows or update spreadsheet data. |\n| Natural-language operations | Use natural-language prompts in chat after the skill is installed and setup is ready. |\n\n## Requirements\n\n- A Google account.\n- Access to MyBrandMetrics.\n- The needed Google data sources connected in MyBrandMetrics:\n  `Google Calendar`, `Google Drive`, or `Google Sheets`.\n- A MyBrandMetrics API key.\n- The local Google Workspace CLI (`gws`) installed.\n- A clear task, such as a calendar action, Drive file operation, or Google\n  Sheets read/write request.\n- No Google Cloud project is required.\n- No MCP server is required.\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the data sources required for the workflow:\n   `Google Calendar` for calendar tasks, `Google Drive` for file tasks, and\n   `Google Sheets` for spreadsheet tasks.\n4. Wait until the selected MyBrandMetrics connections are ready.\n5. Get the MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Install the Google Workspace CLI if `gws` is not already available.\n8. Start the Google Workspace workflow with natural-language instructions.\n\n## How It Works\n\nThe wrapper script uses the MyBrandMetrics API key with the configured\nMyBrandMetrics token service to get a short-lived Google session for the\nselected data source, then runs the matching `gws` command.\n\n| Chat task | Data source to connect | Wrapper service |\n| --- | --- | --- |\n| Calendar events | `Google Calendar` | `calendar` |\n| Drive files | `Google Drive` | `drive` |\n| Spreadsheet rows and ranges | `Google Sheets` | `sheets` |\n\nFor local script usage, provide the MyBrandMetrics API key with one of these\noptions:\n\n```bash\nexport GWS_SKILL_API_KEY=\"YOUR_MYBRANDMETRICS_API_KEY\"\n```\n\nor:\n\n```bash\necho \"YOUR_MYBRANDMETRICS_API_KEY\" > ~/.google_workspace_api_key\n```\n\nDo not paste short-lived Google session values into chat, files, examples, or\nlogs. The wrapper handles them for the current command.\n\nThe runtime should provide the token service location through `GWS_TOKEN_URL`.\n\n## Positioning Notes\n\n- This skill is for MyBrandMetrics-connected Google Workspace access, not an\n  MCP deployment.\n- The user-facing setup is just Google sign-in plus the required data source\n  connection in MyBrandMetrics.\n- Keep the message simple: no Google project, no client setup, no MCP server.\n\n## Example Requests\n\nNatural-language examples:\n\n```text\nShow my upcoming Google Calendar events for this week.\n```\n\n```text\nUpload this report to Google Drive and put it in the campaign folder.\n```\n\n```text\nRead rows A1:D20 from this Google Sheet and summarize the status column.\n```\n\n```text\nAppend these rows to the sales tracker sheet after I confirm the target range.\n```\n\n## Command Reference\n\nRun Google Workspace commands through the wrapper:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <command> [args]\n```\n\nUseful patterns:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list\npython3 scripts/gws_wrapper.py calendar events create --title \"Meeting\" --start \"2026-05-15T10:00:00Z\"\npython3 scripts/gws_wrapper.py drive ls\npython3 scripts/gws_wrapper.py drive upload <filename>\npython3 scripts/gws_wrapper.py sheets get <spreadsheet-id> <range>\npython3 scripts/gws_wrapper.py sheets append <spreadsheet-id> <range> --data '[[1, 2], [3, 4]]'\n```\n\n## Review Before Changes\n\nBefore creating, updating, uploading, appending, or deleting anything, confirm:\n\n- the connected Google account or workspace;\n- the calendar, Drive folder, file, spreadsheet, sheet, or range;\n- the exact data to write or upload;\n- whether the action changes existing content.\n\n## Troubleshooting\n\n- If MyBrandMetrics is not ready, reconnect the needed data source in\n  MyBrandMetrics and try again: `Google Calendar`, `Google Drive`, or\n  `Google Sheets`.\n- If the wrapper asks for a MyBrandMetrics API key, set `GWS_SKILL_API_KEY` or\n  save the key to `~/.google_workspace_api_key`.\n- If the wrapper asks for the token service, set `GWS_TOKEN_URL` in the runtime\n  environment.\n- If `gws` is not found, run `scripts/install_gws.sh` or install the Google\n  Workspace CLI manually.\n- If a sheet or Drive file cannot be found, check that the connected Google\n  account has access.\n\nFile v1.2.7:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.7\",\n  \"publishedAt\": 1779791649424\n}\n\nFile v1.2.7:skill-card.md\n\n## Description: <br>\nManage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected data sources and the local Google Workspace CLI, using Google login without a Google Cloud project or MCP server setup. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[clawbus](https://clawhub.ai/user/clawbus) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nUsers connect Google Calendar, Drive, or Sheets through MyBrandMetrics and use this skill to list, read, upload, create, append, or update Google Workspace data from an agent session. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses a MyBrandMetrics API key and short-lived Google session access to perform Workspace actions. <br>\nMitigation: Use only a legitimate HTTPS GWS_TOKEN_URL, avoid storing the API key in a shared home directory, and do not paste session tokens into chat, files, examples, or logs. <br>\nRisk: Calendar, Drive, and Sheets commands can create or change user data. <br>\nMitigation: Confirm the connected Google account, target calendar, folder, file, spreadsheet, sheet or range, and exact data before write, upload, append, update, or delete actions. <br>\nRisk: The installer can fetch the latest Google Workspace CLI through an unpinned install path. <br>\nMitigation: Prefer a pinned or verified gws installation path before running the wrapper in sensitive environments. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/clawbus/clawbus-google-workspace) <br>\n- [Clawbus website](https://www.clawbus.com/) <br>\n- [MyBrandMetrics](https://mybrandmetrics.com/) <br>\n- [Google Workspace CLI latest release API](https://api.github.com/repos/googleworkspace/cli/releases/latest) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and configuration guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May invoke the local gws CLI after required credentials and token service configuration are present.] <br>\n\n## Skill Version(s): <br>\n1.2.7 (source: release evidence) <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.2.6: 7 files, 6802 bytes\n\nFiles: references/auth.md (2949b), references/calendar.md (1065b), references/drive.md (865b), references/setup.md (3146b), references/sheets.md (841b), SKILL.md (3468b), _meta.json (143b)\n\nFile v1.2.6:SKILL.md\n\n---\nname: google-workspace\ndescription: \"Google Workspace via MyBrandMetrics-issued user tokens. Use when you need to work with Google Calendar, Drive, or Sheets without asking the user to run gws OAuth setup or gws auth login. Ensure gws is available by auto-installing it when missing, fall back to a GitHub Releases binary install if the npm-installed gws cannot run, fetch the service token from MyBrandMetrics, choose an account when multiple tokens are returned for the same source_key, set GOOGLE_WORKSPACE_CLI_TOKEN for the gws command being executed, then call gws.\"\nmetadata:\n  version: 0.22.5\n  openclaw:\n    category: \"productivity\"\n    requires:\n      bins:\n        - gws\n    cliHelp: \"gws --help\"\n---\n\n# Clawbus Google Workspace\n\nUse this skill for Google Calendar, Drive, and Sheets tasks that should run through MyBrandMetrics-managed user authorization instead of `gws auth login`.\n\n## Read These References\n\n- Read `references/setup.md` first to ensure `gws` is available and to follow the automatic install sequence when it is missing.\n- Read `references/auth.md` before the first Google Workspace command in a task. It defines the MyBrandMetrics token flow, source key mapping, multi-account handling, and environment variable injection rules.\n- Read the service-specific reference only for the product you need:\n  - Calendar: `references/calendar.md`\n  - Drive: `references/drive.md`\n  - Sheets: `references/sheets.md`\n\n## Required Workflow\n\n1. Verify that `gws` is on `PATH`. If it is missing, install it automatically using the sequence in `references/setup.md`, then verify that `gws --version` actually runs. If the npm-installed binary exists but fails at runtime, remove it and switch to the GitHub Releases binary flow from `references/setup.md`.\n2. Map the requested Google Workspace product to the MyBrandMetrics `source_key` from `references/auth.md`.\n3. Request a fresh token from MyBrandMetrics. Never print the API key or access token in full.\n4. Inspect the returned `tokens` array for entries matching the requested `source_key`.\n5. If multiple matching entries exist, ask the user which account to use before running `gws`.\n6. If exactly one matching entry exists, use that entry's `access_token` directly.\n7. Export `GOOGLE_WORKSPACE_CLI_TOKEN` only for the current command or short-lived shell session, then run `gws`.\n8. Inspect the relevant command shape with `gws <service> --help` and `gws schema ...` before calling an API method.\n\n## Operating Rules\n\n- Do not ask the user to run `gws auth setup` or `gws auth login` for this skill. This skill is designed to use MyBrandMetrics-issued access tokens directly.\n- Do not ask the user whether `gws` should be installed. If it is missing, install it automatically; if the npm-installed binary is unusable, remove it and continue with the GitHub Releases binary install; only surface an error if all supported install methods fail.\n- Confirm with the user before write, update, share, move, or delete operations. Read-only discovery does not need confirmation.\n- Prefer `--dry-run` when a helper or command supports it.\n- Use the selected token entry from the `tokens` array when more than one account is bound. Treat the top-level `access_token` as a fallback only when no per-account entry is available.\n- Refresh the token again if the current task is long-running or if Google returns an auth-expired error.\n- Keep secrets out of chat output, logs, patches, and saved files.\n\nFile v1.2.6:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.6\",\n  \"publishedAt\": 1779464486461\n}\n\nFile v1.2.6:references/auth.md\n\n# MyBrandMetrics Auth\n\n## Secrets\n\n- Never hardcode the MyBrandMetrics API key into this skill or any checked-in file.\n- Expect the API key to come from a secure source such as an environment variable like `MYBRANDMETRICS_API_KEY` or an existing local secret store.\n- If the API key is unavailable, stop and tell the user that the MyBrandMetrics integration secret is missing. Do not fall back to manual Google OAuth.\n\n## Source Key Mapping\n\nUse this default mapping for the consolidated skill:\n\n| Product | `gws` service | MyBrandMetrics `source_key` |\n| --- | --- | --- |\n| Google Calendar | `calendar` | `google_calendar` |\n| Google Drive | `drive` | `google_drive` |\n| Google Sheets | `sheets` | `google_sheets` |\n\nIf MyBrandMetrics rejects one of these keys as unknown, stop and tell the user that the backend source mapping must be verified. Do not invent alternate key names.\n\n## Token Request\n\nRequest a short-lived token from:\n\n`POST https://api.mybrandmetrics.com/internal/token/access`\n\nHeaders:\n\n- `X-API_KEY: <secure MyBrandMetrics API key>`\n- `Content-Type: application/json`\n\nBody:\n\n```json\n{\"source_key\":\"google_calendar\"}\n```\n\nUse the requested service's `source_key` in the body.\n\n## Response Handling\n\nThe response contains a top-level token plus a `tokens` array. Always inspect the `tokens` array first.\n\n1. Filter `tokens` to entries where `source_key` equals the requested service key.\n2. If the filtered list is empty, fall back to the top-level `access_token` only when the top-level `source_key` matches the requested key.\n3. If the filtered list contains exactly one entry, use that entry automatically.\n4. If the filtered list contains multiple entries, treat that as multiple bound Google accounts and ask the user which one to use.\n\nWhen asking the user to choose an account, show concise labels like:\n\n```text\nI found multiple Google accounts for this service. Which one should I use?\n1. Alex <alex@example.com> (oauth_connection_id 59)\n2. ...\n```\n\nUse `display_name`, `email`, and `oauth_connection_id` to distinguish options. After the user chooses, use that specific entry's `access_token`.\n\n## Token Selection Rules\n\n- Prefer `tokens[n].access_token` over the top-level `access_token` whenever account-level entries exist.\n- Treat `expires_in` as short-lived. Fetch a fresh token again for later tasks instead of caching it broadly.\n- Never echo the raw token in chat output. If you must mention it, redact all but a tiny suffix.\n- If Google returns a 401 or invalid-credentials error, fetch a new token once before concluding the authorization is broken.\n\n## Recommended Execution Flow\n\n1. Determine the target service and `source_key`.\n2. Fetch the token payload from MyBrandMetrics.\n3. Resolve the correct account entry using the rules above.\n4. Set `GOOGLE_WORKSPACE_CLI_TOKEN` for the active command.\n5. Run `gws`.\n6. Clear the environment variable when the command is done in shells where that is practical.\n\nFile v1.2.6:references/calendar.md\n\n# Google Calendar\n\n## Command Shape\n\n```bash\ngws calendar <resource> <method> [flags]\n```\n\n## Inspect Before Calling\n\n```bash\ngws calendar --help\ngws schema calendar.<resource>.<method>\n```\n\nUse `gws schema` to confirm required params, request JSON shape, and optional flags before making the API call.\n\n## Common Resources\n\n- `events`: create, read, list, move, update, delete, quick-add, inspect recurring instances\n- `calendars`: get, create, update, clear, delete secondary calendars\n- `calendarList`: list or modify the current user's visible calendars\n- `freebusy`: query availability across one or more calendars\n- `acl`: inspect or change calendar access rules\n- `settings`: read user calendar settings\n\n## Common Patterns\n\n- Upcoming agenda reads usually start with `events.list` or the existing `gws calendar +agenda` helper if it is available in the repo.\n- Event creation and edits are write operations, so confirm with the user first.\n- For recurring or cross-calendar actions, inspect the event payload with `events.get` before patching or moving it.\n\nFile v1.2.6:references/drive.md\n\n# Google Drive\n\n## Command Shape\n\n```bash\ngws drive <resource> <method> [flags]\n```\n\n## Inspect Before Calling\n\n```bash\ngws drive --help\ngws schema drive.<resource>.<method>\n```\n\n## Common Resources\n\n- `files`: list, get, create, copy, update, export, download, watch\n- `permissions`: list, create, update, delete sharing permissions\n- `drives`: create, list, get, update shared drives\n- `comments` and `replies`: inspect or manage file discussion threads\n- `changes`: inspect change streams\n- `about`: fetch user and Drive capability information\n\n## Common Patterns\n\n- For reads, prefer `files.list` or `files.get` with explicit fields.\n- Sharing, moving, renaming, uploading, deleting, and permission changes are write operations, so confirm first.\n- Many Drive endpoints require careful `fields` selection; inspect the schema and request only the data you need.\n\nFile v1.2.6:references/setup.md\n\n# Setup\n\n## Check `gws`\n\nStart by checking whether `gws` is installed:\n\n- PowerShell: `Get-Command gws`\n- POSIX shells: `command -v gws`\n\nIf `gws` is missing, install it automatically. Do not ask the user for permission inside the skill workflow.\n\nIf `gws` is present but `gws --version` fails with a runtime-loader error such as:\n\n```text\n/usr/lib/node_modules/@googleworkspace/cli/bin/gws: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found\n```\n\ntreat the npm installation as unusable, remove it, and continue with the GitHub Releases binary install path below.\n\n## Install Order\n\nUse this install order:\n\n1. Prefer npm:\n\n```bash\nnpm install -g @googleworkspace/cli\n```\n\nThen verify:\n\n```bash\ngws --version\n```\n\n2. If npm is unavailable, the npm install fails, or the installed `gws` binary cannot run, remove the npm install and fall back to the GitHub Releases binary:\n\nCleanup command:\n\n```bash\nnpm uninstall -g @googleworkspace/cli\n```\n\nLinux / macOS:\n\n```bash\nVERSION=$(curl -s https://api.github.com/repos/googleworkspace/cli/releases/latest | grep \"tag_name\" | cut -d : -f 2 | tr -d \\\"\\ ,)\n\n# Replace <target> with your platform, for example:\n# x86_64-unknown-linux-musl\n# aarch64-unknown-linux-musl\n# x86_64-apple-darwin\n# aarch64-apple-darwin\ncurl -sLO https://github.com/googleworkspace/cli/releases/download/${VERSION}/google-workspace-cli-<target>.tar.gz\ncurl -sLO https://github.com/googleworkspace/cli/releases/download/${VERSION}/google-workspace-cli-<target>.tar.gz.sha256\n\nshasum -a 256 -c google-workspace-cli-<target>.tar.gz.sha256\n\ntar -xzf google-workspace-cli-<target>.tar.gz\nchmod +x gws\nsudo mv gws /usr/bin/\n\ngws --version\n```\n\nWindows:\n\n```powershell\n# Download google-workspace-cli-x86_64-pc-windows-msvc.zip and its .sha256 file\n# Verify the checksum\nGet-FileHash .\\google-workspace-cli-x86_64-pc-windows-msvc.zip -Algorithm SHA256\n\n# Extract the archive and move gws.exe to a directory on PATH\n```\n\n3. If the GitHub Releases binary path is not suitable for the environment, fall back to Cargo:\n\n```bash\ncargo install --git https://github.com/googleworkspace/cli --locked\n```\n\n4. On macOS or Linux, Homebrew is also acceptable when npm is not the right path:\n\n```bash\nbrew install googleworkspace-cli\n```\n\nIf every supported install path fails, then report the blocker and include the failing method.\n\n## Auth Expectations\n\n- Do not send the user through `gws auth setup` or `gws auth login` when this skill is in use.\n- `gws` already supports a pre-obtained access token through `GOOGLE_WORKSPACE_CLI_TOKEN`, and that environment variable has the highest auth priority.\n- Inject the token only for the current command or the shortest practical shell session.\n\n## Command Pattern\n\nUse this pattern after you have the chosen account token:\n\n- PowerShell:\n\n```powershell\n$env:GOOGLE_WORKSPACE_CLI_TOKEN = '<redacted-token>'\ngws <service> <resource> <method> ...\nRemove-Item Env:GOOGLE_WORKSPACE_CLI_TOKEN\n```\n\n- POSIX:\n\n```bash\nGOOGLE_WORKSPACE_CLI_TOKEN='<redacted-token>' gws <service> <resource> <method> ...\n```\n\nDo not persist the token to repo files, shell profiles, or long-lived plaintext config.\n\nFile v1.2.6:references/sheets.md\n\n# Google Sheets\n\n## Command Shape\n\n```bash\ngws sheets <resource> <method> [flags]\n```\n\n## Inspect Before Calling\n\n```bash\ngws sheets --help\ngws schema sheets.<resource>.<method>\n```\n\n## Common Resources\n\n- `spreadsheets.get`: inspect workbook metadata, tabs, and optionally grid data\n- `spreadsheets.create`: create a new spreadsheet\n- `spreadsheets.batchUpdate`: structural or formatting updates\n- `spreadsheets.values.*`: read, write, append, or clear cell ranges\n- `spreadsheets.developerMetadata.*`: work with metadata filters\n\n## Common Patterns\n\n- Read the current tab names and ranges before writing.\n- Confirm before append, update, clear, or structural changes.\n- Sheet ranges containing `!` should be quoted carefully in shells. In PowerShell, pass them as normal strings. In shells with history expansion, quote them defensively.\n\nArchive v1.2.5: 4 files, 4599 bytes\n\nFiles: scripts/gws_wrapper.py (2611b), scripts/install_gws.sh (1095b), SKILL.md (6061b), _meta.json (143b)\n\nFile v1.2.5:SKILL.md\n\n---\nname: Google Workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics, connect the needed Google data sources, get a MyBrandMetrics\n  API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics,\nconnect the Google data sources you need, get a MyBrandMetrics API key, and use\nnatural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is ready.\n5. In [https://mybrandmetrics.com/](https://mybrandmetrics.com/), get the\n   MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Save the MyBrandMetrics API key for the wrapper:\n\n   ```bash\n   echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key\n   ```\n\n   You can also set `GWS_SKILL_API_KEY` instead.\n\n8. If `gws` is not installed, run:\n\n   ```bash\n   bash scripts/install_gws.sh\n   ```\n\n9. Start Google Calendar, Google Drive, or Google Sheets workflows with\n   natural-language instructions.\n\n## Workflow\n\nUse natural-language prompts after the skill is installed. Include:\n\n- which Google service to use: Calendar, Drive, or Sheets;\n- the target calendar, spreadsheet, file, or folder;\n- the action to perform;\n- any date range, sheet range, search query, folder ID, file ID, or sharing\n  email needed for the task.\n\nExamples:\n\n```text\nList my next 10 Google Calendar events.\n```\n\n```text\nAppend this row to Sheet1 in my campaign spreadsheet.\n```\n\n```text\nFind Google Drive files with \"budget\" in the name and share the selected file with editor access.\n```\n\n## Use The Wrapper Directly\n\nUse `scripts/gws_wrapper.py`.\n\nGeneral pattern:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <resource> <method> [args]\n```\n\nThe wrapper maps services to MyBrandMetrics source keys:\n\n| Service | MyBrandMetrics source key |\n| --- | --- |\n| `calendar` | `google_calendar` |\n| `sheets` | `google_sheets` |\n| `drive` | `google_drive` |\n\n### Google Calendar\n\nList events:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list \\\n  --params '{\"calendarId\": \"primary\", \"maxResults\": 10}'\n```\n\nCreate an event:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events insert \\\n  --params '{\"calendarId\": \"primary\"}' \\\n  --json '{\"summary\": \"Planning meeting\", \"start\": {\"dateTime\": \"2026-05-21T10:00:00+08:00\"}, \"end\": {\"dateTime\": \"2026-05-21T10:30:00+08:00\"}}'\n```\n\n### Google Sheets\n\nRead values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values get \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1:D10\"}'\n```\n\nAppend values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values append \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1\", \"valueInputOption\": \"USER_ENTERED\"}' \\\n  --json '{\"values\": [[\"New row\", \"More data\"]]}'\n```\n\n### Google Drive\n\nSearch files:\n\n```bash\npython3 scripts/gws_wrapper.py drive files list \\\n  --params '{\"pageSize\": 10, \"q\": \"name contains '\\''budget'\\'' and trashed = false\"}'\n```\n\nUpload a file:\n\n```bash\npython3 scripts/gws_wrapper.py drive +upload /local/path/file.pdf \\\n  --parent \"FOLDER_ID\" \\\n  --name \"file.pdf\"\n```\n\nExport a Google Docs file:\n\n```bash\npython3 scripts/gws_wrapper.py drive files export \\\n  --params '{\"fileId\": \"FILE_ID\", \"mimeType\": \"application/pdf\"}' \\\n  --output document.pdf\n```\n\n## Notes\n\n- Connect only the Google data sources needed for the workflow.\n- Keep the MyBrandMetrics API key private.\n- If a token error occurs, confirm that the relevant data source is connected\n  and that the API key is valid.\n- If `gws` is missing, run `scripts/install_gws.sh`.\n\nFile v1.2.5:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.5\",\n  \"publishedAt\": 1779335567612\n}\n\nArchive v1.2.4: 4 files, 4609 bytes\n\nFiles: scripts/gws_wrapper.py (2611b), scripts/install_gws.sh (1095b), SKILL.md (6112b), _meta.json (143b)\n\nFile v1.2.4:SKILL.md\n\n---\nname: Google Workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics with Google, connect the needed Google data sources, get a\n  MyBrandMetrics API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics with\nGoogle, connect the Google data sources you need, get a MyBrandMetrics API key,\nand use natural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics with Google. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is ready.\n5. In [https://mybrandmetrics.com/](https://mybrandmetrics.com/), get the\n   MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Save the MyBrandMetrics API key for the wrapper:\n\n   ```bash\n   echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key\n   ```\n\n   You can also set `GWS_SKILL_API_KEY` instead.\n\n8. If `gws` is not installed, run:\n\n   ```bash\n   bash scripts/install_gws.sh\n   ```\n\n9. Start Google Calendar, Google Drive, or Google Sheets workflows with\n   natural-language instructions.\n\n## Workflow\n\nUse natural-language prompts after the skill is installed. Include:\n\n- which Google service to use: Calendar, Drive, or Sheets;\n- the target calendar, spreadsheet, file, or folder;\n- the action to perform;\n- any date range, sheet range, search query, folder ID, file ID, or sharing\n  email needed for the task.\n\nExamples:\n\n```text\nList my next 10 Google Calendar events.\n```\n\n```text\nAppend this row to Sheet1 in my campaign spreadsheet.\n```\n\n```text\nFind Google Drive files with \"budget\" in the name and share the selected file with editor access.\n```\n\n## Use The Wrapper Directly\n\nUse `scripts/gws_wrapper.py`.\n\nGeneral pattern:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <resource> <method> [args]\n```\n\nThe wrapper maps services to MyBrandMetrics source keys:\n\n| Service | MyBrandMetrics source key |\n| --- | --- |\n| `calendar` | `google_calendar` |\n| `sheets` | `google_sheets` |\n| `drive` | `google_drive` |\n\n### Google Calendar\n\nList events:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list \\\n  --params '{\"calendarId\": \"primary\", \"maxResults\": 10}'\n```\n\nCreate an event:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events insert \\\n  --params '{\"calendarId\": \"primary\"}' \\\n  --json '{\"summary\": \"Planning meeting\", \"start\": {\"dateTime\": \"2026-05-21T10:00:00+08:00\"}, \"end\": {\"dateTime\": \"2026-05-21T10:30:00+08:00\"}}'\n```\n\n### Google Sheets\n\nRead values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values get \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1:D10\"}'\n```\n\nAppend values:\n\n```bash\npython3 scripts/gws_wrapper.py sheets spreadsheets values append \\\n  --params '{\"spreadsheetId\": \"SPREADSHEET_ID\", \"range\": \"Sheet1!A1\", \"valueInputOption\": \"USER_ENTERED\"}' \\\n  --json '{\"values\": [[\"New row\", \"More data\"]]}'\n```\n\n### Google Drive\n\nSearch files:\n\n```bash\npython3 scripts/gws_wrapper.py drive files list \\\n  --params '{\"pageSize\": 10, \"q\": \"name contains '\\''budget'\\'' and trashed = false\"}'\n```\n\nUpload a file:\n\n```bash\npython3 scripts/gws_wrapper.py drive +upload /local/path/file.pdf \\\n  --parent \"FOLDER_ID\" \\\n  --name \"file.pdf\"\n```\n\nExport a Google Docs file:\n\n```bash\npython3 scripts/gws_wrapper.py drive files export \\\n  --params '{\"fileId\": \"FILE_ID\", \"mimeType\": \"application/pdf\"}' \\\n  --output document.pdf\n```\n\n## Notes\n\n- Connect only the Google data sources needed for the workflow.\n- Keep the MyBrandMetrics API key private.\n- If a token error occurs, confirm that the relevant data source is connected\n  and that the API key is valid.\n- If `gws` is missing, run `scripts/install_gws.sh`.\n\nFile v1.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.4\",\n  \"publishedAt\": 1779335257215\n}\n\nArchive v1.2.3: 4 files, 4272 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), SKILL.md (5001b), _meta.json (143b)\n\nFile v1.2.3:SKILL.md\n\n---\nname: google-workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected data sources and the local Google Workspace CLI\n  (gws). Supports calendar events, Drive file workflows, spreadsheet reading\n  and writing, and natural-language Google Workspace operations.\n---\n\n# google-workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected data sources and the local Google Workspace CLI\n(`gws`).\n\nUse this skill when the user wants to work with Calendar events, Drive files,\nor Google Sheets data from chat.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Calendar workflows | List events and create calendar events when the user provides the event details. |\n| Drive workflows | List files and upload files through the local `gws` CLI. |\n| Sheets reading | Read ranges from Google Sheets. |\n| Sheets writing | Append rows or update spreadsheet data. |\n| Natural-language operations | Use natural-language prompts in chat after the skill is installed and setup is ready. |\n\n## Requirements\n\n- A Google account.\n- Access to MyBrandMetrics.\n- The needed Google data sources connected in MyBrandMetrics:\n  `Google Calendar`, `Google Drive`, or `Google Sheets`.\n- A MyBrandMetrics API key.\n- The local Google Workspace CLI (`gws`) installed.\n- A clear task, such as a calendar action, Drive file operation, or Google\n  Sheets read/write request.\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the data sources required for the workflow:\n   `Google Calendar` for calendar tasks, `Google Drive` for file tasks, and\n   `Google Sheets` for spreadsheet tasks.\n4. Wait until the selected MyBrandMetrics connections are ready.\n5. Get the MyBrandMetrics API key.\n6. Install the `google-workspace` skill.\n7. Install the Google Workspace CLI if `gws` is not already available.\n8. Start the Google Workspace workflow with natural-language instructions.\n\n## How It Works\n\nThe wrapper script uses the MyBrandMetrics API key with the configured\nMyBrandMetrics token service to get a short-lived Google session for the\nselected data source, then runs the matching `gws` command.\n\n| Chat task | Data source to connect | Wrapper service |\n| --- | --- | --- |\n| Calendar events | `Google Calendar` | `calendar` |\n| Drive files | `Google Drive` | `drive` |\n| Spreadsheet rows and ranges | `Google Sheets` | `sheets` |\n\nFor local script usage, provide the MyBrandMetrics API key with one of these\noptions:\n\n```bash\nexport GWS_SKILL_API_KEY=\"YOUR_MYBRANDMETRICS_API_KEY\"\n```\n\nor:\n\n```bash\necho \"YOUR_MYBRANDMETRICS_API_KEY\" > ~/.google_workspace_api_key\n```\n\nDo not paste short-lived Google session values into chat, files, examples, or\nlogs. The wrapper handles them for the current command.\n\nThe runtime should provide the token service location through `GWS_TOKEN_URL`.\n\n## Example Requests\n\nNatural-language examples:\n\n```text\nShow my upcoming Google Calendar events for this week.\n```\n\n```text\nUpload this report to Google Drive and put it in the campaign folder.\n```\n\n```text\nRead rows A1:D20 from this Google Sheet and summarize the status column.\n```\n\n```text\nAppend these rows to the sales tracker sheet after I confirm the target range.\n```\n\n## Command Reference\n\nRun Google Workspace commands through the wrapper:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <command> [args]\n```\n\nUseful patterns:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list\npython3 scripts/gws_wrapper.py calendar events create --title \"Meeting\" --start \"2026-05-15T10:00:00Z\"\npython3 scripts/gws_wrapper.py drive ls\npython3 scripts/gws_wrapper.py drive upload <filename>\npython3 scripts/gws_wrapper.py sheets get <spreadsheet-id> <range>\npython3 scripts/gws_wrapper.py sheets append <spreadsheet-id> <range> --data '[[1, 2], [3, 4]]'\n```\n\n## Review Before Changes\n\nBefore creating, updating, uploading, appending, or deleting anything, confirm:\n\n- the connected Google account or workspace;\n- the calendar, Drive folder, file, spreadsheet, sheet, or range;\n- the exact data to write or upload;\n- whether the action changes existing content.\n\n## Troubleshooting\n\n- If MyBrandMetrics is not ready, reconnect the needed data source in\n  MyBrandMetrics and try again: `Google Calendar`, `Google Drive`, or\n  `Google Sheets`.\n- If the wrapper asks for a MyBrandMetrics API key, set `GWS_SKILL_API_KEY` or\n  save the key to `~/.google_workspace_api_key`.\n- If the wrapper asks for the token service, set `GWS_TOKEN_URL` in the runtime\n  environment.\n- If `gws` is not found, run `scripts/install_gws.sh` or install the Google\n  Workspace CLI manually.\n- If a sheet or Drive file cannot be found, check that the connected Google\n  account has access.\n\nFile v1.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1779067333505\n}\n\nArchive v1.2.2: 4 files, 4275 bytes\n\nFiles: scripts/gws_wrapper.py (2739b), scripts/install_gws.sh (1095b), SKILL.md (5025b), _meta.json (143b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: clawbus-google-workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected data sources and the local Google Workspace CLI\n  (gws). Supports calendar events, Drive file workflows, spreadsheet reading\n  and writing, and natural-language Google Workspace operations.\n---\n\n# clawbus-google-workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected data sources and the local Google Workspace CLI\n(`gws`).\n\nUse this skill when the user wants to work with Calendar events, Drive files,\nor Google Sheets data from chat.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Calendar workflows | List events and create calendar events when the user provides the event details. |\n| Drive workflows | List files and upload files through the local `gws` CLI. |\n| Sheets reading | Read ranges from Google Sheets. |\n| Sheets writing | Append rows or update spreadsheet data. |\n| Natural-language operations | Use natural-language prompts in chat after the skill is installed and setup is ready. |\n\n## Requirements\n\n- A Google account.\n- Access to MyBrandMetrics.\n- The needed Google data sources connected in MyBrandMetrics:\n  `Google Calendar`, `Google Drive`, or `Google Sheets`.\n- A MyBrandMetrics API key.\n- The local Google Workspace CLI (`gws`) installed.\n- A clear task, such as a calendar action, Drive file operation, or Google\n  Sheets read/write request.\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the data sources required for the workflow:\n   `Google Calendar` for calendar tasks, `Google Drive` for file tasks, and\n   `Google Sheets` for spreadsheet tasks.\n4. Wait until the selected MyBrandMetrics connections are ready.\n5. Get the MyBrandMetrics API key.\n6. Install the `clawbus-google-workspace` skill.\n7. Install the Google Workspace CLI if `gws` is not already available.\n8. Start the Google Workspace workflow with natural-language instructions.\n\n## How It Works\n\nThe wrapper script uses the MyBrandMetrics API key with the configured\nMyBrandMetrics token service to get a short-lived Google session for the\nselected data source, then runs the matching `gws` command.\n\n| Chat task | Data source to connect | Wrapper service |\n| --- | --- | --- |\n| Calendar events | `Google Calendar` | `calendar` |\n| Drive files | `Google Drive` | `drive` |\n| Spreadsheet rows and ranges | `Google Sheets` | `sheets` |\n\nFor local script usage, provide the MyBrandMetrics API key with one of these\noptions:\n\n```bash\nexport GWS_SKILL_API_KEY=\"YOUR_MYBRANDMETRICS_API_KEY\"\n```\n\nor:\n\n```bash\necho \"YOUR_MYBRANDMETRICS_API_KEY\" > ~/.google_workspace_api_key\n```\n\nDo not paste short-lived Google session values into chat, files, examples, or\nlogs. The wrapper handles them for the current command.\n\nThe runtime should provide the token service location through `GWS_TOKEN_URL`.\n\n## Example Requests\n\nNatural-language examples:\n\n```text\nShow my upcoming Google Calendar events for this week.\n```\n\n```text\nUpload this report to Google Drive and put it in the campaign folder.\n```\n\n```text\nRead rows A1:D20 from this Google Sheet and summarize the status column.\n```\n\n```text\nAppend these rows to the sales tracker sheet after I confirm the target range.\n```\n\n## Command Reference\n\nRun Google Workspace commands through the wrapper:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <command> [args]\n```\n\nUseful patterns:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list\npython3 scripts/gws_wrapper.py calendar events create --title \"Meeting\" --start \"2026-05-15T10:00:00Z\"\npython3 scripts/gws_wrapper.py drive ls\npython3 scripts/gws_wrapper.py drive upload <filename>\npython3 scripts/gws_wrapper.py sheets get <spreadsheet-id> <range>\npython3 scripts/gws_wrapper.py sheets append <spreadsheet-id> <range> --data '[[1, 2], [3, 4]]'\n```\n\n## Review Before Changes\n\nBefore creating, updating, uploading, appending, or deleting anything, confirm:\n\n- the connected Google account or workspace;\n- the calendar, Drive folder, file, spreadsheet, sheet, or range;\n- the exact data to write or upload;\n- whether the action changes existing content.\n\n## Troubleshooting\n\n- If MyBrandMetrics is not ready, reconnect the needed data source in\n  MyBrandMetrics and try again: `Google Calendar`, `Google Drive`, or\n  `Google Sheets`.\n- If the wrapper asks for a MyBrandMetrics API key, set `GWS_SKILL_API_KEY` or\n  save the key to `~/.google_workspace_api_key`.\n- If the wrapper asks for the token service, set `GWS_TOKEN_URL` in the runtime\n  environment.\n- If `gws` is not found, run `scripts/install_gws.sh` or install the Google\n  Workspace CLI manually.\n- If a sheet or Drive file cannot be found, check that the connected Google\n  account has access.\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1778902513067\n}\n\nArchive v1.2.1: 4 files, 4206 bytes\n\nFiles: scripts/gws_wrapper.py (2672b), scripts/install_gws.sh (1095b), SKILL.md (4801b), _meta.json (143b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: clawbus-google-workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected data sources and the local Google Workspace CLI\n  (gws). Supports calendar events, Drive file workflows, spreadsheet reading\n  and writing, and natural-language Google Workspace operations.\n---\n\n# clawbus-google-workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected data sources and the local Google Workspace CLI\n(`gws`).\n\nUse this skill when the user wants to work with Calendar events, Drive files,\nor Google Sheets data from chat.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Calendar workflows | List events and create calendar events when the user provides the event details. |\n| Drive workflows | List files and upload files through the local `gws` CLI. |\n| Sheets reading | Read ranges from Google Sheets. |\n| Sheets writing | Append rows or update spreadsheet data. |\n| Natural-language operations | Use natural-language prompts in chat after the skill is installed and setup is ready. |\n\n## Requirements\n\n- A Google account.\n- Access to MyBrandMetrics.\n- The needed Google data sources connected in MyBrandMetrics:\n  `Google Calendar`, `Google Drive`, or `Google Sheets`.\n- A MyBrandMetrics API key.\n- The local Google Workspace CLI (`gws`) installed.\n- A clear task, such as a calendar action, Drive file operation, or Google\n  Sheets read/write request.\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the data sources required for the workflow:\n   `Google Calendar` for calendar tasks, `Google Drive` for file tasks, and\n   `Google Sheets` for spreadsheet tasks.\n4. Wait until the selected MyBrandMetrics connections are ready.\n5. Get the MyBrandMetrics API key.\n6. Install the `clawbus-google-workspace` skill.\n7. Install the Google Workspace CLI if `gws` is not already available.\n8. Start the Google Workspace workflow with natural-language instructions.\n\n## How It Works\n\nThe wrapper script uses the MyBrandMetrics API key to get a short-lived Google\nsession for the selected data source, then runs the matching `gws` command.\n\n| Chat task | Data source to connect | Wrapper service |\n| --- | --- | --- |\n| Calendar events | `Google Calendar` | `calendar` |\n| Drive files | `Google Drive` | `drive` |\n| Spreadsheet rows and ranges | `Google Sheets` | `sheets` |\n\nFor local script usage, provide the MyBrandMetrics API key with one of these\noptions:\n\n```bash\nexport GWS_SKILL_API_KEY=\"YOUR_MYBRANDMETRICS_API_KEY\"\n```\n\nor:\n\n```bash\necho \"YOUR_MYBRANDMETRICS_API_KEY\" > ~/.google_workspace_api_key\n```\n\nDo not paste short-lived Google session values into chat, files, examples, or\nlogs. The wrapper handles them for the current command.\n\n## Example Requests\n\nNatural-language examples:\n\n```text\nShow my upcoming Google Calendar events for this week.\n```\n\n```text\nUpload this report to Google Drive and put it in the campaign folder.\n```\n\n```text\nRead rows A1:D20 from this Google Sheet and summarize the status column.\n```\n\n```text\nAppend these rows to the sales tracker sheet after I confirm the target range.\n```\n\n## Command Reference\n\nRun Google Workspace commands through the wrapper:\n\n```bash\npython3 scripts/gws_wrapper.py <service> <command> [args]\n```\n\nUseful patterns:\n\n```bash\npython3 scripts/gws_wrapper.py calendar events list\npython3 scripts/gws_wrapper.py calendar events create --title \"Meeting\" --start \"2026-05-15T10:00:00Z\"\npython3 scripts/gws_wrapper.py drive ls\npython3 scripts/gws_wrapper.py drive upload <filename>\npython3 scripts/gws_wrapper.py sheets get <spreadsheet-id> <range>\npython3 scripts/gws_wrapper.py sheets append <spreadsheet-id> <range> --data '[[1, 2], [3, 4]]'\n```\n\n## Review Before Changes\n\nBefore creating, updating, uploading, appending, or deleting anything, confirm:\n\n- the connected Google account or workspace;\n- the calendar, Drive folder, file, spreadsheet, sheet, or range;\n- the exact data to write or upload;\n- whether the action changes existing content.\n\n## Troubleshooting\n\n- If MyBrandMetrics is not ready, reconnect the needed data source in\n  MyBrandMetrics and try again: `Google Calendar`, `Google Drive`, or\n  `Google Sheets`.\n- If the wrapper asks for a MyBrandMetrics API key, set `GWS_SKILL_API_KEY` or\n  save the key to `~/.google_workspace_api_key`.\n- If `gws` is not found, run `scripts/install_gws.sh` or install the Google\n  Workspace CLI manually.\n- If a sheet or Drive file cannot be found, check that the connected Google\n  account has access.\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1778901992863\n}","readmeExcerpt":"Skill: Google Workspace Owner: clawbus Summary: Manage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and the local Google Workspace CLI. Use it to li... Tags: calendar:1.2.10, drive:1.2.10, google:1.2.10, google-calendar:1.2.10, google-drive:1.2.10, google-sheets:1.2.10, google-workspace:1.2.10, latest:1.2.10, mybrandmetrics:1.2.10, no-mcp:1.2.10, productivity:1","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"echo \"YOUR_API_KEY\" > ~/.google_workspace_api_key"},{"language":"bash","snippet":"bash scripts/install_gws.sh"},{"language":"text","snippet":"List my next 10 Google Calendar events."},{"language":"text","snippet":"Append this row to Sheet1 in my campaign spreadsheet."},{"language":"text","snippet":"Find Google Drive files with \"budget\" in the name and share the selected file with editor access."},{"language":"bash","snippet":"python3 scripts/gws_wrapper.py <service> <resource> <method> [args]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: Google Workspace\ndescription: >\n  Manage Google Calendar, Google Drive, and Google Sheets through\n  MyBrandMetrics-connected Google data sources and the local Google Workspace\n  CLI. Use it to list, create, update, and delete Calendar events; read,\n  append, update, and batch update Google Sheets; and search, create, move,\n  copy, share, upload, export, and delete Google Drive files and folders. No\n  Google Cloud project setup and no MCP server are required: sign in to\n  MyBrandMetrics with Google, connect the needed Google data sources, get a\n  MyBrandMetrics API key, and start using the skill.\n---\n\n# Google Workspace\n\nManage Google Calendar, Google Drive, and Google Sheets through\nMyBrandMetrics-connected Google data sources.\n\nThis skill uses a local `gws` CLI wrapper, but the Google OAuth setup is handled\nby MyBrandMetrics. That means no Google Cloud project setup, no OAuth client\nconfiguration, and no MCP server are required. Sign in to MyBrandMetrics with\nGoogle, connect the Google data sources you need, get a MyBrandMetrics API key,\nand use natural-language requests or direct commands.\n\nWebsite: [https://www.clawbus.com/](https://www.clawbus.com/)  \nMyBrandMetrics API: [https://mybrandmetrics.com/](https://mybrandmetrics.com/)\n\n## Why This Google Workspace Skill\n\n| This skill | Typical MCP setup |\n| --- | --- |\n| Sign in to MyBrandMetrics with Google. | Create or configure a Google Cloud project. |\n| Connect Google Calendar, Google Drive, and Google Sheets as data sources. | Configure OAuth clients, scopes, and local MCP server auth. |\n| Use a MyBrandMetrics API key to fetch managed access tokens. | Manage credentials and token storage yourself. |\n| Run with a local wrapper around `gws`; no MCP server required. | Requires running and maintaining an MCP server. |\n\nUse this when you want Google Workspace actions without setting up your own\nGoogle project or MCP server.\n\n## Core Capabilities\n\n| Capability | Details |\n| --- | --- |\n| Google Calendar | List, create, update, patch, and delete calendar events. |\n| Google Sheets | Read values, update ranges, append rows, and run spreadsheet batch updates. |\n| Google Drive search | List and search Drive files and folders. |\n| Google Drive file management | Create folders, move files, copy files, trash/delete files, and manage sharing permissions. |\n| Google Drive upload/export | Upload local files to Drive and export Google Docs files to formats such as PDF. |\n| Managed Google auth | Fetch service-specific Google access tokens through MyBrandMetrics using `google_calendar`, `google_sheets`, or `google_drive`. |\n\n## Setup Flow\n\n1. Open [https://mybrandmetrics.com/](https://mybrandmetrics.com/) and sign in\n   with Google.\n2. In MyBrandMetrics, open **Data sources**.\n3. Connect the Google data sources you need:\n   - Google Calendar for calendar workflows;\n   - Google Drive for file and folder workflows;\n   - Google Sheets for spreadsheet workflows.\n4. Wait until each selected connection is re"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713zgmx26jep6vrh0kbmmkw986a4xc\",\n  \"slug\": \"clawbus-google-workspace\",\n  \"version\": \"1.2.10\",\n  \"publishedAt\": 1781103613478\n}"},{"path":"skill-card.md","content":"## Description:\n\nManage Google Calendar, Google Drive, and Google Sheets through MyBrandMetrics-connected Google data sources and the local Google Workspace CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[clawbus](https://clawhub.ai/user/clawbus)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nEmployees, external users, developers, and operations teams use this skill to manage Google Calendar events, Google Sheets data, and Google Drive files through MyBrandMetrics-managed Google connections and a local Google Workspace CLI wrapper.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles credentials and access tokens for Google Workspace workflows.\n\nMitigation: Use only trusted installations, keep the API key private, restrict permissions on the API key file, and set GWS_TOKEN_URL only to the official HTTPS token service.\n\nRisk: Calendar, Drive, and Sheets actions can modify or delete user data and sharing permissions.\n\nMitigation: Require explicit user confirmation before delete, trash, move, overwrite, or sharing-permission changes.\n\nRisk: The security verdict flags the release as suspicious because scoping and guardrail detail are limited.\n\nMitigation: Review the skill before installing and connect only the Google data sources needed for the intended workflow.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/clawbus/skills/clawbus-google-workspace)\n- [clawbus website](https://www.clawbus.com/)\n- [MyBrandMetrics API](https://mybrandmetrics.com/)\n- [Google Workspace CLI releases API](https://api.github.com/repos/googleworkspace/cli/releases/latest)\n- [Google Workspace CLI release download](https://github.com/googleworkspace/cli/releases/download/${VERSION}/${FILENAME})\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON command parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May invoke local CLI commands that read credentials, request Google access tokens, and perform Calendar, Sheets, or Drive actions.]\n\n## Skill Version(s):\n\n1.2.10 (source: server release 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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1169,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T13:22:22.634Z","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-10T13:22:22.634Z","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-10T15:50:57.685Z","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"}]}}}