[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-composio-excel-automation":3,"mdc--txb0we-key":53,"related-repo-composio-excel-automation":1529,"related-org-composio-excel-automation":1616},{"slug":4,"name":5,"fn":6,"description":7,"org":8,"tags":13,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":48,"sourceUrl":51,"mdContent":52},"excel-automation","Excel Automation","automate Excel and Google Sheets tasks","Excel Automation: create workbooks, manage worksheets, read\u002Fwrite cell data, and format spreadsheets via Microsoft Excel and Google Sheets integration",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},"composio","Composio","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fcomposio.png","ComposioHQ",[14,18,21,24],{"name":15,"slug":16,"type":17},"Google Sheets","google-sheets","tag",{"name":19,"slug":20,"type":17},"Excel","excel",{"name":22,"slug":23,"type":17},"Automation","automation",{"name":25,"slug":26,"type":17},"Spreadsheets","spreadsheets",67499,"https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills","2026-07-15T05:44:40.561059",null,7603,[33,34,35,23,36,37,38,9,39,40,41,42,43,44,45,46,47],"agent-skills","ai-agents","antigravity","claude","claude-code","codex","cursor","developer-tools","gemini-cli","mcp","openai-codex","rube","saas","skill","workflow-automation",{"repoUrl":28,"stars":27,"forks":31,"topics":49,"description":50},[33,34,35,23,36,37,38,9,39,40,41,42,43,44,45,46,47],"A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows","https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills\u002Ftree\u002FHEAD\u002Fcomposio-skills\u002Fexcel-automation","---\nname: Excel Automation\ndescription: \"Excel Automation: create workbooks, manage worksheets, read\u002Fwrite cell data, and format spreadsheets via Microsoft Excel and Google Sheets integration\"\nrequires:\n  mcp: [rube]\n---\n\n# Excel Automation\n\nAutomate spreadsheet operations including creating workbooks, writing data, formatting cells, upserting rows, and managing worksheets. Works with Microsoft Excel (OneDrive) and Google Sheets.\n\n**Toolkit docs:** [composio.dev\u002Ftoolkits\u002Fexcel](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fexcel)\n\n---\n\n## Setup\n\nThis skill requires the **Rube MCP server** connected at `https:\u002F\u002Frube.app\u002Fmcp`.\n\nBefore executing any tools, ensure an active connection exists for the `excel` (and optionally `googlesheets`) toolkit. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.\n\n---\n\n## Core Workflows\n\n### 1. Create a New Excel Workbook\n\nUse `EXCEL_CREATE_WORKBOOK` to generate a new `.xlsx` file and upload it to OneDrive.\n\n**Tool:** `EXCEL_CREATE_WORKBOOK`\n\n**Steps:**\n1. Call `EXCEL_CREATE_WORKBOOK` with worksheet names and data\n2. The tool creates a `.xlsx` file and uploads it to OneDrive\n3. Use the returned file path\u002FURL for subsequent operations\n\n---\n\n### 2. Write Data to a Spreadsheet\n\nUse `GOOGLESHEETS_BATCH_UPDATE` to write values to a specific range or append rows.\n\n**Tool:** `GOOGLESHEETS_BATCH_UPDATE`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID from the URL (44-char alphanumeric string)\n- `sheet_name` (required) -- Tab name, e.g., `\"Sheet1\"`, `\"Sales Data\"`\n- `values` (required) -- 2D array of cell values, e.g., `[[\"Name\",\"Amount\"],[\"Alice\",100]]`\n- `first_cell_location` -- Starting cell in A1 notation (e.g., `\"A1\"`, `\"D3\"`). Omit to append rows\n- `valueInputOption` -- `\"USER_ENTERED\"` (default, parses formulas) or `\"RAW\"` (stores as-is)\n\n**Example:**\n```\nTool: GOOGLESHEETS_BATCH_UPDATE\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheet_name: \"Sheet1\"\n  values: [[\"Item\",\"Cost\",\"Stocked\"],[\"Wheel\",20.50,true],[\"Screw\",0.50,true]]\n  first_cell_location: \"A1\"\n```\n\n---\n\n### 3. Upsert Rows by Key Column\n\nUse `GOOGLESHEETS_UPSERT_ROWS` to update existing rows by matching a key column, or append new rows if no match is found. Ideal for CRM syncs, inventory updates, and deduplication.\n\n**Tool:** `GOOGLESHEETS_UPSERT_ROWS`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `sheetName` (required) -- Tab name\n- `rows` (required) -- 2D array of data rows (min 1 row). If `headers` is omitted, the first row is treated as headers\n- `headers` -- Column names for the data, e.g., `[\"Email\",\"Phone\",\"Status\"]`\n- `keyColumn` -- Column header to match on, e.g., `\"Email\"`, `\"SKU\"`, `\"Lead ID\"`\n- `strictMode` -- `true` (default) errors on mismatched columns; `false` truncates silently\n\n**Example:**\n```\nTool: GOOGLESHEETS_UPSERT_ROWS\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheetName: \"Contacts\"\n  keyColumn: \"Email\"\n  headers: [\"Email\",\"Phone\",\"Status\"]\n  rows: [[\"john@example.com\",\"555-0101\",\"Active\"],[\"jane@example.com\",\"555-0102\",\"Pending\"]]\n```\n\n---\n\n### 4. Format Cells\n\nUse `GOOGLESHEETS_FORMAT_CELL` to apply bold, italic, font size, and background colors to ranges.\n\n**Tool:** `GOOGLESHEETS_FORMAT_CELL`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID\n- `range` -- Cell range in A1 notation, e.g., `\"A1:D1\"`, `\"B2:B10\"` (recommended over index-based)\n- `sheet_name` -- Worksheet name, e.g., `\"Sheet1\"`\n- `bold` -- `true`\u002F`false`\n- `italic` -- `true`\u002F`false`\n- `fontSize` -- Font size in points, e.g., `12`\n- `red`, `green`, `blue` -- Background color components (0.0--1.0 float scale, NOT 0--255)\n\n**Example (bold header row with blue background):**\n```\nTool: GOOGLESHEETS_FORMAT_CELL\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  range: \"A1:D1\"\n  sheet_name: \"Sheet1\"\n  bold: true\n  fontSize: 12\n  red: 0.2\n  green: 0.4\n  blue: 0.9\n```\n\n---\n\n### 5. Add New Worksheet Tabs\n\nUse `GOOGLESHEETS_ADD_SHEET` to create new tabs within an existing spreadsheet.\n\n**Tool:** `GOOGLESHEETS_ADD_SHEET`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `title` -- Name for the new tab, e.g., `\"Q4 Report\"`\n- `forceUnique` -- `true` (default) auto-appends suffix if name exists\n\n**Example:**\n```\nTool: GOOGLESHEETS_ADD_SHEET\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  title: \"Q4 Report\"\n  forceUnique: true\n```\n\n---\n\n### 6. Read Data and Verify Content\n\nUse `GOOGLESHEETS_BATCH_GET` to retrieve data from specified cell ranges for validation or further processing.\n\n**Tool:** `GOOGLESHEETS_BATCH_GET`\n\n**Steps:**\n1. Call `GOOGLESHEETS_BATCH_GET` with the spreadsheet ID and target ranges\n2. Validate headers and data alignment\n3. Use results to inform subsequent write or update operations\n\n**Supporting Tools:**\n- `GOOGLESHEETS_GET_SHEET_NAMES` -- List all tab names in a spreadsheet\n- `GOOGLESHEETS_GET_SPREADSHEET_INFO` -- Get metadata (sheet IDs, properties)\n- `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` -- Check if a specific tab exists\n\n---\n\n## Recommended Execution Plan\n\n1. **Create or locate the spreadsheet** using `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` or reuse an existing `spreadsheetId`\n2. **Confirm the destination tab** using `GOOGLESHEETS_GET_SHEET_NAMES` or `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE`; create it with `GOOGLESHEETS_ADD_SHEET` if missing\n3. **Read existing headers** (optional) using `GOOGLESHEETS_BATCH_GET` to align columns\n4. **Write or upsert data** using `GOOGLESHEETS_BATCH_UPDATE` or `GOOGLESHEETS_UPSERT_ROWS`\n5. **Apply formatting** (optional) using `GOOGLESHEETS_FORMAT_CELL`\n6. **Verify results** (optional) using `GOOGLESHEETS_BATCH_GET`\n7. **Fallback:** If Google Sheets creation is blocked (HTTP 403), use `EXCEL_CREATE_WORKBOOK` for local `.xlsx` output\n\n---\n\n## Known Pitfalls\n\n| Pitfall | Detail |\n|---------|--------|\n| **HTTP 403 on sheet creation** | `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` fails when Drive create scope is missing. Reuse an existing `spreadsheetId` or fall back to `EXCEL_CREATE_WORKBOOK`. |\n| **Cell limit and rate throttling** | Google Sheets has a ~5,000,000 cell limit per spreadsheet. Excessive write frequency triggers HTTP 429. Batch changes and chunk large writes (~500 rows\u002Fcall). |\n| **Format range off-by-one** | `GOOGLESHEETS_FORMAT_CELL` uses 0-based, endIndex-exclusive ranges when using index mode. Background color uses 0--1 float RGB, NOT 0--255 integer RGB. |\n| **Sheet title uniqueness** | Sheet titles are not guaranteed unique across API responses. Prefer operating by numeric `sheetId` and verify the resolved tab before writing. |\n| **Upsert payload shape** | `GOOGLESHEETS_UPSERT_ROWS` requires headers + 2D rows array. Sending list-of-dicts or empty `rows` causes validation errors. Ensure at least 1 data row. |\n\n---\n\n## Quick Reference\n\n| Tool Slug | Description |\n|-----------|-------------|\n| `EXCEL_CREATE_WORKBOOK` | Create a new `.xlsx` workbook and upload to OneDrive |\n| `GOOGLESHEETS_BATCH_UPDATE` | Write values to a range or append new rows |\n| `GOOGLESHEETS_UPSERT_ROWS` | Update existing rows by key or append new ones |\n| `GOOGLESHEETS_FORMAT_CELL` | Apply text\u002Fbackground formatting to cell ranges |\n| `GOOGLESHEETS_ADD_SHEET` | Add a new worksheet tab to a spreadsheet |\n| `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` | Create a new Google Spreadsheet in Drive |\n| `GOOGLESHEETS_GET_SHEET_NAMES` | List all worksheet names in a spreadsheet |\n| `GOOGLESHEETS_GET_SPREADSHEET_INFO` | Retrieve spreadsheet metadata |\n| `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` | Check if a worksheet exists by title |\n| `GOOGLESHEETS_BATCH_GET` | Read data from specified cell ranges |\n\n---\n\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"data":54,"body":57},{"name":5,"description":7,"requires":55},{"mcp":56},[44],{"type":58,"children":59},"root",[60,67,73,93,97,104,125,152,155,161,168,189,203,211,245,248,254,266,279,287,397,405,417,420,426,438,451,458,575,582,591,594,600,612,625,632,770,778,787,790,796,808,821,828,874,881,890,893,899,911,924,931,955,963,999,1002,1008,1153,1156,1162,1313,1316,1322,1511,1514],{"type":61,"tag":62,"props":63,"children":64},"element","h1",{"id":4},[65],{"type":66,"value":5},"text",{"type":61,"tag":68,"props":69,"children":70},"p",{},[71],{"type":66,"value":72},"Automate spreadsheet operations including creating workbooks, writing data, formatting cells, upserting rows, and managing worksheets. Works with Microsoft Excel (OneDrive) and Google Sheets.",{"type":61,"tag":68,"props":74,"children":75},{},[76,82,84],{"type":61,"tag":77,"props":78,"children":79},"strong",{},[80],{"type":66,"value":81},"Toolkit docs:",{"type":66,"value":83}," ",{"type":61,"tag":85,"props":86,"children":90},"a",{"href":87,"rel":88},"https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fexcel",[89],"nofollow",[91],{"type":66,"value":92},"composio.dev\u002Ftoolkits\u002Fexcel",{"type":61,"tag":94,"props":95,"children":96},"hr",{},[],{"type":61,"tag":98,"props":99,"children":101},"h2",{"id":100},"setup",[102],{"type":66,"value":103},"Setup",{"type":61,"tag":68,"props":105,"children":106},{},[107,109,114,116,123],{"type":66,"value":108},"This skill requires the ",{"type":61,"tag":77,"props":110,"children":111},{},[112],{"type":66,"value":113},"Rube MCP server",{"type":66,"value":115}," connected at ",{"type":61,"tag":117,"props":118,"children":120},"code",{"className":119},[],[121],{"type":66,"value":122},"https:\u002F\u002Frube.app\u002Fmcp",{"type":66,"value":124},".",{"type":61,"tag":68,"props":126,"children":127},{},[128,130,135,137,143,145,151],{"type":66,"value":129},"Before executing any tools, ensure an active connection exists for the ",{"type":61,"tag":117,"props":131,"children":133},{"className":132},[],[134],{"type":66,"value":20},{"type":66,"value":136}," (and optionally ",{"type":61,"tag":117,"props":138,"children":140},{"className":139},[],[141],{"type":66,"value":142},"googlesheets",{"type":66,"value":144},") toolkit. If no connection is active, initiate one via ",{"type":61,"tag":117,"props":146,"children":148},{"className":147},[],[149],{"type":66,"value":150},"RUBE_MANAGE_CONNECTIONS",{"type":66,"value":124},{"type":61,"tag":94,"props":153,"children":154},{},[],{"type":61,"tag":98,"props":156,"children":158},{"id":157},"core-workflows",[159],{"type":66,"value":160},"Core Workflows",{"type":61,"tag":162,"props":163,"children":165},"h3",{"id":164},"_1-create-a-new-excel-workbook",[166],{"type":66,"value":167},"1. Create a New Excel Workbook",{"type":61,"tag":68,"props":169,"children":170},{},[171,173,179,181,187],{"type":66,"value":172},"Use ",{"type":61,"tag":117,"props":174,"children":176},{"className":175},[],[177],{"type":66,"value":178},"EXCEL_CREATE_WORKBOOK",{"type":66,"value":180}," to generate a new ",{"type":61,"tag":117,"props":182,"children":184},{"className":183},[],[185],{"type":66,"value":186},".xlsx",{"type":66,"value":188}," file and upload it to OneDrive.",{"type":61,"tag":68,"props":190,"children":191},{},[192,197,198],{"type":61,"tag":77,"props":193,"children":194},{},[195],{"type":66,"value":196},"Tool:",{"type":66,"value":83},{"type":61,"tag":117,"props":199,"children":201},{"className":200},[],[202],{"type":66,"value":178},{"type":61,"tag":68,"props":204,"children":205},{},[206],{"type":61,"tag":77,"props":207,"children":208},{},[209],{"type":66,"value":210},"Steps:",{"type":61,"tag":212,"props":213,"children":214},"ol",{},[215,228,240],{"type":61,"tag":216,"props":217,"children":218},"li",{},[219,221,226],{"type":66,"value":220},"Call ",{"type":61,"tag":117,"props":222,"children":224},{"className":223},[],[225],{"type":66,"value":178},{"type":66,"value":227}," with worksheet names and data",{"type":61,"tag":216,"props":229,"children":230},{},[231,233,238],{"type":66,"value":232},"The tool creates a ",{"type":61,"tag":117,"props":234,"children":236},{"className":235},[],[237],{"type":66,"value":186},{"type":66,"value":239}," file and uploads it to OneDrive",{"type":61,"tag":216,"props":241,"children":242},{},[243],{"type":66,"value":244},"Use the returned file path\u002FURL for subsequent operations",{"type":61,"tag":94,"props":246,"children":247},{},[],{"type":61,"tag":162,"props":249,"children":251},{"id":250},"_2-write-data-to-a-spreadsheet",[252],{"type":66,"value":253},"2. Write Data to a Spreadsheet",{"type":61,"tag":68,"props":255,"children":256},{},[257,258,264],{"type":66,"value":172},{"type":61,"tag":117,"props":259,"children":261},{"className":260},[],[262],{"type":66,"value":263},"GOOGLESHEETS_BATCH_UPDATE",{"type":66,"value":265}," to write values to a specific range or append rows.",{"type":61,"tag":68,"props":267,"children":268},{},[269,273,274],{"type":61,"tag":77,"props":270,"children":271},{},[272],{"type":66,"value":196},{"type":66,"value":83},{"type":61,"tag":117,"props":275,"children":277},{"className":276},[],[278],{"type":66,"value":263},{"type":61,"tag":68,"props":280,"children":281},{},[282],{"type":61,"tag":77,"props":283,"children":284},{},[285],{"type":66,"value":286},"Key Parameters:",{"type":61,"tag":288,"props":289,"children":290},"ul",{},[291,302,327,344,370],{"type":61,"tag":216,"props":292,"children":293},{},[294,300],{"type":61,"tag":117,"props":295,"children":297},{"className":296},[],[298],{"type":66,"value":299},"spreadsheet_id",{"type":66,"value":301}," (required) -- The spreadsheet ID from the URL (44-char alphanumeric string)",{"type":61,"tag":216,"props":303,"children":304},{},[305,311,313,319,321],{"type":61,"tag":117,"props":306,"children":308},{"className":307},[],[309],{"type":66,"value":310},"sheet_name",{"type":66,"value":312}," (required) -- Tab name, e.g., ",{"type":61,"tag":117,"props":314,"children":316},{"className":315},[],[317],{"type":66,"value":318},"\"Sheet1\"",{"type":66,"value":320},", ",{"type":61,"tag":117,"props":322,"children":324},{"className":323},[],[325],{"type":66,"value":326},"\"Sales Data\"",{"type":61,"tag":216,"props":328,"children":329},{},[330,336,338],{"type":61,"tag":117,"props":331,"children":333},{"className":332},[],[334],{"type":66,"value":335},"values",{"type":66,"value":337}," (required) -- 2D array of cell values, e.g., ",{"type":61,"tag":117,"props":339,"children":341},{"className":340},[],[342],{"type":66,"value":343},"[[\"Name\",\"Amount\"],[\"Alice\",100]]",{"type":61,"tag":216,"props":345,"children":346},{},[347,353,355,361,362,368],{"type":61,"tag":117,"props":348,"children":350},{"className":349},[],[351],{"type":66,"value":352},"first_cell_location",{"type":66,"value":354}," -- Starting cell in A1 notation (e.g., ",{"type":61,"tag":117,"props":356,"children":358},{"className":357},[],[359],{"type":66,"value":360},"\"A1\"",{"type":66,"value":320},{"type":61,"tag":117,"props":363,"children":365},{"className":364},[],[366],{"type":66,"value":367},"\"D3\"",{"type":66,"value":369},"). Omit to append rows",{"type":61,"tag":216,"props":371,"children":372},{},[373,379,381,387,389,395],{"type":61,"tag":117,"props":374,"children":376},{"className":375},[],[377],{"type":66,"value":378},"valueInputOption",{"type":66,"value":380}," -- ",{"type":61,"tag":117,"props":382,"children":384},{"className":383},[],[385],{"type":66,"value":386},"\"USER_ENTERED\"",{"type":66,"value":388}," (default, parses formulas) or ",{"type":61,"tag":117,"props":390,"children":392},{"className":391},[],[393],{"type":66,"value":394},"\"RAW\"",{"type":66,"value":396}," (stores as-is)",{"type":61,"tag":68,"props":398,"children":399},{},[400],{"type":61,"tag":77,"props":401,"children":402},{},[403],{"type":66,"value":404},"Example:",{"type":61,"tag":406,"props":407,"children":411},"pre",{"className":408,"code":410,"language":66},[409],"language-text","Tool: GOOGLESHEETS_BATCH_UPDATE\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheet_name: \"Sheet1\"\n  values: [[\"Item\",\"Cost\",\"Stocked\"],[\"Wheel\",20.50,true],[\"Screw\",0.50,true]]\n  first_cell_location: \"A1\"\n",[412],{"type":61,"tag":117,"props":413,"children":415},{"__ignoreMap":414},"",[416],{"type":66,"value":410},{"type":61,"tag":94,"props":418,"children":419},{},[],{"type":61,"tag":162,"props":421,"children":423},{"id":422},"_3-upsert-rows-by-key-column",[424],{"type":66,"value":425},"3. Upsert Rows by Key Column",{"type":61,"tag":68,"props":427,"children":428},{},[429,430,436],{"type":66,"value":172},{"type":61,"tag":117,"props":431,"children":433},{"className":432},[],[434],{"type":66,"value":435},"GOOGLESHEETS_UPSERT_ROWS",{"type":66,"value":437}," to update existing rows by matching a key column, or append new rows if no match is found. Ideal for CRM syncs, inventory updates, and deduplication.",{"type":61,"tag":68,"props":439,"children":440},{},[441,445,446],{"type":61,"tag":77,"props":442,"children":443},{},[444],{"type":66,"value":196},{"type":66,"value":83},{"type":61,"tag":117,"props":447,"children":449},{"className":448},[],[450],{"type":66,"value":435},{"type":61,"tag":68,"props":452,"children":453},{},[454],{"type":61,"tag":77,"props":455,"children":456},{},[457],{"type":66,"value":286},{"type":61,"tag":288,"props":459,"children":460},{},[461,472,483,502,518,549],{"type":61,"tag":216,"props":462,"children":463},{},[464,470],{"type":61,"tag":117,"props":465,"children":467},{"className":466},[],[468],{"type":66,"value":469},"spreadsheetId",{"type":66,"value":471}," (required) -- The spreadsheet ID",{"type":61,"tag":216,"props":473,"children":474},{},[475,481],{"type":61,"tag":117,"props":476,"children":478},{"className":477},[],[479],{"type":66,"value":480},"sheetName",{"type":66,"value":482}," (required) -- Tab name",{"type":61,"tag":216,"props":484,"children":485},{},[486,492,494,500],{"type":61,"tag":117,"props":487,"children":489},{"className":488},[],[490],{"type":66,"value":491},"rows",{"type":66,"value":493}," (required) -- 2D array of data rows (min 1 row). If ",{"type":61,"tag":117,"props":495,"children":497},{"className":496},[],[498],{"type":66,"value":499},"headers",{"type":66,"value":501}," is omitted, the first row is treated as headers",{"type":61,"tag":216,"props":503,"children":504},{},[505,510,512],{"type":61,"tag":117,"props":506,"children":508},{"className":507},[],[509],{"type":66,"value":499},{"type":66,"value":511}," -- Column names for the data, e.g., ",{"type":61,"tag":117,"props":513,"children":515},{"className":514},[],[516],{"type":66,"value":517},"[\"Email\",\"Phone\",\"Status\"]",{"type":61,"tag":216,"props":519,"children":520},{},[521,527,529,535,536,542,543],{"type":61,"tag":117,"props":522,"children":524},{"className":523},[],[525],{"type":66,"value":526},"keyColumn",{"type":66,"value":528}," -- Column header to match on, e.g., ",{"type":61,"tag":117,"props":530,"children":532},{"className":531},[],[533],{"type":66,"value":534},"\"Email\"",{"type":66,"value":320},{"type":61,"tag":117,"props":537,"children":539},{"className":538},[],[540],{"type":66,"value":541},"\"SKU\"",{"type":66,"value":320},{"type":61,"tag":117,"props":544,"children":546},{"className":545},[],[547],{"type":66,"value":548},"\"Lead ID\"",{"type":61,"tag":216,"props":550,"children":551},{},[552,558,559,565,567,573],{"type":61,"tag":117,"props":553,"children":555},{"className":554},[],[556],{"type":66,"value":557},"strictMode",{"type":66,"value":380},{"type":61,"tag":117,"props":560,"children":562},{"className":561},[],[563],{"type":66,"value":564},"true",{"type":66,"value":566}," (default) errors on mismatched columns; ",{"type":61,"tag":117,"props":568,"children":570},{"className":569},[],[571],{"type":66,"value":572},"false",{"type":66,"value":574}," truncates silently",{"type":61,"tag":68,"props":576,"children":577},{},[578],{"type":61,"tag":77,"props":579,"children":580},{},[581],{"type":66,"value":404},{"type":61,"tag":406,"props":583,"children":586},{"className":584,"code":585,"language":66},[409],"Tool: GOOGLESHEETS_UPSERT_ROWS\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheetName: \"Contacts\"\n  keyColumn: \"Email\"\n  headers: [\"Email\",\"Phone\",\"Status\"]\n  rows: [[\"john@example.com\",\"555-0101\",\"Active\"],[\"jane@example.com\",\"555-0102\",\"Pending\"]]\n",[587],{"type":61,"tag":117,"props":588,"children":589},{"__ignoreMap":414},[590],{"type":66,"value":585},{"type":61,"tag":94,"props":592,"children":593},{},[],{"type":61,"tag":162,"props":595,"children":597},{"id":596},"_4-format-cells",[598],{"type":66,"value":599},"4. Format Cells",{"type":61,"tag":68,"props":601,"children":602},{},[603,604,610],{"type":66,"value":172},{"type":61,"tag":117,"props":605,"children":607},{"className":606},[],[608],{"type":66,"value":609},"GOOGLESHEETS_FORMAT_CELL",{"type":66,"value":611}," to apply bold, italic, font size, and background colors to ranges.",{"type":61,"tag":68,"props":613,"children":614},{},[615,619,620],{"type":61,"tag":77,"props":616,"children":617},{},[618],{"type":66,"value":196},{"type":66,"value":83},{"type":61,"tag":117,"props":621,"children":623},{"className":622},[],[624],{"type":66,"value":609},{"type":61,"tag":68,"props":626,"children":627},{},[628],{"type":61,"tag":77,"props":629,"children":630},{},[631],{"type":66,"value":286},{"type":61,"tag":288,"props":633,"children":634},{},[635,644,670,685,707,728,745],{"type":61,"tag":216,"props":636,"children":637},{},[638,643],{"type":61,"tag":117,"props":639,"children":641},{"className":640},[],[642],{"type":66,"value":299},{"type":66,"value":471},{"type":61,"tag":216,"props":645,"children":646},{},[647,653,655,661,662,668],{"type":61,"tag":117,"props":648,"children":650},{"className":649},[],[651],{"type":66,"value":652},"range",{"type":66,"value":654}," -- Cell range in A1 notation, e.g., ",{"type":61,"tag":117,"props":656,"children":658},{"className":657},[],[659],{"type":66,"value":660},"\"A1:D1\"",{"type":66,"value":320},{"type":61,"tag":117,"props":663,"children":665},{"className":664},[],[666],{"type":66,"value":667},"\"B2:B10\"",{"type":66,"value":669}," (recommended over index-based)",{"type":61,"tag":216,"props":671,"children":672},{},[673,678,680],{"type":61,"tag":117,"props":674,"children":676},{"className":675},[],[677],{"type":66,"value":310},{"type":66,"value":679}," -- Worksheet name, e.g., ",{"type":61,"tag":117,"props":681,"children":683},{"className":682},[],[684],{"type":66,"value":318},{"type":61,"tag":216,"props":686,"children":687},{},[688,694,695,700,702],{"type":61,"tag":117,"props":689,"children":691},{"className":690},[],[692],{"type":66,"value":693},"bold",{"type":66,"value":380},{"type":61,"tag":117,"props":696,"children":698},{"className":697},[],[699],{"type":66,"value":564},{"type":66,"value":701},"\u002F",{"type":61,"tag":117,"props":703,"children":705},{"className":704},[],[706],{"type":66,"value":572},{"type":61,"tag":216,"props":708,"children":709},{},[710,716,717,722,723],{"type":61,"tag":117,"props":711,"children":713},{"className":712},[],[714],{"type":66,"value":715},"italic",{"type":66,"value":380},{"type":61,"tag":117,"props":718,"children":720},{"className":719},[],[721],{"type":66,"value":564},{"type":66,"value":701},{"type":61,"tag":117,"props":724,"children":726},{"className":725},[],[727],{"type":66,"value":572},{"type":61,"tag":216,"props":729,"children":730},{},[731,737,739],{"type":61,"tag":117,"props":732,"children":734},{"className":733},[],[735],{"type":66,"value":736},"fontSize",{"type":66,"value":738}," -- Font size in points, e.g., ",{"type":61,"tag":117,"props":740,"children":742},{"className":741},[],[743],{"type":66,"value":744},"12",{"type":61,"tag":216,"props":746,"children":747},{},[748,754,755,761,762,768],{"type":61,"tag":117,"props":749,"children":751},{"className":750},[],[752],{"type":66,"value":753},"red",{"type":66,"value":320},{"type":61,"tag":117,"props":756,"children":758},{"className":757},[],[759],{"type":66,"value":760},"green",{"type":66,"value":320},{"type":61,"tag":117,"props":763,"children":765},{"className":764},[],[766],{"type":66,"value":767},"blue",{"type":66,"value":769}," -- Background color components (0.0--1.0 float scale, NOT 0--255)",{"type":61,"tag":68,"props":771,"children":772},{},[773],{"type":61,"tag":77,"props":774,"children":775},{},[776],{"type":66,"value":777},"Example (bold header row with blue background):",{"type":61,"tag":406,"props":779,"children":782},{"className":780,"code":781,"language":66},[409],"Tool: GOOGLESHEETS_FORMAT_CELL\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  range: \"A1:D1\"\n  sheet_name: \"Sheet1\"\n  bold: true\n  fontSize: 12\n  red: 0.2\n  green: 0.4\n  blue: 0.9\n",[783],{"type":61,"tag":117,"props":784,"children":785},{"__ignoreMap":414},[786],{"type":66,"value":781},{"type":61,"tag":94,"props":788,"children":789},{},[],{"type":61,"tag":162,"props":791,"children":793},{"id":792},"_5-add-new-worksheet-tabs",[794],{"type":66,"value":795},"5. Add New Worksheet Tabs",{"type":61,"tag":68,"props":797,"children":798},{},[799,800,806],{"type":66,"value":172},{"type":61,"tag":117,"props":801,"children":803},{"className":802},[],[804],{"type":66,"value":805},"GOOGLESHEETS_ADD_SHEET",{"type":66,"value":807}," to create new tabs within an existing spreadsheet.",{"type":61,"tag":68,"props":809,"children":810},{},[811,815,816],{"type":61,"tag":77,"props":812,"children":813},{},[814],{"type":66,"value":196},{"type":66,"value":83},{"type":61,"tag":117,"props":817,"children":819},{"className":818},[],[820],{"type":66,"value":805},{"type":61,"tag":68,"props":822,"children":823},{},[824],{"type":61,"tag":77,"props":825,"children":826},{},[827],{"type":66,"value":286},{"type":61,"tag":288,"props":829,"children":830},{},[831,840,857],{"type":61,"tag":216,"props":832,"children":833},{},[834,839],{"type":61,"tag":117,"props":835,"children":837},{"className":836},[],[838],{"type":66,"value":469},{"type":66,"value":471},{"type":61,"tag":216,"props":841,"children":842},{},[843,849,851],{"type":61,"tag":117,"props":844,"children":846},{"className":845},[],[847],{"type":66,"value":848},"title",{"type":66,"value":850}," -- Name for the new tab, e.g., ",{"type":61,"tag":117,"props":852,"children":854},{"className":853},[],[855],{"type":66,"value":856},"\"Q4 Report\"",{"type":61,"tag":216,"props":858,"children":859},{},[860,866,867,872],{"type":61,"tag":117,"props":861,"children":863},{"className":862},[],[864],{"type":66,"value":865},"forceUnique",{"type":66,"value":380},{"type":61,"tag":117,"props":868,"children":870},{"className":869},[],[871],{"type":66,"value":564},{"type":66,"value":873}," (default) auto-appends suffix if name exists",{"type":61,"tag":68,"props":875,"children":876},{},[877],{"type":61,"tag":77,"props":878,"children":879},{},[880],{"type":66,"value":404},{"type":61,"tag":406,"props":882,"children":885},{"className":883,"code":884,"language":66},[409],"Tool: GOOGLESHEETS_ADD_SHEET\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  title: \"Q4 Report\"\n  forceUnique: true\n",[886],{"type":61,"tag":117,"props":887,"children":888},{"__ignoreMap":414},[889],{"type":66,"value":884},{"type":61,"tag":94,"props":891,"children":892},{},[],{"type":61,"tag":162,"props":894,"children":896},{"id":895},"_6-read-data-and-verify-content",[897],{"type":66,"value":898},"6. Read Data and Verify Content",{"type":61,"tag":68,"props":900,"children":901},{},[902,903,909],{"type":66,"value":172},{"type":61,"tag":117,"props":904,"children":906},{"className":905},[],[907],{"type":66,"value":908},"GOOGLESHEETS_BATCH_GET",{"type":66,"value":910}," to retrieve data from specified cell ranges for validation or further processing.",{"type":61,"tag":68,"props":912,"children":913},{},[914,918,919],{"type":61,"tag":77,"props":915,"children":916},{},[917],{"type":66,"value":196},{"type":66,"value":83},{"type":61,"tag":117,"props":920,"children":922},{"className":921},[],[923],{"type":66,"value":908},{"type":61,"tag":68,"props":925,"children":926},{},[927],{"type":61,"tag":77,"props":928,"children":929},{},[930],{"type":66,"value":210},{"type":61,"tag":212,"props":932,"children":933},{},[934,945,950],{"type":61,"tag":216,"props":935,"children":936},{},[937,938,943],{"type":66,"value":220},{"type":61,"tag":117,"props":939,"children":941},{"className":940},[],[942],{"type":66,"value":908},{"type":66,"value":944}," with the spreadsheet ID and target ranges",{"type":61,"tag":216,"props":946,"children":947},{},[948],{"type":66,"value":949},"Validate headers and data alignment",{"type":61,"tag":216,"props":951,"children":952},{},[953],{"type":66,"value":954},"Use results to inform subsequent write or update operations",{"type":61,"tag":68,"props":956,"children":957},{},[958],{"type":61,"tag":77,"props":959,"children":960},{},[961],{"type":66,"value":962},"Supporting Tools:",{"type":61,"tag":288,"props":964,"children":965},{},[966,977,988],{"type":61,"tag":216,"props":967,"children":968},{},[969,975],{"type":61,"tag":117,"props":970,"children":972},{"className":971},[],[973],{"type":66,"value":974},"GOOGLESHEETS_GET_SHEET_NAMES",{"type":66,"value":976}," -- List all tab names in a spreadsheet",{"type":61,"tag":216,"props":978,"children":979},{},[980,986],{"type":61,"tag":117,"props":981,"children":983},{"className":982},[],[984],{"type":66,"value":985},"GOOGLESHEETS_GET_SPREADSHEET_INFO",{"type":66,"value":987}," -- Get metadata (sheet IDs, properties)",{"type":61,"tag":216,"props":989,"children":990},{},[991,997],{"type":61,"tag":117,"props":992,"children":994},{"className":993},[],[995],{"type":66,"value":996},"GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE",{"type":66,"value":998}," -- Check if a specific tab exists",{"type":61,"tag":94,"props":1000,"children":1001},{},[],{"type":61,"tag":98,"props":1003,"children":1005},{"id":1004},"recommended-execution-plan",[1006],{"type":66,"value":1007},"Recommended Execution Plan",{"type":61,"tag":212,"props":1009,"children":1010},{},[1011,1034,1064,1081,1101,1115,1129],{"type":61,"tag":216,"props":1012,"children":1013},{},[1014,1019,1021,1027,1029],{"type":61,"tag":77,"props":1015,"children":1016},{},[1017],{"type":66,"value":1018},"Create or locate the spreadsheet",{"type":66,"value":1020}," using ",{"type":61,"tag":117,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":66,"value":1026},"GOOGLESHEETS_CREATE_GOOGLE_SHEET1",{"type":66,"value":1028}," or reuse an existing ",{"type":61,"tag":117,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":66,"value":469},{"type":61,"tag":216,"props":1035,"children":1036},{},[1037,1042,1043,1048,1050,1055,1057,1062],{"type":61,"tag":77,"props":1038,"children":1039},{},[1040],{"type":66,"value":1041},"Confirm the destination tab",{"type":66,"value":1020},{"type":61,"tag":117,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":66,"value":974},{"type":66,"value":1049}," or ",{"type":61,"tag":117,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":66,"value":996},{"type":66,"value":1056},"; create it with ",{"type":61,"tag":117,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":66,"value":805},{"type":66,"value":1063}," if missing",{"type":61,"tag":216,"props":1065,"children":1066},{},[1067,1072,1074,1079],{"type":61,"tag":77,"props":1068,"children":1069},{},[1070],{"type":66,"value":1071},"Read existing headers",{"type":66,"value":1073}," (optional) using ",{"type":61,"tag":117,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":66,"value":908},{"type":66,"value":1080}," to align columns",{"type":61,"tag":216,"props":1082,"children":1083},{},[1084,1089,1090,1095,1096],{"type":61,"tag":77,"props":1085,"children":1086},{},[1087],{"type":66,"value":1088},"Write or upsert data",{"type":66,"value":1020},{"type":61,"tag":117,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":66,"value":263},{"type":66,"value":1049},{"type":61,"tag":117,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":66,"value":435},{"type":61,"tag":216,"props":1102,"children":1103},{},[1104,1109,1110],{"type":61,"tag":77,"props":1105,"children":1106},{},[1107],{"type":66,"value":1108},"Apply formatting",{"type":66,"value":1073},{"type":61,"tag":117,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":66,"value":609},{"type":61,"tag":216,"props":1116,"children":1117},{},[1118,1123,1124],{"type":61,"tag":77,"props":1119,"children":1120},{},[1121],{"type":66,"value":1122},"Verify results",{"type":66,"value":1073},{"type":61,"tag":117,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":66,"value":908},{"type":61,"tag":216,"props":1130,"children":1131},{},[1132,1137,1139,1144,1146,1151],{"type":61,"tag":77,"props":1133,"children":1134},{},[1135],{"type":66,"value":1136},"Fallback:",{"type":66,"value":1138}," If Google Sheets creation is blocked (HTTP 403), use ",{"type":61,"tag":117,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":66,"value":178},{"type":66,"value":1145}," for local ",{"type":61,"tag":117,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":66,"value":186},{"type":66,"value":1152}," output",{"type":61,"tag":94,"props":1154,"children":1155},{},[],{"type":61,"tag":98,"props":1157,"children":1159},{"id":1158},"known-pitfalls",[1160],{"type":66,"value":1161},"Known Pitfalls",{"type":61,"tag":1163,"props":1164,"children":1165},"table",{},[1166,1185],{"type":61,"tag":1167,"props":1168,"children":1169},"thead",{},[1170],{"type":61,"tag":1171,"props":1172,"children":1173},"tr",{},[1174,1180],{"type":61,"tag":1175,"props":1176,"children":1177},"th",{},[1178],{"type":66,"value":1179},"Pitfall",{"type":61,"tag":1175,"props":1181,"children":1182},{},[1183],{"type":66,"value":1184},"Detail",{"type":61,"tag":1186,"props":1187,"children":1188},"tbody",{},[1189,1224,1240,1261,1285],{"type":61,"tag":1171,"props":1190,"children":1191},{},[1192,1201],{"type":61,"tag":1193,"props":1194,"children":1195},"td",{},[1196],{"type":61,"tag":77,"props":1197,"children":1198},{},[1199],{"type":66,"value":1200},"HTTP 403 on sheet creation",{"type":61,"tag":1193,"props":1202,"children":1203},{},[1204,1209,1211,1216,1218,1223],{"type":61,"tag":117,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":66,"value":1026},{"type":66,"value":1210}," fails when Drive create scope is missing. Reuse an existing ",{"type":61,"tag":117,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":66,"value":469},{"type":66,"value":1217}," or fall back to ",{"type":61,"tag":117,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":66,"value":178},{"type":66,"value":124},{"type":61,"tag":1171,"props":1225,"children":1226},{},[1227,1235],{"type":61,"tag":1193,"props":1228,"children":1229},{},[1230],{"type":61,"tag":77,"props":1231,"children":1232},{},[1233],{"type":66,"value":1234},"Cell limit and rate throttling",{"type":61,"tag":1193,"props":1236,"children":1237},{},[1238],{"type":66,"value":1239},"Google Sheets has a ~5,000,000 cell limit per spreadsheet. Excessive write frequency triggers HTTP 429. Batch changes and chunk large writes (~500 rows\u002Fcall).",{"type":61,"tag":1171,"props":1241,"children":1242},{},[1243,1251],{"type":61,"tag":1193,"props":1244,"children":1245},{},[1246],{"type":61,"tag":77,"props":1247,"children":1248},{},[1249],{"type":66,"value":1250},"Format range off-by-one",{"type":61,"tag":1193,"props":1252,"children":1253},{},[1254,1259],{"type":61,"tag":117,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":66,"value":609},{"type":66,"value":1260}," uses 0-based, endIndex-exclusive ranges when using index mode. Background color uses 0--1 float RGB, NOT 0--255 integer RGB.",{"type":61,"tag":1171,"props":1262,"children":1263},{},[1264,1272],{"type":61,"tag":1193,"props":1265,"children":1266},{},[1267],{"type":61,"tag":77,"props":1268,"children":1269},{},[1270],{"type":66,"value":1271},"Sheet title uniqueness",{"type":61,"tag":1193,"props":1273,"children":1274},{},[1275,1277,1283],{"type":66,"value":1276},"Sheet titles are not guaranteed unique across API responses. Prefer operating by numeric ",{"type":61,"tag":117,"props":1278,"children":1280},{"className":1279},[],[1281],{"type":66,"value":1282},"sheetId",{"type":66,"value":1284}," and verify the resolved tab before writing.",{"type":61,"tag":1171,"props":1286,"children":1287},{},[1288,1296],{"type":61,"tag":1193,"props":1289,"children":1290},{},[1291],{"type":61,"tag":77,"props":1292,"children":1293},{},[1294],{"type":66,"value":1295},"Upsert payload shape",{"type":61,"tag":1193,"props":1297,"children":1298},{},[1299,1304,1306,1311],{"type":61,"tag":117,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":66,"value":435},{"type":66,"value":1305}," requires headers + 2D rows array. Sending list-of-dicts or empty ",{"type":61,"tag":117,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":66,"value":491},{"type":66,"value":1312}," causes validation errors. Ensure at least 1 data row.",{"type":61,"tag":94,"props":1314,"children":1315},{},[],{"type":61,"tag":98,"props":1317,"children":1319},{"id":1318},"quick-reference",[1320],{"type":66,"value":1321},"Quick Reference",{"type":61,"tag":1163,"props":1323,"children":1324},{},[1325,1341],{"type":61,"tag":1167,"props":1326,"children":1327},{},[1328],{"type":61,"tag":1171,"props":1329,"children":1330},{},[1331,1336],{"type":61,"tag":1175,"props":1332,"children":1333},{},[1334],{"type":66,"value":1335},"Tool Slug",{"type":61,"tag":1175,"props":1337,"children":1338},{},[1339],{"type":66,"value":1340},"Description",{"type":61,"tag":1186,"props":1342,"children":1343},{},[1344,1367,1383,1399,1415,1431,1447,1463,1479,1495],{"type":61,"tag":1171,"props":1345,"children":1346},{},[1347,1355],{"type":61,"tag":1193,"props":1348,"children":1349},{},[1350],{"type":61,"tag":117,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":66,"value":178},{"type":61,"tag":1193,"props":1356,"children":1357},{},[1358,1360,1365],{"type":66,"value":1359},"Create a new ",{"type":61,"tag":117,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":66,"value":186},{"type":66,"value":1366}," workbook and upload to OneDrive",{"type":61,"tag":1171,"props":1368,"children":1369},{},[1370,1378],{"type":61,"tag":1193,"props":1371,"children":1372},{},[1373],{"type":61,"tag":117,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":66,"value":263},{"type":61,"tag":1193,"props":1379,"children":1380},{},[1381],{"type":66,"value":1382},"Write values to a range or append new rows",{"type":61,"tag":1171,"props":1384,"children":1385},{},[1386,1394],{"type":61,"tag":1193,"props":1387,"children":1388},{},[1389],{"type":61,"tag":117,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":66,"value":435},{"type":61,"tag":1193,"props":1395,"children":1396},{},[1397],{"type":66,"value":1398},"Update existing rows by key or append new ones",{"type":61,"tag":1171,"props":1400,"children":1401},{},[1402,1410],{"type":61,"tag":1193,"props":1403,"children":1404},{},[1405],{"type":61,"tag":117,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":66,"value":609},{"type":61,"tag":1193,"props":1411,"children":1412},{},[1413],{"type":66,"value":1414},"Apply text\u002Fbackground formatting to cell ranges",{"type":61,"tag":1171,"props":1416,"children":1417},{},[1418,1426],{"type":61,"tag":1193,"props":1419,"children":1420},{},[1421],{"type":61,"tag":117,"props":1422,"children":1424},{"className":1423},[],[1425],{"type":66,"value":805},{"type":61,"tag":1193,"props":1427,"children":1428},{},[1429],{"type":66,"value":1430},"Add a new worksheet tab to a spreadsheet",{"type":61,"tag":1171,"props":1432,"children":1433},{},[1434,1442],{"type":61,"tag":1193,"props":1435,"children":1436},{},[1437],{"type":61,"tag":117,"props":1438,"children":1440},{"className":1439},[],[1441],{"type":66,"value":1026},{"type":61,"tag":1193,"props":1443,"children":1444},{},[1445],{"type":66,"value":1446},"Create a new Google Spreadsheet in Drive",{"type":61,"tag":1171,"props":1448,"children":1449},{},[1450,1458],{"type":61,"tag":1193,"props":1451,"children":1452},{},[1453],{"type":61,"tag":117,"props":1454,"children":1456},{"className":1455},[],[1457],{"type":66,"value":974},{"type":61,"tag":1193,"props":1459,"children":1460},{},[1461],{"type":66,"value":1462},"List all worksheet names in a spreadsheet",{"type":61,"tag":1171,"props":1464,"children":1465},{},[1466,1474],{"type":61,"tag":1193,"props":1467,"children":1468},{},[1469],{"type":61,"tag":117,"props":1470,"children":1472},{"className":1471},[],[1473],{"type":66,"value":985},{"type":61,"tag":1193,"props":1475,"children":1476},{},[1477],{"type":66,"value":1478},"Retrieve spreadsheet metadata",{"type":61,"tag":1171,"props":1480,"children":1481},{},[1482,1490],{"type":61,"tag":1193,"props":1483,"children":1484},{},[1485],{"type":61,"tag":117,"props":1486,"children":1488},{"className":1487},[],[1489],{"type":66,"value":996},{"type":61,"tag":1193,"props":1491,"children":1492},{},[1493],{"type":66,"value":1494},"Check if a worksheet exists by title",{"type":61,"tag":1171,"props":1496,"children":1497},{},[1498,1506],{"type":61,"tag":1193,"props":1499,"children":1500},{},[1501],{"type":61,"tag":117,"props":1502,"children":1504},{"className":1503},[],[1505],{"type":66,"value":908},{"type":61,"tag":1193,"props":1507,"children":1508},{},[1509],{"type":66,"value":1510},"Read data from specified cell ranges",{"type":61,"tag":94,"props":1512,"children":1513},{},[],{"type":61,"tag":68,"props":1515,"children":1516},{},[1517],{"type":61,"tag":1518,"props":1519,"children":1520},"em",{},[1521,1523],{"type":66,"value":1522},"Powered by ",{"type":61,"tag":85,"props":1524,"children":1527},{"href":1525,"rel":1526},"https:\u002F\u002Fcomposio.dev",[89],[1528],{"type":66,"value":10},{"items":1530,"total":1615},[1531,1546,1562,1571,1581,1593,1602],{"slug":1532,"name":1533,"fn":1534,"description":1535,"org":1536,"tags":1537,"stars":27,"repoUrl":28,"updatedAt":1545},"21risk-automation","-21risk-automation","automate 21risk compliance and safety tasks","Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1538,1539,1540,1542],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},"MCP",{"name":1543,"slug":1544,"type":17},"Risk Assessment","risk-assessment","2026-07-15T05:54:18.790529",{"slug":1547,"name":1548,"fn":1549,"description":1550,"org":1551,"tags":1552,"stars":27,"repoUrl":28,"updatedAt":1561},"2chat-automation","-2chat-automation","automate 2chat messaging tasks","Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1553,1554,1557,1558],{"name":22,"slug":23,"type":17},{"name":1555,"slug":1556,"type":17},"Communications","communications",{"name":1541,"slug":42,"type":17},{"name":1559,"slug":1560,"type":17},"Messaging","messaging","2026-07-15T05:51:27.190332",{"slug":1563,"name":1563,"fn":1564,"description":1565,"org":1566,"tags":1567,"stars":27,"repoUrl":28,"updatedAt":1570},"ably-automation","automate Ably tasks with Composio","Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1568,1569],{"name":22,"slug":23,"type":17},{"name":1541,"slug":42,"type":17},"2026-07-12T08:09:55.453088",{"slug":1572,"name":1572,"fn":1573,"description":1574,"org":1575,"tags":1576,"stars":27,"repoUrl":28,"updatedAt":1580},"abstract-automation","automate Abstract tasks via Composio","Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1577,1578,1579],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},"2026-07-15T05:45:16.470309",{"slug":1582,"name":1582,"fn":1583,"description":1584,"org":1585,"tags":1586,"stars":27,"repoUrl":28,"updatedAt":1592},"abuselpdb-automation","automate Abuselpdb tasks via Composio","Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1587,1588,1589],{"name":22,"slug":23,"type":17},{"name":1541,"slug":42,"type":17},{"name":1590,"slug":1591,"type":17},"Security","security","2026-07-15T05:56:20.013366",{"slug":1594,"name":1594,"fn":1595,"description":1596,"org":1597,"tags":1598,"stars":27,"repoUrl":28,"updatedAt":1601},"abyssale-automation","automate Abyssale tasks via Composio","Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1599,1600],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},"2026-07-15T05:54:50.762889",{"slug":1603,"name":1603,"fn":1604,"description":1605,"org":1606,"tags":1607,"stars":27,"repoUrl":28,"updatedAt":1614},"accelo-automation","automate Accelo tasks via Composio","Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1608,1609,1610,1613],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1611,"slug":1612,"type":17},"CRM","crm",{"name":1541,"slug":42,"type":17},"2026-07-15T05:48:43.429136",860,{"items":1617,"total":1721},[1618,1625,1632,1637,1643,1649,1654,1661,1675,1688,1701,1711],{"slug":1532,"name":1533,"fn":1534,"description":1535,"org":1619,"tags":1620,"stars":27,"repoUrl":28,"updatedAt":1545},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1621,1622,1623,1624],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},{"name":1543,"slug":1544,"type":17},{"slug":1547,"name":1548,"fn":1549,"description":1550,"org":1626,"tags":1627,"stars":27,"repoUrl":28,"updatedAt":1561},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1628,1629,1630,1631],{"name":22,"slug":23,"type":17},{"name":1555,"slug":1556,"type":17},{"name":1541,"slug":42,"type":17},{"name":1559,"slug":1560,"type":17},{"slug":1563,"name":1563,"fn":1564,"description":1565,"org":1633,"tags":1634,"stars":27,"repoUrl":28,"updatedAt":1570},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1635,1636],{"name":22,"slug":23,"type":17},{"name":1541,"slug":42,"type":17},{"slug":1572,"name":1572,"fn":1573,"description":1574,"org":1638,"tags":1639,"stars":27,"repoUrl":28,"updatedAt":1580},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1640,1641,1642],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},{"slug":1582,"name":1582,"fn":1583,"description":1584,"org":1644,"tags":1645,"stars":27,"repoUrl":28,"updatedAt":1592},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1646,1647,1648],{"name":22,"slug":23,"type":17},{"name":1541,"slug":42,"type":17},{"name":1590,"slug":1591,"type":17},{"slug":1594,"name":1594,"fn":1595,"description":1596,"org":1650,"tags":1651,"stars":27,"repoUrl":28,"updatedAt":1601},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1652,1653],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"slug":1603,"name":1603,"fn":1604,"description":1605,"org":1655,"tags":1656,"stars":27,"repoUrl":28,"updatedAt":1614},{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1657,1658,1659,1660],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1611,"slug":1612,"type":17},{"name":1541,"slug":42,"type":17},{"slug":1662,"name":1662,"fn":1663,"description":1664,"org":1665,"tags":1666,"stars":27,"repoUrl":28,"updatedAt":1674},"accredible-certificates-automation","automate Accredible certificate management","Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1667,1668,1671],{"name":22,"slug":23,"type":17},{"name":1669,"slug":1670,"type":17},"Documents","documents",{"name":1672,"slug":1673,"type":17},"E-Signature","e-signature","2026-07-15T05:55:33.159639",{"slug":1676,"name":1676,"fn":1677,"description":1678,"org":1679,"tags":1680,"stars":27,"repoUrl":28,"updatedAt":1687},"acculynx-automation","automate Acculynx construction management tasks","Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1681,1682,1683,1684],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},{"name":1685,"slug":1686,"type":17},"Operations","operations","2026-07-15T05:58:48.059284",{"slug":1689,"name":1689,"fn":1690,"description":1691,"org":1692,"tags":1693,"stars":27,"repoUrl":28,"updatedAt":1700},"active-campaign-automation","automate ActiveCampaign marketing and CRM tasks","Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1694,1695,1696,1697],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1611,"slug":1612,"type":17},{"name":1698,"slug":1699,"type":17},"Email Marketing","email-marketing","2026-07-15T05:49:44.281711",{"slug":1702,"name":1702,"fn":1703,"description":1704,"org":1705,"tags":1706,"stars":27,"repoUrl":28,"updatedAt":1710},"addresszen-automation","automate Addresszen address validation","Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1707,1708,1709],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},"2026-07-15T05:47:51.742515",{"slug":1712,"name":1712,"fn":1713,"description":1714,"org":1715,"tags":1716,"stars":27,"repoUrl":28,"updatedAt":1720},"adobe-automation","automate Adobe tasks via Composio","Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[1717,1718,1719],{"name":22,"slug":23,"type":17},{"name":10,"slug":9,"type":17},{"name":1541,"slug":42,"type":17},"2026-07-15T05:45:05.303254",863]