{"id":"6b235e41-84cf-4e2f-b925-59de30f8a1e5","entityType":"agent","slug":"clawhub-hith3sh-google-sheets-spreadsheets","name":"Google Sheets","canonicalUrl":"https://www.xpersona.co/agent/clawhub-hith3sh-google-sheets-spreadsheets","canonicalPath":"/agent/clawhub-hith3sh-google-sheets-spreadsheets","generatedAt":"2026-10-09T11:52:03.133Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T02:54:08.643Z","emptyReason":null},"description":"Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da... Skill: Google Sheets Owner: hith3sh Summary: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:10:42.029Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 7.5K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-sheets-spreadsheets","sourceUrl":"https://clawhub.ai/hith3sh/google-sheets-spreadsheets","homepage":"https://clawhub.ai/hith3sh/skills/google-sheets-spreadsheets","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/hith3sh/google-sheets-spreadsheets","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/hith3sh/skills/google-sheets-spreadsheets","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":78,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:54:08.643Z","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-09T02:54:08.643Z","emptyReason":null},"stars":null,"forks":null,"downloads":7549,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"7.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:54:08.643Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T02:54:08.643Z","lastCrawledAt":"2026-10-09T02:54:08.643Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T02:54:08.643Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-06-09T07:10:42.029Z","changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","fileCount":3,"zipByteSize":6671},{"version":"1.0.5","createdAt":"2026-06-09T05:37:08.827Z","changelog":"- No user-visible changes; this release has no detected code or documentation updates. - Version incremented for maintenance or metadata purposes only.","fileCount":3,"zipByteSize":6610},{"version":"1.0.4","createdAt":"2026-06-09T04:56:25.655Z","changelog":"- Removed the sample file skill-card.md. - No changes to functionality or user-facing documentation.","fileCount":3,"zipByteSize":6575},{"version":"1.0.1","createdAt":"2026-06-08T16:37:53.727Z","changelog":"- Added the Google Sheets brand logo to the documentation for improved visual identity. - Made minor formatting adjustments in SKILL.md for clarity and consistency. - Removed skill-card.md file.","fileCount":3,"zipByteSize":6679},{"version":"0.1.1","createdAt":"2026-06-07T13:31:18.114Z","changelog":"Full rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.","fileCount":3,"zipByteSize":6554},{"version":"0.1.0","createdAt":"2026-05-03T13:33:35.116Z","changelog":"- Initial release of Google Sheets integration via ClawLink. - Enables creating spreadsheets, reading/updating ranges, appending rows, and managing sheets from chat. - Automates user authentication and connection to Google Sheets; no API setup required. - Provides step-by-step setup and usage instructions using ClawLink tools. - Enforces safety rules for spreadsheet editing, confirmations, and credential handling.","fileCount":3,"zipByteSize":3729}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-sheets-spreadsheets","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"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-hith3sh-google-sheets-spreadsheets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/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-09T11:52:03.130Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-sheets-spreadsheets/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":"high","updatedAt":"2026-10-09T02:54:08.643Z","emptyReason":null},"readme":"Skill: Google Sheets\n\nOwner: hith3sh\n\nSummary: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da...\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-06-09T07:10:42.029Z | user\n\nAdd UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.\n\nv1.0.5 | 2026-06-09T05:37:08.827Z | auto\n\n- No user-visible changes; this release has no detected code or documentation updates.\n- Version incremented for maintenance or metadata purposes only.\n\nv1.0.4 | 2026-06-09T04:56:25.655Z | auto\n\n- Removed the sample file skill-card.md. \n- No changes to functionality or user-facing documentation.\n\nv1.0.1 | 2026-06-08T16:37:53.727Z | auto\n\n- Added the Google Sheets brand logo to the documentation for improved visual identity.\n- Made minor formatting adjustments in SKILL.md for clarity and consistency.\n- Removed skill-card.md file.\n\nv0.1.1 | 2026-06-07T13:31:18.114Z | user\n\nFull rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.\n\nv0.1.0 | 2026-05-03T13:33:35.116Z | auto\n\n- Initial release of Google Sheets integration via ClawLink.\n- Enables creating spreadsheets, reading/updating ranges, appending rows, and managing sheets from chat.\n- Automates user authentication and connection to Google Sheets; no API setup required.\n- Provides step-by-step setup and usage instructions using ClawLink tools.\n- Enforces safety rules for spreadsheet editing, confirmations, and credential handling.\n\nArchive index:\n\nArchive v1.0.6: 3 files, 6671 bytes\n\nFiles: skill-card.md (2497b), SKILL.md (17516b), _meta.json (145b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\n![Google Sheets](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-sheets.svg)\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-sheets-spreadsheets) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n```\n\n## Authentication\n\nAll Google Sheets tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Sheets API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-sheets` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-sheets\n```\n\n**Response:** Returns the live tool catalog for Google Sheets.\n\n### Reconnect\n\nIf Google Sheets tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-sheets\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-sheets`\n\n## Security & Permissions\n\n- Access is scoped to spreadsheets within the connected Google account's Drive.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete sheet, clear values, delete dimension) are marked as high-impact and must be confirmed.\n- Batch operations affect multiple cells and should be previewed before execution.\n\n## Tool Reference\n\n### Spreadsheet Discovery\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_spreadsheets` | Search for spreadsheets by name, content, or date | Read |\n| `googlesheets_get_spreadsheet_info` | Get spreadsheet metadata (ID, title, sheet properties) | Read |\n| `googlesheets_get_sheet_names` | List all worksheet names in a spreadsheet | Read |\n| `googlesheets_get_spreadsheet_by_data_filter` | Get spreadsheet filtered by data filters | Read |\n\n### Reading Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_get` | Read values from a specific cell range | Read |\n| `googlesheets_batch_get` | Retrieve data from multiple ranges in one call | Read |\n| `googlesheets_lookup_spreadsheet_row` | Find a row by exact cell content match | Read |\n| `googlesheets_aggregate_column_data` | Search rows by column value and perform math operations | Read |\n| `googlesheets_spreadsheets_values_batch_get_by_data_filter` | Read ranges matching data filters | Read |\n\n### Writing & Updating Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_update` | Set values in a cell range | Write |\n| `googlesheets_update_values_batch` | Update multiple ranges in one call | Write |\n| `googlesheets_spreadsheets_values_append` | Append new rows to a table | Write |\n| `googlesheets_batch_update_values_by_data_filter` | Update values matching data filters | Write |\n| `googlesheets_find_replace` | Find and replace text across a spreadsheet | Write |\n| `googlesheets_format_cell` | Apply text and background formatting to cells | Write |\n\n### Clearing Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_clear_values` | Clear cell content from a range (preserves formatting) | Write |\n| `googlesheets_spreadsheets_values_batch_clear` | Clear multiple ranges at once | Write |\n| `googlesheets_batch_clear_values_by_data_filter` | Clear ranges matching data filters | Write |\n| `googlesheets_clear_basic_filter` | Remove the basic filter from a sheet | Write |\n\n### Sheet Management\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_add_sheet` | Add a new sheet (GRID, OBJECT, or DATA_SOURCE type) | Write |\n| `googlesheets_delete_sheet` | Delete a sheet from a spreadsheet | Write |\n| `googlesheets_update_sheet_properties` | Rename, reposition, or change tab color of a sheet | Write |\n| `googlesheets_update_spreadsheet_properties` | Update spreadsheet-level properties (title, locale, timezone) | Write |\n\n### Row & Column Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_spreadsheet_row` | Insert a new row at a specific index | Write |\n| `googlesheets_create_spreadsheet_column` | Insert a new column in a spreadsheet | Write |\n| `googlesheets_delete_dimension` | Delete rows or columns by range | Write |\n| `googlesheets_insert_dimension` | Insert empty rows or columns at a location | Write |\n| `googlesheets_append_dimension` | Append rows or columns to a sheet | Write |\n| `googlesheets_update_dimension_properties` | Hide/unhide rows or columns, set row height/column width | Write |\n| `googlesheets_auto_resize_dimensions` | Auto-fit column widths or row heights to content | Write |\n\n### Smart Upsert\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_upsert_rows` | Update existing rows by key column, append new ones if not found | Write |\n\n### Charts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_chart` | Create a chart from a data range with configurable chart type | Write |\n\n### Filtering & Validation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_set_basic_filter` | Set or update a basic filter on a sheet | Write |\n| `googlesheets_set_data_validation_rule` | Apply data validation rules or dropdowns to a range | Write |\n| `googlesheets_get_conditional_format_rules` | List conditional formatting rules for a sheet | Read |\n| `googlesheets_mutate_conditional_format_rules` | Add, update, delete, or reorder conditional format rules | Write |\n| `googlesheets_get_data_validation_rules` | Extract data validation rules from a spreadsheet | Read |\n\n### Spreadsheet Creation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_google_sheet1` | Create a new spreadsheet, optionally in a specific Drive folder | Write |\n\n### Copy & Transfer\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_spreadsheets_sheets_copy_to` | Copy a single sheet to another spreadsheet | Write |\n\n### Metadata\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_developer_metadata` | Search for developer metadata in a spreadsheet | Read |\n\n## Code Examples\n\n### Search for spreadsheets\n\n```bash\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'\n```\n\n### Read a cell range\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_get\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:C10\"\n  }'\n```\n\n### Update cell values\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_update\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:B2\",\n    \"values\": [[\"Product\", \"Revenue\"], [\"Widget\", 1500]]\n  }'\n```\n\n### Append rows to a table\n\n```bash\nclawlink_call_tool --tool \"googlesheets_spreadsheets_values_append\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A:C\",\n    \"values\": [[\"New Item\", \"Description\", 100]]\n  }'\n```\n\n### Upsert rows by key\n\n```bash\nclawlink_call_tool --tool \"googlesheets_upsert_rows\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet\": \"Sheet1\",\n    \"key_column\": \"Email\",\n    \"headers\": [\"Email\", \"Phone\", \"Status\"],\n    \"data\": [[\"john@example.com\", \"555-0101\", \"Active\"]]\n  }'\n```\n\n### Create a chart\n\n```bash\nclawlink_call_tool --tool \"googlesheets_create_chart\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet_id\": 0,\n    \"chart_type\": \"BAR\",\n    \"data_range\": \"A1:B5\",\n    \"title\": \"Monthly Revenue\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools --integration google-sheets` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  search → get → read → call                                 │\n│                                                             │\n│  Example: List sheets → Read range → Show results          │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                        │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Spreadsheet IDs are the long ID string in the spreadsheet URL.\n- Sheet IDs can be numeric (for existing sheets) or referenced by name.\n- Use `null` in value arrays to skip updating specific cells.\n- Blank cells should use `\"\"` (empty string).\n- Range addresses use A1 notation (e.g., `Sheet1!A1:C10`).\n- `upsert_rows` auto-adds missing columns and performs partial column updates.\n- Sheet names must be unique within a spreadsheet.\n- `find_replace` is useful for fixing formula errors or bulk text updates.\n- Avoid creating sheets in parallel — the `index` field can cause conflicts.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-sheets`. |\n| Missing connection | Google Sheets is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-sheets. |\n| `SPREADSHEET_NOT_FOUND` | Spreadsheet does not exist. Check the spreadsheet_id. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-sheets`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-sheets-spreadsheets\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Microsoft Excel](https://clawhub.ai/hith3sh/microsoft-excel-spreadsheets) — For Excel workbook operations via Microsoft Graph\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For file management and Drive-level operations\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-sheets-spreadsheets)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780989042029\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nGoogle Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to connect an OpenClaw agent to Google Sheets through ClawLink, then search spreadsheets, read ranges, update cells, append rows, manage sheets, and create charts with user-confirmed writes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to install and allowlist an unpinned third-party plugin that handles Google OAuth and spreadsheet access.\n\nMitigation: Install only if the ClawLink plugin source is trusted, verify the Google consent screen and requested scopes, and remove the plugin if it is no longer needed.\n\nRisk: A connected Google account can allow spreadsheet reads plus confirmed writes or destructive changes.\n\nMitigation: Preview write, clear, delete, and batch operations before execution, confirm the target spreadsheet and range, and revoke the Google connection when access is no longer required.\n\n## Reference(s):\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Google Sheets Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Google Sheets Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- [ClawLink OpenClaw Documentation](https://docs.claw-link.dev/openclaw)\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-sheets-spreadsheets)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, API calls, markdown]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Google Sheets writes and destructive changes require explicit user confirmation before execution.]\n\n## Skill Version(s):\n\n1.0.6 (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.0.5: 3 files, 6610 bytes\n\nFiles: skill-card.md (2599b), SKILL.md (17279b), _meta.json (145b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\n![Google Sheets](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-sheets.svg)\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n```\n\n## Authentication\n\nAll Google Sheets tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Sheets API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-sheets` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-sheets\n```\n\n**Response:** Returns the live tool catalog for Google Sheets.\n\n### Reconnect\n\nIf Google Sheets tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-sheets\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-sheets`\n\n## Security & Permissions\n\n- Access is scoped to spreadsheets within the connected Google account's Drive.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete sheet, clear values, delete dimension) are marked as high-impact and must be confirmed.\n- Batch operations affect multiple cells and should be previewed before execution.\n\n## Tool Reference\n\n### Spreadsheet Discovery\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_spreadsheets` | Search for spreadsheets by name, content, or date | Read |\n| `googlesheets_get_spreadsheet_info` | Get spreadsheet metadata (ID, title, sheet properties) | Read |\n| `googlesheets_get_sheet_names` | List all worksheet names in a spreadsheet | Read |\n| `googlesheets_get_spreadsheet_by_data_filter` | Get spreadsheet filtered by data filters | Read |\n\n### Reading Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_get` | Read values from a specific cell range | Read |\n| `googlesheets_batch_get` | Retrieve data from multiple ranges in one call | Read |\n| `googlesheets_lookup_spreadsheet_row` | Find a row by exact cell content match | Read |\n| `googlesheets_aggregate_column_data` | Search rows by column value and perform math operations | Read |\n| `googlesheets_spreadsheets_values_batch_get_by_data_filter` | Read ranges matching data filters | Read |\n\n### Writing & Updating Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_update` | Set values in a cell range | Write |\n| `googlesheets_update_values_batch` | Update multiple ranges in one call | Write |\n| `googlesheets_spreadsheets_values_append` | Append new rows to a table | Write |\n| `googlesheets_batch_update_values_by_data_filter` | Update values matching data filters | Write |\n| `googlesheets_find_replace` | Find and replace text across a spreadsheet | Write |\n| `googlesheets_format_cell` | Apply text and background formatting to cells | Write |\n\n### Clearing Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_clear_values` | Clear cell content from a range (preserves formatting) | Write |\n| `googlesheets_spreadsheets_values_batch_clear` | Clear multiple ranges at once | Write |\n| `googlesheets_batch_clear_values_by_data_filter` | Clear ranges matching data filters | Write |\n| `googlesheets_clear_basic_filter` | Remove the basic filter from a sheet | Write |\n\n### Sheet Management\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_add_sheet` | Add a new sheet (GRID, OBJECT, or DATA_SOURCE type) | Write |\n| `googlesheets_delete_sheet` | Delete a sheet from a spreadsheet | Write |\n| `googlesheets_update_sheet_properties` | Rename, reposition, or change tab color of a sheet | Write |\n| `googlesheets_update_spreadsheet_properties` | Update spreadsheet-level properties (title, locale, timezone) | Write |\n\n### Row & Column Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_spreadsheet_row` | Insert a new row at a specific index | Write |\n| `googlesheets_create_spreadsheet_column` | Insert a new column in a spreadsheet | Write |\n| `googlesheets_delete_dimension` | Delete rows or columns by range | Write |\n| `googlesheets_insert_dimension` | Insert empty rows or columns at a location | Write |\n| `googlesheets_append_dimension` | Append rows or columns to a sheet | Write |\n| `googlesheets_update_dimension_properties` | Hide/unhide rows or columns, set row height/column width | Write |\n| `googlesheets_auto_resize_dimensions` | Auto-fit column widths or row heights to content | Write |\n\n### Smart Upsert\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_upsert_rows` | Update existing rows by key column, append new ones if not found | Write |\n\n### Charts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_chart` | Create a chart from a data range with configurable chart type | Write |\n\n### Filtering & Validation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_set_basic_filter` | Set or update a basic filter on a sheet | Write |\n| `googlesheets_set_data_validation_rule` | Apply data validation rules or dropdowns to a range | Write |\n| `googlesheets_get_conditional_format_rules` | List conditional formatting rules for a sheet | Read |\n| `googlesheets_mutate_conditional_format_rules` | Add, update, delete, or reorder conditional format rules | Write |\n| `googlesheets_get_data_validation_rules` | Extract data validation rules from a spreadsheet | Read |\n\n### Spreadsheet Creation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_google_sheet1` | Create a new spreadsheet, optionally in a specific Drive folder | Write |\n\n### Copy & Transfer\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_spreadsheets_sheets_copy_to` | Copy a single sheet to another spreadsheet | Write |\n\n### Metadata\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_developer_metadata` | Search for developer metadata in a spreadsheet | Read |\n\n## Code Examples\n\n### Search for spreadsheets\n\n```bash\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'\n```\n\n### Read a cell range\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_get\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:C10\"\n  }'\n```\n\n### Update cell values\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_update\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:B2\",\n    \"values\": [[\"Product\", \"Revenue\"], [\"Widget\", 1500]]\n  }'\n```\n\n### Append rows to a table\n\n```bash\nclawlink_call_tool --tool \"googlesheets_spreadsheets_values_append\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A:C\",\n    \"values\": [[\"New Item\", \"Description\", 100]]\n  }'\n```\n\n### Upsert rows by key\n\n```bash\nclawlink_call_tool --tool \"googlesheets_upsert_rows\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet\": \"Sheet1\",\n    \"key_column\": \"Email\",\n    \"headers\": [\"Email\", \"Phone\", \"Status\"],\n    \"data\": [[\"john@example.com\", \"555-0101\", \"Active\"]]\n  }'\n```\n\n### Create a chart\n\n```bash\nclawlink_call_tool --tool \"googlesheets_create_chart\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet_id\": 0,\n    \"chart_type\": \"BAR\",\n    \"data_range\": \"A1:B5\",\n    \"title\": \"Monthly Revenue\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools --integration google-sheets` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  search → get → read → call                                 │\n│                                                             │\n│  Example: List sheets → Read range → Show results          │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                        │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Spreadsheet IDs are the long ID string in the spreadsheet URL.\n- Sheet IDs can be numeric (for existing sheets) or referenced by name.\n- Use `null` in value arrays to skip updating specific cells.\n- Blank cells should use `\"\"` (empty string).\n- Range addresses use A1 notation (e.g., `Sheet1!A1:C10`).\n- `upsert_rows` auto-adds missing columns and performs partial column updates.\n- Sheet names must be unique within a spreadsheet.\n- `find_replace` is useful for fixing formula errors or bulk text updates.\n- Avoid creating sheets in parallel — the `index` field can cause conflicts.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-sheets`. |\n| Missing connection | Google Sheets is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-sheets. |\n| `SPREADSHEET_NOT_FOUND` | Spreadsheet does not exist. Check the spreadsheet_id. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-sheets`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Microsoft Excel](https://clawhub.ai/hith3sh/microsoft-excel-spreadsheets) — For Excel workbook operations via Microsoft Graph\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For file management and Drive-level operations\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780983428827\n}\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nGoogle Sheets API integration with managed OAuth for creating spreadsheets, reading and writing cell values, managing sheets, appending rows, creating charts, and automating data operations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nOpenClaw users use this skill to connect a Google account through ClawLink and work with Google Sheets from an agent conversation. It supports spreadsheet discovery, reading, updates, row and column operations, formatting, chart creation, and related automation after the required account connection is active. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses OAuth access to the connected Google account and can read or modify spreadsheets available to that account. <br>\nMitigation: Install only when the user trusts ClawLink with the connected Google account, review the consent screen, and use the least-sensitive account or spreadsheets practical. <br>\nRisk: Write, clear, delete, and bulk update operations can change or remove spreadsheet data. <br>\nMitigation: Require previews and explicit user confirmation before executing any write, clear, delete, or bulk update operation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/google-sheets-spreadsheets) <br>\n- [Google Sheets API Overview](https://developers.google.com/sheets/api) <br>\n- [Google Sheets Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values) <br>\n- [Google Sheets Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration, API calls, markdown] <br>\n**Output Format:** [Markdown with inline shell commands and JSON tool-call examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires an active ClawLink Google Sheets connection and explicit confirmation before write, clear, delete, or bulk update operations.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server 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.0.4: 3 files, 6575 bytes\n\nFiles: skill-card.md (2478b), SKILL.md (17279b), _meta.json (145b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\n![Google Sheets](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-sheets.svg)\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n```\n\n## Authentication\n\nAll Google Sheets tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Sheets API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-sheets` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-sheets\n```\n\n**Response:** Returns the live tool catalog for Google Sheets.\n\n### Reconnect\n\nIf Google Sheets tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-sheets\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-sheets`\n\n## Security & Permissions\n\n- Access is scoped to spreadsheets within the connected Google account's Drive.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete sheet, clear values, delete dimension) are marked as high-impact and must be confirmed.\n- Batch operations affect multiple cells and should be previewed before execution.\n\n## Tool Reference\n\n### Spreadsheet Discovery\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_spreadsheets` | Search for spreadsheets by name, content, or date | Read |\n| `googlesheets_get_spreadsheet_info` | Get spreadsheet metadata (ID, title, sheet properties) | Read |\n| `googlesheets_get_sheet_names` | List all worksheet names in a spreadsheet | Read |\n| `googlesheets_get_spreadsheet_by_data_filter` | Get spreadsheet filtered by data filters | Read |\n\n### Reading Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_get` | Read values from a specific cell range | Read |\n| `googlesheets_batch_get` | Retrieve data from multiple ranges in one call | Read |\n| `googlesheets_lookup_spreadsheet_row` | Find a row by exact cell content match | Read |\n| `googlesheets_aggregate_column_data` | Search rows by column value and perform math operations | Read |\n| `googlesheets_spreadsheets_values_batch_get_by_data_filter` | Read ranges matching data filters | Read |\n\n### Writing & Updating Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_update` | Set values in a cell range | Write |\n| `googlesheets_update_values_batch` | Update multiple ranges in one call | Write |\n| `googlesheets_spreadsheets_values_append` | Append new rows to a table | Write |\n| `googlesheets_batch_update_values_by_data_filter` | Update values matching data filters | Write |\n| `googlesheets_find_replace` | Find and replace text across a spreadsheet | Write |\n| `googlesheets_format_cell` | Apply text and background formatting to cells | Write |\n\n### Clearing Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_clear_values` | Clear cell content from a range (preserves formatting) | Write |\n| `googlesheets_spreadsheets_values_batch_clear` | Clear multiple ranges at once | Write |\n| `googlesheets_batch_clear_values_by_data_filter` | Clear ranges matching data filters | Write |\n| `googlesheets_clear_basic_filter` | Remove the basic filter from a sheet | Write |\n\n### Sheet Management\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_add_sheet` | Add a new sheet (GRID, OBJECT, or DATA_SOURCE type) | Write |\n| `googlesheets_delete_sheet` | Delete a sheet from a spreadsheet | Write |\n| `googlesheets_update_sheet_properties` | Rename, reposition, or change tab color of a sheet | Write |\n| `googlesheets_update_spreadsheet_properties` | Update spreadsheet-level properties (title, locale, timezone) | Write |\n\n### Row & Column Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_spreadsheet_row` | Insert a new row at a specific index | Write |\n| `googlesheets_create_spreadsheet_column` | Insert a new column in a spreadsheet | Write |\n| `googlesheets_delete_dimension` | Delete rows or columns by range | Write |\n| `googlesheets_insert_dimension` | Insert empty rows or columns at a location | Write |\n| `googlesheets_append_dimension` | Append rows or columns to a sheet | Write |\n| `googlesheets_update_dimension_properties` | Hide/unhide rows or columns, set row height/column width | Write |\n| `googlesheets_auto_resize_dimensions` | Auto-fit column widths or row heights to content | Write |\n\n### Smart Upsert\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_upsert_rows` | Update existing rows by key column, append new ones if not found | Write |\n\n### Charts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_chart` | Create a chart from a data range with configurable chart type | Write |\n\n### Filtering & Validation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_set_basic_filter` | Set or update a basic filter on a sheet | Write |\n| `googlesheets_set_data_validation_rule` | Apply data validation rules or dropdowns to a range | Write |\n| `googlesheets_get_conditional_format_rules` | List conditional formatting rules for a sheet | Read |\n| `googlesheets_mutate_conditional_format_rules` | Add, update, delete, or reorder conditional format rules | Write |\n| `googlesheets_get_data_validation_rules` | Extract data validation rules from a spreadsheet | Read |\n\n### Spreadsheet Creation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_google_sheet1` | Create a new spreadsheet, optionally in a specific Drive folder | Write |\n\n### Copy & Transfer\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_spreadsheets_sheets_copy_to` | Copy a single sheet to another spreadsheet | Write |\n\n### Metadata\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_developer_metadata` | Search for developer metadata in a spreadsheet | Read |\n\n## Code Examples\n\n### Search for spreadsheets\n\n```bash\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'\n```\n\n### Read a cell range\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_get\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:C10\"\n  }'\n```\n\n### Update cell values\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_update\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:B2\",\n    \"values\": [[\"Product\", \"Revenue\"], [\"Widget\", 1500]]\n  }'\n```\n\n### Append rows to a table\n\n```bash\nclawlink_call_tool --tool \"googlesheets_spreadsheets_values_append\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A:C\",\n    \"values\": [[\"New Item\", \"Description\", 100]]\n  }'\n```\n\n### Upsert rows by key\n\n```bash\nclawlink_call_tool --tool \"googlesheets_upsert_rows\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet\": \"Sheet1\",\n    \"key_column\": \"Email\",\n    \"headers\": [\"Email\", \"Phone\", \"Status\"],\n    \"data\": [[\"john@example.com\", \"555-0101\", \"Active\"]]\n  }'\n```\n\n### Create a chart\n\n```bash\nclawlink_call_tool --tool \"googlesheets_create_chart\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet_id\": 0,\n    \"chart_type\": \"BAR\",\n    \"data_range\": \"A1:B5\",\n    \"title\": \"Monthly Revenue\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools --integration google-sheets` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  search → get → read → call                                 │\n│                                                             │\n│  Example: List sheets → Read range → Show results          │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                        │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Spreadsheet IDs are the long ID string in the spreadsheet URL.\n- Sheet IDs can be numeric (for existing sheets) or referenced by name.\n- Use `null` in value arrays to skip updating specific cells.\n- Blank cells should use `\"\"` (empty string).\n- Range addresses use A1 notation (e.g., `Sheet1!A1:C10`).\n- `upsert_rows` auto-adds missing columns and performs partial column updates.\n- Sheet names must be unique within a spreadsheet.\n- `find_replace` is useful for fixing formula errors or bulk text updates.\n- Avoid creating sheets in parallel — the `index` field can cause conflicts.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-sheets`. |\n| Missing connection | Google Sheets is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-sheets. |\n| `SPREADSHEET_NOT_FOUND` | Spreadsheet does not exist. Check the spreadsheet_id. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-sheets`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Microsoft Excel](https://clawhub.ai/hith3sh/microsoft-excel-spreadsheets) — For Excel workbook operations via Microsoft Graph\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For file management and Drive-level operations\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780980985655\n}\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nGoogle Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, operators, and spreadsheet users use this skill to let an agent search, inspect, create, update, format, and manage Google Sheets through a connected Google account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses OAuth access to a connected Google Sheets account and can read spreadsheet data. <br>\nMitigation: Install only when the user trusts ClawLink with the connected account and review the Google permissions during OAuth. <br>\nRisk: The skill can write, clear, delete, and bulk-update spreadsheet content. <br>\nMitigation: Use a least-privileged Google account where possible and confirm the target resource and intended effect before any write, clear, delete, or bulk-update action. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/hith3sh/google-sheets-spreadsheets) <br>\n- [Publisher profile](https://clawhub.ai/user/hith3sh) <br>\n- [Google Sheets API overview](https://developers.google.com/sheets/api) <br>\n- [Google Sheets Values resource](https://developers.google.com/sheets/api/reference/spreadsheets.values) <br>\n- [Google Sheets Spreadsheets resource](https://developers.google.com/sheets/api/reference/spreadsheets) <br>\n- [ClawLink documentation](https://docs.claw-link.dev/openclaw) <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 tool-call examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guides authenticated Google Sheets read and write operations through ClawLink tools.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: 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.0.1: 3 files, 6679 bytes\n\nFiles: skill-card.md (2707b), SKILL.md (17279b), _meta.json (145b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\n![Google Sheets](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-sheets.svg)\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n```\n\n## Authentication\n\nAll Google Sheets tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Sheets API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-sheets` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-sheets\n```\n\n**Response:** Returns the live tool catalog for Google Sheets.\n\n### Reconnect\n\nIf Google Sheets tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-sheets\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-sheets`\n\n## Security & Permissions\n\n- Access is scoped to spreadsheets within the connected Google account's Drive.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete sheet, clear values, delete dimension) are marked as high-impact and must be confirmed.\n- Batch operations affect multiple cells and should be previewed before execution.\n\n## Tool Reference\n\n### Spreadsheet Discovery\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_spreadsheets` | Search for spreadsheets by name, content, or date | Read |\n| `googlesheets_get_spreadsheet_info` | Get spreadsheet metadata (ID, title, sheet properties) | Read |\n| `googlesheets_get_sheet_names` | List all worksheet names in a spreadsheet | Read |\n| `googlesheets_get_spreadsheet_by_data_filter` | Get spreadsheet filtered by data filters | Read |\n\n### Reading Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_get` | Read values from a specific cell range | Read |\n| `googlesheets_batch_get` | Retrieve data from multiple ranges in one call | Read |\n| `googlesheets_lookup_spreadsheet_row` | Find a row by exact cell content match | Read |\n| `googlesheets_aggregate_column_data` | Search rows by column value and perform math operations | Read |\n| `googlesheets_spreadsheets_values_batch_get_by_data_filter` | Read ranges matching data filters | Read |\n\n### Writing & Updating Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_update` | Set values in a cell range | Write |\n| `googlesheets_update_values_batch` | Update multiple ranges in one call | Write |\n| `googlesheets_spreadsheets_values_append` | Append new rows to a table | Write |\n| `googlesheets_batch_update_values_by_data_filter` | Update values matching data filters | Write |\n| `googlesheets_find_replace` | Find and replace text across a spreadsheet | Write |\n| `googlesheets_format_cell` | Apply text and background formatting to cells | Write |\n\n### Clearing Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_clear_values` | Clear cell content from a range (preserves formatting) | Write |\n| `googlesheets_spreadsheets_values_batch_clear` | Clear multiple ranges at once | Write |\n| `googlesheets_batch_clear_values_by_data_filter` | Clear ranges matching data filters | Write |\n| `googlesheets_clear_basic_filter` | Remove the basic filter from a sheet | Write |\n\n### Sheet Management\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_add_sheet` | Add a new sheet (GRID, OBJECT, or DATA_SOURCE type) | Write |\n| `googlesheets_delete_sheet` | Delete a sheet from a spreadsheet | Write |\n| `googlesheets_update_sheet_properties` | Rename, reposition, or change tab color of a sheet | Write |\n| `googlesheets_update_spreadsheet_properties` | Update spreadsheet-level properties (title, locale, timezone) | Write |\n\n### Row & Column Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_spreadsheet_row` | Insert a new row at a specific index | Write |\n| `googlesheets_create_spreadsheet_column` | Insert a new column in a spreadsheet | Write |\n| `googlesheets_delete_dimension` | Delete rows or columns by range | Write |\n| `googlesheets_insert_dimension` | Insert empty rows or columns at a location | Write |\n| `googlesheets_append_dimension` | Append rows or columns to a sheet | Write |\n| `googlesheets_update_dimension_properties` | Hide/unhide rows or columns, set row height/column width | Write |\n| `googlesheets_auto_resize_dimensions` | Auto-fit column widths or row heights to content | Write |\n\n### Smart Upsert\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_upsert_rows` | Update existing rows by key column, append new ones if not found | Write |\n\n### Charts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_chart` | Create a chart from a data range with configurable chart type | Write |\n\n### Filtering & Validation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_set_basic_filter` | Set or update a basic filter on a sheet | Write |\n| `googlesheets_set_data_validation_rule` | Apply data validation rules or dropdowns to a range | Write |\n| `googlesheets_get_conditional_format_rules` | List conditional formatting rules for a sheet | Read |\n| `googlesheets_mutate_conditional_format_rules` | Add, update, delete, or reorder conditional format rules | Write |\n| `googlesheets_get_data_validation_rules` | Extract data validation rules from a spreadsheet | Read |\n\n### Spreadsheet Creation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_google_sheet1` | Create a new spreadsheet, optionally in a specific Drive folder | Write |\n\n### Copy & Transfer\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_spreadsheets_sheets_copy_to` | Copy a single sheet to another spreadsheet | Write |\n\n### Metadata\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_developer_metadata` | Search for developer metadata in a spreadsheet | Read |\n\n## Code Examples\n\n### Search for spreadsheets\n\n```bash\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'\n```\n\n### Read a cell range\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_get\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:C10\"\n  }'\n```\n\n### Update cell values\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_update\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:B2\",\n    \"values\": [[\"Product\", \"Revenue\"], [\"Widget\", 1500]]\n  }'\n```\n\n### Append rows to a table\n\n```bash\nclawlink_call_tool --tool \"googlesheets_spreadsheets_values_append\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A:C\",\n    \"values\": [[\"New Item\", \"Description\", 100]]\n  }'\n```\n\n### Upsert rows by key\n\n```bash\nclawlink_call_tool --tool \"googlesheets_upsert_rows\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet\": \"Sheet1\",\n    \"key_column\": \"Email\",\n    \"headers\": [\"Email\", \"Phone\", \"Status\"],\n    \"data\": [[\"john@example.com\", \"555-0101\", \"Active\"]]\n  }'\n```\n\n### Create a chart\n\n```bash\nclawlink_call_tool --tool \"googlesheets_create_chart\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet_id\": 0,\n    \"chart_type\": \"BAR\",\n    \"data_range\": \"A1:B5\",\n    \"title\": \"Monthly Revenue\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools --integration google-sheets` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  search → get → read → call                                 │\n│                                                             │\n│  Example: List sheets → Read range → Show results          │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                        │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Spreadsheet IDs are the long ID string in the spreadsheet URL.\n- Sheet IDs can be numeric (for existing sheets) or referenced by name.\n- Use `null` in value arrays to skip updating specific cells.\n- Blank cells should use `\"\"` (empty string).\n- Range addresses use A1 notation (e.g., `Sheet1!A1:C10`).\n- `upsert_rows` auto-adds missing columns and performs partial column updates.\n- Sheet names must be unique within a spreadsheet.\n- `find_replace` is useful for fixing formula errors or bulk text updates.\n- Avoid creating sheets in parallel — the `index` field can cause conflicts.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-sheets`. |\n| Missing connection | Google Sheets is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-sheets. |\n| `SPREADSHEET_NOT_FOUND` | Spreadsheet does not exist. Check the spreadsheet_id. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-sheets`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Microsoft Excel](https://clawhub.ai/hith3sh/microsoft-excel-spreadsheets) — For Excel workbook operations via Microsoft Graph\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For file management and Drive-level operations\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780936673727\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nGoogle Sheets API integration with managed OAuth for creating spreadsheets, reading and writing cell values, managing sheets, appending rows, creating charts, and automating data operations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and OpenClaw users use this skill to connect an agent to Google Sheets through ClawLink-managed OAuth, then search spreadsheets, read and write ranges, manage sheets, append rows, create charts, and troubleshoot tool calls. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill requires OAuth access to a connected Google account and can operate on spreadsheets available to that account. <br>\nMitigation: Install only if the publisher and requested permissions are trusted, and verify the Google Sheets connection before use. <br>\nRisk: Write, clear, delete, batch, and structural spreadsheet operations can modify or remove user data. <br>\nMitigation: Preview changes, confirm the target spreadsheet and intended effect with the user, and execute only after explicit approval. <br>\nRisk: The available security telemetry is clean but does not replace human review of the skill and its permissions. <br>\nMitigation: Review and scan the skill before deployment, consistent with the evidence security guidance. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/hith3sh/google-sheets-spreadsheets) <br>\n- [Google Sheets API Overview](https://developers.google.com/sheets/api) <br>\n- [Google Sheets Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values) <br>\n- [Google Sheets Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets) <br>\n- [ClawLink Docs for OpenClaw](https://docs.claw-link.dev/openclaw) <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 JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces agent guidance for Google Sheets discovery, read operations, write previews, confirmations, and error handling.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (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 v0.1.1: 3 files, 6554 bytes\n\nFiles: skill-card.md (2503b), SKILL.md (17156b), _meta.json (145b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n```\n\n## Authentication\n\nAll Google Sheets tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Sheets API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-sheets` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-sheets\n```\n\n**Response:** Returns the live tool catalog for Google Sheets.\n\n### Reconnect\n\nIf Google Sheets tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-sheets\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-sheets`\n\n## Security & Permissions\n\n- Access is scoped to spreadsheets within the connected Google account's Drive.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete sheet, clear values, delete dimension) are marked as high-impact and must be confirmed.\n- Batch operations affect multiple cells and should be previewed before execution.\n\n## Tool Reference\n\n### Spreadsheet Discovery\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_spreadsheets` | Search for spreadsheets by name, content, or date | Read |\n| `googlesheets_get_spreadsheet_info` | Get spreadsheet metadata (ID, title, sheet properties) | Read |\n| `googlesheets_get_sheet_names` | List all worksheet names in a spreadsheet | Read |\n| `googlesheets_get_spreadsheet_by_data_filter` | Get spreadsheet filtered by data filters | Read |\n\n### Reading Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_get` | Read values from a specific cell range | Read |\n| `googlesheets_batch_get` | Retrieve data from multiple ranges in one call | Read |\n| `googlesheets_lookup_spreadsheet_row` | Find a row by exact cell content match | Read |\n| `googlesheets_aggregate_column_data` | Search rows by column value and perform math operations | Read |\n| `googlesheets_spreadsheets_values_batch_get_by_data_filter` | Read ranges matching data filters | Read |\n\n### Writing & Updating Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_values_update` | Set values in a cell range | Write |\n| `googlesheets_update_values_batch` | Update multiple ranges in one call | Write |\n| `googlesheets_spreadsheets_values_append` | Append new rows to a table | Write |\n| `googlesheets_batch_update_values_by_data_filter` | Update values matching data filters | Write |\n| `googlesheets_find_replace` | Find and replace text across a spreadsheet | Write |\n| `googlesheets_format_cell` | Apply text and background formatting to cells | Write |\n\n### Clearing Data\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_clear_values` | Clear cell content from a range (preserves formatting) | Write |\n| `googlesheets_spreadsheets_values_batch_clear` | Clear multiple ranges at once | Write |\n| `googlesheets_batch_clear_values_by_data_filter` | Clear ranges matching data filters | Write |\n| `googlesheets_clear_basic_filter` | Remove the basic filter from a sheet | Write |\n\n### Sheet Management\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_add_sheet` | Add a new sheet (GRID, OBJECT, or DATA_SOURCE type) | Write |\n| `googlesheets_delete_sheet` | Delete a sheet from a spreadsheet | Write |\n| `googlesheets_update_sheet_properties` | Rename, reposition, or change tab color of a sheet | Write |\n| `googlesheets_update_spreadsheet_properties` | Update spreadsheet-level properties (title, locale, timezone) | Write |\n\n### Row & Column Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_spreadsheet_row` | Insert a new row at a specific index | Write |\n| `googlesheets_create_spreadsheet_column` | Insert a new column in a spreadsheet | Write |\n| `googlesheets_delete_dimension` | Delete rows or columns by range | Write |\n| `googlesheets_insert_dimension` | Insert empty rows or columns at a location | Write |\n| `googlesheets_append_dimension` | Append rows or columns to a sheet | Write |\n| `googlesheets_update_dimension_properties` | Hide/unhide rows or columns, set row height/column width | Write |\n| `googlesheets_auto_resize_dimensions` | Auto-fit column widths or row heights to content | Write |\n\n### Smart Upsert\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_upsert_rows` | Update existing rows by key column, append new ones if not found | Write |\n\n### Charts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_chart` | Create a chart from a data range with configurable chart type | Write |\n\n### Filtering & Validation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_set_basic_filter` | Set or update a basic filter on a sheet | Write |\n| `googlesheets_set_data_validation_rule` | Apply data validation rules or dropdowns to a range | Write |\n| `googlesheets_get_conditional_format_rules` | List conditional formatting rules for a sheet | Read |\n| `googlesheets_mutate_conditional_format_rules` | Add, update, delete, or reorder conditional format rules | Write |\n| `googlesheets_get_data_validation_rules` | Extract data validation rules from a spreadsheet | Read |\n\n### Spreadsheet Creation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_create_google_sheet1` | Create a new spreadsheet, optionally in a specific Drive folder | Write |\n\n### Copy & Transfer\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_spreadsheets_sheets_copy_to` | Copy a single sheet to another spreadsheet | Write |\n\n### Metadata\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlesheets_search_developer_metadata` | Search for developer metadata in a spreadsheet | Read |\n\n## Code Examples\n\n### Search for spreadsheets\n\n```bash\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'\n```\n\n### Read a cell range\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_get\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:C10\"\n  }'\n```\n\n### Update cell values\n\n```bash\nclawlink_call_tool --tool \"googlesheets_values_update\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A1:B2\",\n    \"values\": [[\"Product\", \"Revenue\"], [\"Widget\", 1500]]\n  }'\n```\n\n### Append rows to a table\n\n```bash\nclawlink_call_tool --tool \"googlesheets_spreadsheets_values_append\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"range\": \"Sheet1!A:C\",\n    \"values\": [[\"New Item\", \"Description\", 100]]\n  }'\n```\n\n### Upsert rows by key\n\n```bash\nclawlink_call_tool --tool \"googlesheets_upsert_rows\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet\": \"Sheet1\",\n    \"key_column\": \"Email\",\n    \"headers\": [\"Email\", \"Phone\", \"Status\"],\n    \"data\": [[\"john@example.com\", \"555-0101\", \"Active\"]]\n  }'\n```\n\n### Create a chart\n\n```bash\nclawlink_call_tool --tool \"googlesheets_create_chart\" \\\n  --params '{\n    \"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\",\n    \"sheet_id\": 0,\n    \"chart_type\": \"BAR\",\n    \"data_range\": \"A1:B5\",\n    \"title\": \"Monthly Revenue\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools --integration google-sheets` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  search → get → read → call                                 │\n│                                                             │\n│  Example: List sheets → Read range → Show results          │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                        │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Spreadsheet IDs are the long ID string in the spreadsheet URL.\n- Sheet IDs can be numeric (for existing sheets) or referenced by name.\n- Use `null` in value arrays to skip updating specific cells.\n- Blank cells should use `\"\"` (empty string).\n- Range addresses use A1 notation (e.g., `Sheet1!A1:C10`).\n- `upsert_rows` auto-adds missing columns and performs partial column updates.\n- Sheet names must be unique within a spreadsheet.\n- `find_replace` is useful for fixing formula errors or bulk text updates.\n- Avoid creating sheets in parallel — the `index` field can cause conflicts.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-sheets`. |\n| Missing connection | Google Sheets is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-sheets. |\n| `SPREADSHEET_NOT_FOUND` | Spreadsheet does not exist. Check the spreadsheet_id. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-sheets`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Microsoft Excel](https://clawhub.ai/hith3sh/microsoft-excel-spreadsheets) — For Excel workbook operations via Microsoft Graph\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For file management and Drive-level operations\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1780839078114\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nGoogle Sheets API integration with managed OAuth for creating spreadsheets, reading and writing cell values, managing sheets, appending rows, creating charts, and automating spreadsheet operations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <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 manage Google Sheets through OpenClaw with ClawLink OAuth. It supports spreadsheet discovery, reading ranges, confirmed writes, sheet management, row and column operations, chart creation, and troubleshooting connection issues. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: OAuth access can read or change spreadsheets available to the connected Google account. <br>\nMitigation: Install only if you trust ClawLink with Google Sheets OAuth access, and review the Google account and scopes during pairing. <br>\nRisk: Write, clear, delete, and bulk update operations can change spreadsheet data or structure. <br>\nMitigation: Confirm target spreadsheet IDs, ranges, and intended effects before approving writes, clears, deletes, or bulk updates. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Google Sheets Skill Page](https://clawhub.ai/hith3sh/google-sheets-spreadsheets) <br>\n- [Google Sheets API Overview](https://developers.google.com/sheets/api) <br>\n- [Google Sheets Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values) <br>\n- [Google Sheets Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets) <br>\n- [ClawLink Docs for OpenClaw](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline bash and JSON code blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected ClawLink Google Sheets OAuth account; write, clear, delete, and bulk update operations require user confirmation.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (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 v0.1.0: 3 files, 3729 bytes\n\nFiles: skill-card.md (2620b), SKILL.md (5588b), _meta.json (145b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: google-sheets-spreadsheets\ndescription: Create spreadsheets, read and update ranges, append rows, manage sheets, and automate spreadsheet workflows — powered by ClawLink.\n---\n\n# Google Sheets via ClawLink\n\nWork with Google Sheets from chat — create spreadsheets, read and update ranges, append rows, manage worksheets, and automate spreadsheet workflows.\n\nPowered by [ClawLink](https://claw-link.dev), an integration hub for OpenClaw that handles hosted connection flows and credentials so you don't need to configure Google Sheets API access yourself.\n\n## Quick start\n\n1. Install the verified ClawLink plugin: `openclaw plugins install clawhub:clawlink-plugin`\n2. Start a fresh OpenClaw chat if the plugin was just installed and ClawLink tools are not visible yet\n3. If ClawLink is not configured, call `clawlink_begin_pairing`\n4. Tell the user to open the returned pairing URL, sign in to ClawLink if needed, and approve the device\n5. After the user confirms approval, call `clawlink_get_pairing_status`\n6. Tell the user to connect Google Sheets at [claw-link.dev/dashboard?add=google-sheets](https://claw-link.dev/dashboard?add=google-sheets)\n7. When the user confirms Google Sheets is connected, call `clawlink_list_integrations` and then `clawlink_list_tools` with the `google-sheets` integration slug\n\n## Setup details\n\n### Installing the plugin\n\nIf the ClawLink plugin is not installed yet, tell the user to run:\n\n```\nopenclaw plugins install clawhub:clawlink-plugin\n```\n\nIf the current chat started before the plugin was installed and ClawLink tools are still unavailable, tell the user to start a fresh chat so OpenClaw reloads the plugin tool catalog.\n\n### Pairing ClawLink\n\nIf ClawLink reports that the plugin is not configured, the plugin has not been paired with the user's ClawLink account yet.\n\n1. Call `clawlink_begin_pairing`.\n2. Tell the user to open the returned pairing URL in their browser.\n3. The user signs in to ClawLink if needed and approves the OpenClaw device.\n4. After the user confirms approval, call `clawlink_get_pairing_status` to finish local setup.\n\nThe resulting device credential is stored locally in OpenClaw's plugin config and is only sent to `claw-link.dev`. The user should not paste raw credentials into chat.\n\n### Connecting Google Sheets\n\nTell the user to open https://claw-link.dev/dashboard?add=google-sheets and connect Google Sheets there. The page opens the add-connection panel filtered to Google Sheets. ClawLink's hosted page runs the Google account connection flow — the user clicks through Google sign-in and consent. When they confirm it is done, call `clawlink_list_integrations` to verify, then call `clawlink_list_tools` with integration `google-sheets`.\n\n## Using Google Sheets tools\n\nClawLink provides tools dynamically based on what the user has connected. You do not need to know tool names or schemas in advance.\n\n### Discovery\n\n1. Call `clawlink_list_integrations` to confirm Google Sheets is connected.\n2. Call `clawlink_list_tools` with integration `google-sheets`.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-sheets`.\n5. If no Google Sheets tools appear, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n\n### Execution\n\n1. Call `clawlink_describe_tool` before using an unfamiliar tool, before any write, or when the request is ambiguous.\n2. Use the returned schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups`.\n3. Prefer spreadsheet inspection and range reads before writes.\n4. For updates, appends, clears, sheet creation or deletion, structural edits, formatting changes, or anything marked as requiring confirmation, call `clawlink_preview_tool` first, then confirm with the user.\n5. Execute with `clawlink_call_tool`.\n6. If it fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## What you can do\n\nTypical Google Sheets tasks (actual availability depends on the user's connected account, permissions, scopes, and current ClawLink tool catalog):\n\n- Create new spreadsheets after confirmation\n- Inspect spreadsheet metadata and sheet names\n- Read one range or multiple ranges from a spreadsheet\n- Update or append rows and cell ranges after confirmation\n- Look up rows by exact matches or upsert rows by key after confirmation\n- Add or delete sheets, rows, or columns after confirmation\n- Clear ranges or perform batch updates after confirmation\n- Search spreadsheets and apply find-and-replace or formatting changes after confirmation\n\n## Rules\n\n- Always use ClawLink tools for Google Sheets. Do not ask the user for separate Google credentials.\n- Do not claim a capability is missing without checking the live ClawLink catalog in the current turn.\n- Do not invent slash commands or ask the user to paste raw credentials.\n- Ask for confirmation before editing spreadsheet data, structure, formulas, formatting, or clearing ranges.\n- If Google Sheets is not connected, direct the user to https://claw-link.dev/dashboard?add=google-sheets.\n- Never echo or repeat the user's ClawLink credential.\n\n## Resources\n\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n- ClawLink Source: https://github.com/hith3sh/clawlink\n- Google Sheets API: https://developers.google.com/sheets/api\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1777815215116\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nCreate spreadsheets, read and update ranges, append rows, manage sheets, and automate spreadsheet workflows - powered by ClawLink. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <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 connect OpenClaw to Google Sheets through ClawLink, then discover available tools and perform spreadsheet reads, updates, appends, sheet management, and workflow automation with confirmation for changes. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Spreadsheet updates, appends, clears, sheet deletion, structural edits, or formatting changes can alter user data. <br>\nMitigation: Inspect spreadsheet context first, preview write operations with ClawLink, and get user confirmation before executing changes. <br>\nRisk: Connection or device credentials could be exposed if copied into chat or sent outside the intended service. <br>\nMitigation: Use ClawLink pairing and hosted Google Sheets connection flows, send credentials only to claw-link.dev, and never ask the user to paste raw credentials. <br>\nRisk: The security guidance limits installation or use to ClawHub development or maintainer contexts. <br>\nMitigation: Follow the server-provided security guidance and use relevant credentials and confirmation prompts carefully. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/google-sheets-spreadsheets) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n- [Google Sheets API](https://developers.google.com/sheets/api) <br>\n- [ClawLink Source](https://github.com/hith3sh/clawlink) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and tool-call instructions] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses the live ClawLink catalog as the source of truth for available Google Sheets tools.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (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>","readmeExcerpt":"Skill: Google Sheets Owner: hith3sh Summary: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:10:42.029Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘"},{"language":"bash","snippet":"openclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart"},{"language":"bash","snippet":"# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query\": \"budget\"}'\n\n# Get spreadsheet info\nclawlink_call_tool --tool \"googlesheets_get_spreadsheet_info\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'\n\n# Get sheet names\nclawlink_call_tool --tool \"googlesheets_get_sheet_names\" --params '{\"spreadsheet_id\": \"YOUR_SPREADSHEET_ID\"}'"},{"language":"bash","snippet":"clawlink_list_integrations"},{"language":"bash","snippet":"clawlink_list_tools --integration google-sheets"},{"language":"bash","snippet":"clawlink_call_tool --tool \"googlesheets_search_spreadsheets\" \\\n  --params '{\n    \"query\": \"budget tracker\"\n  }'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: google-sheets-spreadsheets\ndescription: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n---\n\n# Google Sheets\n\n![Google Sheets](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-sheets.svg)\n\nAccess Google Sheets via the Google Sheets API with managed OAuth authentication. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-sheets-spreadsheets) for hosted connection flows and credentials so you do not need to configure Google Sheets API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Sheets |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Sheets |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│  Google Sheets   │\n│   (User Chat)   │     │   (OAuth)    │     │   (Sheets API)   │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Sheets    │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  Sheets  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Sheets again.\"\n\n## Quick Start\n\n```bash\n# Search for spreadsheets\nclawlink_call_tool --tool \"googlesheets_search_spreadsheets\" --params '{\"query"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-sheets-spreadsheets\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780989042029\n}"},{"path":"skill-card.md","content":"## Description:\n\nGoogle Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate data operations. Use this skill when users want spreadsheet work done in Google Sheets.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to connect an OpenClaw agent to Google Sheets through ClawLink, then search spreadsheets, read ranges, update cells, append rows, manage sheets, and create charts with user-confirmed writes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to install and allowlist an unpinned third-party plugin that handles Google OAuth and spreadsheet access.\n\nMitigation: Install only if the ClawLink plugin source is trusted, verify the Google consent screen and requested scopes, and remove the plugin if it is no longer needed.\n\nRisk: A connected Google account can allow spreadsheet reads plus confirmed writes or destructive changes.\n\nMitigation: Preview write, clear, delete, and batch operations before execution, confirm the target spreadsheet and range, and revoke the Google connection when access is no longer required.\n\n## Reference(s):\n\n- [Google Sheets API Overview](https://developers.google.com/sheets/api)\n- [Google Sheets Values Resource](https://developers.google.com/sheets/api/reference/spreadsheets.values)\n- [Google Sheets Spreadsheets Resource](https://developers.google.com/sheets/api/reference/spreadsheets)\n- [ClawLink OpenClaw Documentation](https://docs.claw-link.dev/openclaw)\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-sheets-spreadsheets)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, API calls, markdown]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Google Sheets writes and destructive changes require explicit user confirmation before execution.]\n\n## Skill Version(s):\n\n1.0.6 (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":"Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da... Skill: Google Sheets Owner: hith3sh Summary: Google Sheets API integration with managed OAuth. Create spreadsheets, read and write cell values, manage sheets, append rows, create charts, and automate da... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:10:42.029Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1058,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:54:08.643Z","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-09T02:54:08.643Z","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-09T11:52:03.133Z","emptyReason":null},"items":[{"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":"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-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","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"}]}}}