googlesheets-automation by composiohq/awesome-claude-skills
npx skills add https://github.com/composiohq/awesome-claude-skills --skill googlesheets-automation通过 Composio 的 Google Sheets 工具包,自动化 Google Sheets 工作流程,包括读取/写入数据、管理电子表格和工作表、格式化单元格、筛选行以及更新或插入记录。
工具包文档 : composio.dev/toolkits/googlesheets
RUBE_SEARCH_TOOLS 可用)RUBE_MANAGE_CONNECTIONS 建立活跃的 Google Sheets 连接,并指定工具包 googlesheetsRUBE_SEARCH_TOOLS 以获取当前工具模式获取 Rube MCP : 在您的客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加端点即可工作。
RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
googlesheets 调用 RUBE_MANAGE_CONNECTIONS使用场景 : 用户希望从 Google Sheet 读取数据或向其中写入数据
工具调用顺序 :
GOOGLESHEETS_SEARCH_SPREADSHEETS - 如果 ID 未知,则按名称查找电子表格 [前提]GOOGLESHEETS_GET_SHEET_NAMES - 枚举工作表名称以定位正确的工作表 [前提]GOOGLESHEETS_BATCH_GET - 从一个或多个范围读取数据 [必需]GOOGLESHEETS_BATCH_UPDATE - 将数据写入一个范围或追加行 [必需]GOOGLESHEETS_VALUES_UPDATE - 更新单个特定范围 [替代方案]GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND - 将行追加到表格末尾 [替代方案]关键参数 :
spreadsheet_id: 电子表格 URL 中的字母数字 ID(位于 '/d/' 和 '/edit' 之间)ranges: A1 表示法的数组(例如,'Sheet1!A1:Z1000');始终使用有界范围sheet_name: 工作表名称(支持不区分大小写匹配)values: 二维数组,其中每个内部数组代表一行first_cell_location: 起始单元格的 A1 表示法(省略则追加)valueInputOption: 'USER_ENTERED'(已解析)或 'RAW'(字面量)常见陷阱 :
valueRanges[i].values;将缺失项视为空数组GOOGLESHEETS_BATCH_UPDATE 的 values 必须是二维数组(列表的列表),即使只有一行tableRange;使用返回的 updatedRange 来验证放置位置使用场景 : 用户希望创建新的电子表格或管理其中的工作表
工具调用顺序 :
GOOGLESHEETS_CREATE_GOOGLE_SHEET1 - 创建新的电子表格 [必需]GOOGLESHEETS_ADD_SHEET - 添加新的工作表/选项卡 [必需]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - 重命名、隐藏、重新排序或为工作表选项卡着色 [可选]GOOGLESHEETS_GET_SPREADSHEET_INFO - 获取完整的电子表格元数据 [可选]GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE - 检查特定工作表是否存在 [可选]关键参数 :
title: 电子表格或工作表选项卡名称spreadsheetId: 目标电子表格 IDforceUnique: 如果工作表名称已存在则自动追加后缀(默认为 true)properties.gridProperties: 设置行/列数、冻结行常见陷阱 :
index(会导致 'index too high' 错误)GOOGLESHEETS_GET_SPREADSHEET_INFO 可能返回 403使用场景 : 用户希望查找特定行或对工作表数据应用筛选器
工具调用顺序 :
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW - 查找第一个与单元格值完全匹配的行 [必需]GOOGLESHEETS_SET_BASIC_FILTER - 对范围应用筛选/排序 [替代方案]GOOGLESHEETS_CLEAR_BASIC_FILTER - 移除现有筛选器 [可选]GOOGLESHEETS_BATCH_GET - 读取筛选结果 [可选]关键参数 :
query: 要匹配的精确文本值(匹配整个单元格内容)range: 要搜索的 A1 表示法范围case_sensitive: 布尔值,用于区分大小写匹配(默认为 false)filter.range: 带有 sheet_id 的基本筛选器网格范围filter.criteria: 基于列的筛选条件filter.sortSpecs: 排序规范常见陷阱 :
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW 匹配整个单元格内容,而非子字符串使用场景 : 用户希望基于唯一键列更新现有行或插入新行
工具调用顺序 :
GOOGLESHEETS_UPSERT_ROWS - 更新匹配的行或追加新行 [必需]关键参数 :
spreadsheetId: 目标电子表格 IDsheetName: 工作表名称keyColumn: 用作唯一标识符的列标题名称(例如,'Email'、'SKU')headers: 数据的列名列表rows: 数据行的二维数组strictMode: 列数不匹配时报错(默认为 true)常见陷阱 :
keyColumn 必须是实际的标题名称,而不是列字母(例如,是 'Email' 而不是 'A')headers,则 rows 的第一行将被视为标题strictMode=true 时,值数量超过标题数量的行会导致错误使用场景 : 用户希望对单元格应用格式(加粗、颜色、字体大小)
工具调用顺序 :
GOOGLESHEETS_GET_SPREADSHEET_INFO - 获取目标工作表的数字 sheetId [前提]GOOGLESHEETS_FORMAT_CELL - 对范围应用格式 [必需]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - 更改冻结行、列宽 [可选]关键参数 :
spreadsheet_id: 电子表格 IDworksheet_id: 数字 sheetId(非工作表名称);从 GET_SPREADSHEET_INFO 获取range: A1 表示法(例如,'A1:F1')- 优先于索引字段bold, italic, underline, strikethrough: 布尔格式选项red, green, blue: 背景颜色,为 0.0-1.0 的浮点数(非 0-255 整数)fontSize: 字体大小(以磅为单位)常见陷阱 :
worksheet_id,而非工作表标题;从电子表格元数据中获取query 参数调用 GOOGLESHEETS_SEARCH_SPREADSHEETSGOOGLESHEETS_GET_SPREADSHEET_INFO,从 sheets 元数据中提取GOOGLESHEETS_FIND_WORKSHEET_BY_TITLEGoogle Sheets 强制执行严格的速率限制:
GOOGLESHEETS_BATCH_GET 和 GOOGLESHEETS_BATCH_UPDATE 以提高效率GOOGLESHEETS_UPSERT_ROWSfirst_cell_location)对于添加新记录最安全GOOGLESHEETS_CLEAR_VALUES 清除内容同时保留格式FORMAT_CELL 需要数字 sheetId,而非工作表标题GOOGLESHEETS_DELETE_DIMENSION 不可逆;仔细检查边界| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 搜索电子表格 | GOOGLESHEETS_SEARCH_SPREADSHEETS | query, search_type |
| 创建电子表格 | GOOGLESHEETS_CREATE_GOOGLE_SHEET1 | title |
| 列出工作表 | GOOGLESHEETS_GET_SHEET_NAMES | spreadsheet_id |
| 添加工作表 | GOOGLESHEETS_ADD_SHEET | spreadsheetId, title |
| 读取数据 | GOOGLESHEETS_BATCH_GET | spreadsheet_id, ranges |
| 读取单个范围 | GOOGLESHEETS_VALUES_GET | spreadsheet_id, range |
| 写入数据 | GOOGLESHEETS_BATCH_UPDATE | spreadsheet_id, sheet_name, values |
| 更新范围 | GOOGLESHEETS_VALUES_UPDATE | spreadsheet_id, range, values |
| 追加行 | GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND | spreadsheetId, range, values |
| 更新或插入行 | GOOGLESHEETS_UPSERT_ROWS | spreadsheetId, sheetName, keyColumn, rows |
| 查找行 | GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW | spreadsheet_id, query |
| 格式化单元格 | GOOGLESHEETS_FORMAT_CELL | spreadsheet_id, worksheet_id, range |
| 设置筛选器 | GOOGLESHEETS_SET_BASIC_FILTER | spreadsheetId, filter |
| 清除值 | GOOGLESHEETS_CLEAR_VALUES | spreadsheet_id, range |
| 删除行/列 | GOOGLESHEETS_DELETE_DIMENSION | spreadsheet_id, sheet_name, dimension |
| 电子表格信息 | GOOGLESHEETS_GET_SPREADSHEET_INFO | spreadsheet_id |
| 更新工作表属性 | GOOGLESHEETS_UPDATE_SHEET_PROPERTIES | spreadsheetId, properties |
由 Composio 提供支持
每周安装数
132
代码仓库
GitHub 星标数
43.1K
首次出现
2026年2月6日
安全审计
安装于
opencode100
claude-code96
gemini-cli90
codex83
antigravity65
replit63
Automate Google Sheets workflows including reading/writing data, managing spreadsheets and tabs, formatting cells, filtering rows, and upserting records through Composio's Google Sheets toolkit.
Toolkit docs : composio.dev/toolkits/googlesheets
RUBE_MANAGE_CONNECTIONS with toolkit googlesheetsRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP : Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googlesheetsWhen to use : User wants to read data from or write data to a Google Sheet
Tool sequence :
GOOGLESHEETS_SEARCH_SPREADSHEETS - Find spreadsheet by name if ID unknown [Prerequisite]GOOGLESHEETS_GET_SHEET_NAMES - Enumerate tab names to target the right sheet [Prerequisite]GOOGLESHEETS_BATCH_GET - Read data from one or more ranges [Required]GOOGLESHEETS_BATCH_UPDATE - Write data to a range or append rows [Required]GOOGLESHEETS_VALUES_UPDATE - Update a single specific range [Alternative]GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND - Append rows to end of table [Alternative]Key parameters :
spreadsheet_id: Alphanumeric ID from the spreadsheet URL (between '/d/' and '/edit')ranges: A1 notation array (e.g., 'Sheet1!A1:Z1000'); always use bounded rangessheet_name: Tab name (case-insensitive matching supported)values: 2D array where each inner array is a rowfirst_cell_location: Starting cell in A1 notation (omit to append)valueInputOption: 'USER_ENTERED' (parsed) or 'RAW' (literal)Pitfalls :
valueRanges[i].values; treat missing as empty arrayGOOGLESHEETS_BATCH_UPDATE values must be a 2D array (list of lists), even for a single rowtableRange; use returned updatedRange to verify placementWhen to use : User wants to create a new spreadsheet or manage tabs within one
Tool sequence :
GOOGLESHEETS_CREATE_GOOGLE_SHEET1 - Create a new spreadsheet [Required]GOOGLESHEETS_ADD_SHEET - Add a new tab/worksheet [Required]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - Rename, hide, reorder, or color tabs [Optional]GOOGLESHEETS_GET_SPREADSHEET_INFO - Get full spreadsheet metadata [Optional]GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE - Check if a specific tab exists [Optional]Key parameters :
title: Spreadsheet or sheet tab namespreadsheetId: Target spreadsheet IDforceUnique: Auto-append suffix if tab name exists (default true)properties.gridProperties: Set row/column counts, frozen rowsPitfalls :
index when creating multiple sheets in parallel (causes 'index too high' errors)GOOGLESHEETS_GET_SPREADSHEET_INFO can return 403 if account lacks accessWhen to use : User wants to find specific rows or apply filters to sheet data
Tool sequence :
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW - Find first row matching exact cell value [Required]GOOGLESHEETS_SET_BASIC_FILTER - Apply filter/sort to a range [Alternative]GOOGLESHEETS_CLEAR_BASIC_FILTER - Remove existing filter [Optional]GOOGLESHEETS_BATCH_GET - Read filtered results [Optional]Key parameters :
query: Exact text value to match (matches entire cell content)range: A1 notation range to search withincase_sensitive: Boolean for case-sensitive matching (default false)filter.range: Grid range with sheet_id for basic filterfilter.criteria: Column-based filter conditionsfilter.sortSpecs: Sort specificationsPitfalls :
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW matches entire cell content, not substringsWhen to use : User wants to update existing rows or insert new ones based on a unique key column
Tool sequence :
GOOGLESHEETS_UPSERT_ROWS - Update matching rows or append new ones [Required]Key parameters :
spreadsheetId: Target spreadsheet IDsheetName: Tab namekeyColumn: Column header name used as unique identifier (e.g., 'Email', 'SKU')headers: List of column names for the datarows: 2D array of data rowsstrictMode: Error on mismatched column counts (default true)Pitfalls :
keyColumn must be an actual header name, NOT a column letter (e.g., 'Email' not 'A')headers is NOT provided, first row of rows is treated as headersstrictMode=true, rows with more values than headers cause an errorWhen to use : User wants to apply formatting (bold, colors, font size) to cells
Tool sequence :
GOOGLESHEETS_GET_SPREADSHEET_INFO - Get numeric sheetId for target tab [Prerequisite]GOOGLESHEETS_FORMAT_CELL - Apply formatting to a range [Required]GOOGLESHEETS_UPDATE_SHEET_PROPERTIES - Change frozen rows, column widths [Optional]Key parameters :
spreadsheet_id: Spreadsheet IDworksheet_id: Numeric sheetId (NOT tab name); get from GET_SPREADSHEET_INFOrange: A1 notation (e.g., 'A1:F1') - preferred over index fieldsbold, italic, underline, strikethrough: Boolean formatting optionsred, green, blue: Background color as 0.0-1.0 floats (NOT 0-255 ints)Pitfalls :
worksheet_id, not tab title; get from spreadsheet metadataGOOGLESHEETS_SEARCH_SPREADSHEETS with queryGOOGLESHEETS_GET_SPREADSHEET_INFO, extract from sheets metadataGOOGLESHEETS_FIND_WORKSHEET_BY_TITLEGoogle Sheets enforces strict rate limits:
GOOGLESHEETS_BATCH_GET and GOOGLESHEETS_BATCH_UPDATE for efficiencyGOOGLESHEETS_UPSERT_ROWS for CRM syncs, inventory updates, and dedup scenariosfirst_cell_location) is safest for adding new recordsGOOGLESHEETS_CLEAR_VALUES to clear content while preserving formattingFORMAT_CELL needs numeric sheetId, not tab titleGOOGLESHEETS_DELETE_DIMENSION is irreversible; double-check bounds| Task | Tool Slug | Key Params |
|---|---|---|
| Search spreadsheets | GOOGLESHEETS_SEARCH_SPREADSHEETS | query, search_type |
| Create spreadsheet | GOOGLESHEETS_CREATE_GOOGLE_SHEET1 | title |
| List tabs | GOOGLESHEETS_GET_SHEET_NAMES | spreadsheet_id |
Powered byComposio
Weekly Installs
132
Repository
GitHub Stars
43.1K
First Seen
Feb 6, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
opencode100
claude-code96
gemini-cli90
codex83
antigravity65
replit63
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
43,100 周安装
fontSize| Add tab | GOOGLESHEETS_ADD_SHEET | spreadsheetId, title |
| Read data | GOOGLESHEETS_BATCH_GET | spreadsheet_id, ranges |
| Read single range | GOOGLESHEETS_VALUES_GET | spreadsheet_id, range |
| Write data | GOOGLESHEETS_BATCH_UPDATE | spreadsheet_id, sheet_name, values |
| Update range | GOOGLESHEETS_VALUES_UPDATE | spreadsheet_id, range, values |
| Append rows | GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND | spreadsheetId, range, values |
| Upsert rows | GOOGLESHEETS_UPSERT_ROWS | spreadsheetId, sheetName, keyColumn, rows |
| Lookup row | GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW | spreadsheet_id, query |
| Format cells | GOOGLESHEETS_FORMAT_CELL | spreadsheet_id, worksheet_id, range |
| Set filter | GOOGLESHEETS_SET_BASIC_FILTER | spreadsheetId, filter |
| Clear values | GOOGLESHEETS_CLEAR_VALUES | spreadsheet_id, range |
| Delete rows/cols | GOOGLESHEETS_DELETE_DIMENSION | spreadsheet_id, sheet_name, dimension |
| Spreadsheet info | GOOGLESHEETS_GET_SPREADSHEET_INFO | spreadsheet_id |
| Update tab props | GOOGLESHEETS_UPDATE_SHEET_PROPERTIES | spreadsheetId, properties |