googlesheets-automation
Lets your agent automate tasks in Google Sheets. It can read, write, format, and manage data and tabs in your spreadsheets.
What it does
This tool lets you control your Google Sheets. You can read data, write new data, organize tabs, change cell appearance, and search for specific information.
When to use it
- ✓When you need to extract data from a spreadsheet for analysis.
- ✓When you want to add or update information in an existing spreadsheet.
- ✓When you need to find rows based on a specific value.
Example of what to ask your AI
“Find all rows in the 'Monthly Report' sheet that contain the text 'Product X' in the 'Product Name' column.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool connects to your Google Sheets account and uses specific commands to perform the actions you request. It first checks if the connection is active and then executes read, write, or formatting operations.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill googlesheets-automationOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/googlesheets-automation/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Google Sheets Automation via Rube MCP
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.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Google Sheets connection via
RUBE_MANAGE_CONNECTIONSwith toolkitgooglesheets - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get 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.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitgooglesheets - If connection is not ACTIVE, follow the returned auth link to complete Google OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Read and Write Data
When 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:
- Mis-cased or non-existent tab names error "Sheet 'X' not found"
- Empty ranges may omit
valueRanges[i].values; treat missing as empty array GOOGLESHEETS_BATCH_UPDATEvalues must be a 2D array (list of lists), even for a single row- Unbounded ranges like 'A:Z' on sheets with >10,000 rows may cause timeouts; always bound with row limits
- Append follows the detected
tableRange; use returnedupdatedRangeto verify placement
2. Create and Manage Spreadsheets
When 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 rows
Pitfalls:
- Sheet names must be unique within a spreadsheet
- Default sheet names are locale-dependent ('Sheet1' in English, 'Hoja 1' in Spanish)
- Don't use
indexwhen creating multiple sheets in parallel (causes 'index too high' errors) GOOGLESHEETS_GET_SPREADSHEET_INFOcan return 403 if account lacks access
3. Search and Filter Rows
When 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 specifications
Pitfalls:
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROWmatches entire cell content, not substrings
…
FAQ
Do I need a Google account?
Yes, you need a Google account and must authorize access for the tool to interact with your spreadsheets.
Can I create a new spreadsheet from scratch?
Yes, you can create new spreadsheets and also add or rename tabs within them.
How does the tool know which spreadsheet to use?
You can provide the spreadsheet ID or its name. The tool can also search for spreadsheets by name if you don't know the ID.
Details
Original description by the author
Automate Google Sheets operations (read, write, format, filter, manage spreadsheets) via Rube MCP (Composio). Read/write data, manage tabs, apply formatting, and search rows programmatically.
Popularity
- GitHub stars
- 48k
- Ranking position
- #3162
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark
Helps your agent measure code speed and performance. It's useful for ensuring things are fast and finding slowness issues.
affaan-m/ECC
content-hash-cache-pattern
Lets your agent use content hashes to cache file processing results. This avoids repeated processing and auto-invalidates the cache when content changes. Useful for speeding up slow tasks.
affaan-m/ECC
parallel-execution-optimizer
Makes your agent speed up complex tasks by breaking them into smaller parts and running them in parallel. It ensures everything is verified at the end.
affaan-m/ECC