GAIA Logo
PricingDocs
GAIA Logo
  1. Home
  2. Marketplace
  3. Productivity
googlesheets Icon

Google Sheets

Create, read, and update spreadsheets

Category
Productivity
GAIA
Created by
GAIA Team
Auth
OAuth

What you can do with GAIA + Google Sheets

GAIA connects to Google Sheets via MCP (Model Context Protocol) and exposes every action as a natural-language command. Tell GAIA what you want and it handles the rest, automatically.

  • Add rows to a Google Sheet by describing the data — GAIA finds the right sheet and inserts it
  • Query spreadsheet data with plain English — 'what's the total revenue in column D for March?'
  • Create new spreadsheets with pre-filled data from a short description
  • Update or overwrite cell ranges without touching a formula
  • Trigger workflows when new rows are added to a tracking sheet

Available Tools (50)

Googlesheets Add Sheet

Adds a new sheet (worksheet) to an existing spreadsheet. REQUIRES spreadsheetId parameter to identify which spreadsheet to modify. Use this tool to create a new tab within an existing Google Sheet, optionally specifying its title, index, size, and other properties. REQUIRED PARAMETER: - spreadsheetId: MUST be provided to identify the target spreadsheet. Use 'Search Spreadsheets' action if you need to find it by name IMPORTANT: - Sheet names must be unique within the spreadsheet - For tab colors, use EITHER rgbColor OR themeColor, never both - Index must be less than or equal to the current number of sheets - CONCURRENCY WARNING: Do not use 'index' when creating multiple sheets in parallel - this causes 'index is too high' errors. For parallel creation, omit the index field and let sheets be added at the end Common use cases: - Add a new sheet with a specific name - Insert a sheet at a specific position - Create a sheet with custom colors and formatting

Googlesheets Aggregate Column Data

Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.

Googlesheets Append Dimension

Tool to append new rows or columns to a sheet, increasing its size. Use when you need to add empty rows or columns to an existing sheet.

Googlesheets Batch Get

Retrieves data from specified cell ranges in a Google Spreadsheet.

Googlesheets Batch Update

Updates a specified range in a Google Sheet with given values, or appends them as new rows if `first_cell_location` is omitted. Auto-expands grid for large datasets, preventing range errors. Requirements: Target sheet must exist and spreadsheet must contain at least one worksheet.

Googlesheets Batch Update Values By Data Filter

Tool to update values in ranges matching data filters. Use when you need to update specific data in a Google Sheet based on criteria rather than fixed cell ranges.

Googlesheets Clear Basic Filter

Tool to clear the basic filter from a sheet. Use when you need to remove an existing basic filter from a specific sheet within a Google Spreadsheet.

Googlesheets Clear Values

Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet; the range must correspond to an existing sheet and cells.

Googlesheets Create Chart

Create a chart in a Google Sheets spreadsheet using the specified data range and chart type. Conditional requirements: - Provide either a simple chart via chart_type + data_range (basicChart), OR supply a full chart_spec supporting all chart types. Exactly one approach should be used. - When using chart_spec, set exactly one of the union fields (basicChart | pieChart | bubbleChart | candlestickChart | histogramChart | waterfallChart | treemapChart | orgChart | scorecardChart).

Googlesheets Create Google Sheet1

Creates a new Google Spreadsheet in Google Drive. If a title is provided, the spreadsheet will be created with that name. If no title is provided, Google will create a spreadsheet with a default name like 'Untitled spreadsheet'.

Googlesheets Create Spreadsheet Column

Creates a new column in a Google Spreadsheet. Specify the target sheet using sheet_id (numeric) or sheet_name (text). If neither is provided, defaults to the first sheet (sheet_id=0).

Googlesheets Create Spreadsheet Row

Inserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.

Googlesheets Delete Dimension

Tool to delete specified rows or columns from a sheet in a Google Spreadsheet. Use when you need to remove a range of rows or columns.

Googlesheets Delete Sheet

Tool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.

Googlesheets Execute Sql

Execute SQL queries against Google Sheets tables. Supports SELECT, INSERT, UPDATE, and DELETE operations with familiar SQL syntax. Tables are automatically detected and mapped from the spreadsheet structure.

Googlesheets Find Replace

Tool to find and replace text in a Google Spreadsheet. Use when you need to fix formula errors, update values, or perform bulk text replacements across cells. Common use cases: - Fix #ERROR! cells by replacing with empty string or correct formula - Update old values with new ones across multiple cells - Fix formula references or patterns - Clean up data formatting issues

Googlesheets Find Worksheet By Title

Finds a worksheet by its exact, case-sensitive title within a Google Spreadsheet; returns a boolean indicating if found and the matched worksheet's metadata when found, or None when not found.

Googlesheets Format Cell

Applies text and background cell formatting to a specified range in a Google Sheets worksheet.

Googlesheets Get Conditional Format Rules

List conditional formatting rules for each sheet (or a selected sheet) in a normalized, easy-to-edit form. Use when you need to view, audit, or prepare to modify conditional format rules.

Googlesheets Get Data Validation Rules

Tool to extract data validation rules from a Google Sheets spreadsheet. Use when you need to understand dropdown lists, allowed values, custom formulas, or other validation constraints for cells.

Googlesheets Get Sheet Names

Lists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.

Googlesheets Get Spreadsheet By Data Filter

Returns the spreadsheet at the given ID, filtered by the specified data filters. Use this tool when you need to retrieve specific subsets of data from a Google Sheet based on criteria like A1 notation, developer metadata, or grid ranges. Important: This action is designed for filtered data retrieval. While it accepts empty filters and returns full metadata in that case, GOOGLESHEETS_GET_SPREADSHEET_INFO is the recommended action for unfiltered spreadsheet retrieval.

Googlesheets Get Spreadsheet Info

Retrieves comprehensive metadata for a Google Spreadsheet using its ID, excluding cell data.

Googlesheets Get Table Schema

This action is used to get the schema of a table in a Google Spreadsheet, call this action to get the schema of a table in a spreadsheet BEFORE YOU QUERY THE TABLE. Analyze table structure and infer column names, types, and constraints. Uses statistical analysis of sample data to determine the most likely data type for each column. Call this action after calling the LIST_TABLES action to get the schema of a table in a spreadsheet.

Googlesheets Insert Dimension

Tool to insert new rows or columns into a sheet at a specified location. Use when you need to add empty rows or columns within an existing Google Sheet.

Googlesheets List Tables

This action is used to list all tables in a Google Spreadsheet, call this action to get the list of tables in a spreadsheet. Discover all tables in a Google Spreadsheet by analyzing sheet structure and detecting data patterns. Uses heuristic analysis to find header rows, data boundaries, and table structures.

Googlesheets Lookup Spreadsheet Row

Finds the first row in a Google Spreadsheet where a cell's entire content exactly matches the query string, searching within a specified A1 notation range or the first sheet by default.

Googlesheets Mutate Conditional Format Rules

Add, update, delete, or reorder conditional format rules on a Google Sheet. Use when you need to create, modify, or remove conditional formatting without manually building batchUpdate requests. Supports four operations: ADD (create new rule), UPDATE (replace existing rule), DELETE (remove rule), MOVE (reorder rules by changing index).

Googlesheets Query Table

This action is used to query a table in a Google Spreadsheet, call this action to query a table in a spreadsheet. Execute SQL-like SELECT queries against spreadsheet tables. Supports WHERE conditions, ORDER BY, LIMIT clauses. Call this action after calling the GET_TABLE_SCHEMA action to query a table in a spreadsheet.

Googlesheets Search Developer Metadata

Tool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.

Googlesheets Search Spreadsheets

Search for Google Spreadsheets using various filters including name, content, date ranges, and more.

Googlesheets Set Basic Filter

Tool to set a basic filter on a sheet in a Google Spreadsheet. Use when you need to filter or sort data within a specific range on a sheet.

Googlesheets Set Data Validation Rule

Tool to set or clear data validation rules (including dropdowns) on a range in Google Sheets. Use when you need to apply dropdown lists, range-based dropdowns, or custom formula validation to cells.

Googlesheets Sheet From Json

Creates a new Google Spreadsheet and populates its first worksheet from `sheet_json`. When data is provided, the first item's keys establish the headers. An empty list creates an empty worksheet.

Googlesheets Spreadsheets Sheets Copy To

Tool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.

Googlesheets Spreadsheets Values Append

Tool to append values to a spreadsheet. Use when you need to add new data to the end of an existing table in a Google Sheet.

Googlesheets Spreadsheets Values Batch Clear

Tool to clear one or more ranges of values from a spreadsheet. Use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.

Googlesheets Spreadsheets Values Batch Clear By Data Filter

Clears one or more ranges of values from a spreadsheet using data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

Googlesheets Spreadsheets Values Batch Get By Data Filter

Tool to return one or more ranges of values from a spreadsheet that match the specified data filters. Use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges.

Googlesheets Update Sheet Properties

Tool to update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. Use this when you need to modify the metadata or appearance of a specific sheet.

Googlesheets Update Spreadsheet Properties

Tool to update properties of a spreadsheet, such as its title, locale, or auto-recalculation settings. Use when you need to modify the overall configuration of a Google Sheet.

Googlesheets Upsert Rows

Upsert rows - update existing rows by key, append new ones. Automatically handles column mapping and partial updates. Use for: CRM syncs (match Lead ID), transaction imports (match Transaction ID), inventory updates (match SKU), calendar syncs (match Event ID). Features: - Auto-adds missing columns to sheet - Partial column updates (only update Phone + Status, preserve other columns) - Column order doesn't matter (auto-maps by header name) - Prevents duplicates by matching key column Example inputs: - Contact update: keyColumn='Email', headers=['Email','Phone','Status'], data=[['john@ex.com','555-0101','Active']] - Inventory sync: keyColumn='SKU', headers=['SKU','Stock','Price'], data=[['WIDGET-001',50,9.99],['GADGET-002',30,19.99]] - CRM lead update: keyColumn='Lead ID', headers=['Lead ID','Score','Status'], data=[['L-12345',85,'Hot']] - Partial update: keyColumn='Email', headers=['Email','Phone'] (only updates Phone, preserves Name/Address/etc)

Googlesheets Values Get

Returns a range of values from a spreadsheet. Use when you need to read data from specific cells or ranges in a Google Sheet.

Googlesheets Values Update

Tool to set values in a range of a Google Spreadsheet. Use when you need to update or overwrite existing cell values in a specific range.

Googlesheets Custom Share Spreadsheet

Share a Google Spreadsheet with one or more recipients in a single operation. Use this tool when the user wants to: - Share a spreadsheet with multiple people at once - Collaborate on a spreadsheet with colleagues - Grant different access levels (reader, writer, commenter) - Share with a team or group of people Parameters: - spreadsheet_id (str): The unique identifier of the spreadsheet to share - recipients (list): List of recipients, each containing: - email (str): Email address of the person to share with - role (str): Permission level - "reader", "writer", or "commenter" (default: "writer") - send_notification (bool): Whether to send email notification (default: True) Returns: - spreadsheet_id: Unique identifier of the shared spreadsheet - url: Direct link to the spreadsheet - shared: List of successfully shared recipients with permission IDs - errors: List of any failed shares with error details - total_shared: Count of successful shares - total_failed: Count of failed shares Example usage: - "Share my budget spreadsheet with john@example.com and jane@example.com as writers" - "Give read access to this spreadsheet to the finance team" - "Share the data with alice@company.com as reader and bob@company.com as commenter"

Googlesheets Custom Create Pivot Table

Create a pivot table from spreadsheet data with a simplified interface. Use this tool when the user wants to: - Summarize large datasets with groupings - Create cross-tabulation reports - Calculate aggregates (sum, count, average) by category - Build dynamic reports from raw data Parameters: - spreadsheet_id (str): ID of the spreadsheet - source_sheet_name (str): Name of the sheet containing source data - source_range (str, optional): Range within source sheet (e.g., 'A1:E100'). Omit for entire sheet. - destination_sheet_name (str): Sheet where pivot table will be placed - destination_cell (str): Cell where pivot starts (default: 'A1') - rows (list): Column header names to use as row groupings - columns (list): Column header names for column groupings (optional) - values (list): Value fields with aggregation, each containing: - column (str): Column header name to aggregate - aggregation (str): Function - "SUM", "COUNT", "AVERAGE", "MAX", "MIN", "COUNTA" - name (str, optional): Custom display name Returns: - spreadsheet_id: Spreadsheet identifier - url: Direct link to the spreadsheet - pivot_sheet: Sheet containing the pivot table - source_range: Source data range used Example usage: - "Create a pivot table showing total sales by region and product category" - "Summarize the expenses data by department with monthly columns" - "Make a pivot table from Sheet1 data grouped by Status showing count of items"

Googlesheets Custom Set Data Validation

Add data validation rules to cells, including dropdown lists. Use this tool when the user wants to: - Create dropdown menus in cells - Restrict input to specific values - Validate numbers within a range - Enforce date constraints - Apply custom formula validation Parameters: - spreadsheet_id (str): ID of the spreadsheet - sheet_name (str): Name of the sheet - range (str): Range to apply validation (e.g., 'A2:A100') - validation_type (str): Type of validation: - "dropdown_list": Fixed list of allowed values - "dropdown_range": Dropdown from another range - "number": Number within min/max range - "date": Date within min/max range - "custom_formula": Custom formula validation - values (list): Allowed values for dropdown_list type - source_range (str): Source range for dropdown_range (e.g., 'Sheet2!A:A') - min_value, max_value: Bounds for number/date validation - formula (str): Custom formula for custom_formula type - show_dropdown (bool): Show dropdown arrow (default: True) - input_message (str): Help message when cell selected - strict (bool): Reject invalid input (default: True) Returns: - spreadsheet_id: Spreadsheet identifier - url: Direct link to the spreadsheet - range_applied: Range where validation was set - validation_type: Type of validation applied Example usage: - "Add a dropdown with options High, Medium, Low to column B" - "Make column A only accept numbers between 1 and 100" - "Create a dropdown in D2:D50 that uses values from the Categories sheet"

Googlesheets Custom Add Conditional Format

Apply conditional formatting rules to highlight cells based on values. Use this tool when the user wants to: - Highlight cells above/below thresholds - Apply color gradients to data ranges - Format cells containing specific text - Use custom formulas for conditional styling - Visually differentiate data patterns Parameters: - spreadsheet_id (str): ID of the spreadsheet - sheet_name (str): Name of the sheet - range (str): Range to format (e.g., 'B2:B100') - format_type (str): Type of formatting: - "value_based": Format based on cell value conditions - "color_scale": Gradient coloring (min to max) - "custom_formula": Formula-based formatting - condition (str): For value_based - "greater_than", "less_than", "equal_to", "not_equal_to", "contains", "not_contains", "between", "is_empty", "is_not_empty" - condition_values (list): Values for comparison - background_color (str): Background color in hex (e.g., '#FF0000') - text_color (str): Text color in hex - bold (bool): Make text bold - italic (bool): Make text italic - min_color, mid_color, max_color (str): Colors for color_scale gradient - formula (str): Custom formula for custom_formula type Returns: - spreadsheet_id: Spreadsheet identifier - url: Direct link to the spreadsheet - range_applied: Range where formatting was set - rule_index: Index of the created rule Example usage: - "Highlight cells in column C red if value is greater than 100" - "Apply a green-yellow-red color scale to the Sales column" - "Make cells bold if they contain the word 'Urgent'" - "Format rows where status is 'Complete' with green background"

Googlesheets Custom Create Chart

Create a chart from spreadsheet data with visual customization. Use this tool when the user wants to: - Visualize data as charts or graphs - Create bar, line, pie, or other chart types - Add charts to their spreadsheet - Build data dashboards Parameters: - spreadsheet_id (str): ID of the spreadsheet - sheet_name (str): Name of sheet with source data - data_range (str): Range containing chart data (e.g., 'A1:B10') - chart_type (str): Type of chart - "BAR", "LINE", "PIE", "COLUMN", "AREA", "SCATTER", "COMBO" - title (str, optional): Chart title - x_axis_title (str, optional): X axis label - y_axis_title (str, optional): Y axis label - destination_sheet_name (str, optional): Sheet for chart (defaults to source) - anchor_cell (str): Cell for chart position (default: 'E1') - width (int): Chart width in pixels (default: 600) - height (int): Chart height in pixels (default: 400) - legend_position (str): Legend position - "BOTTOM_LEGEND", "LEFT_LEGEND", "RIGHT_LEGEND", "TOP_LEGEND", "NO_LEGEND" Returns: - spreadsheet_id: Spreadsheet identifier - url: Direct link to the spreadsheet - chart_id: ID of the created chart - chart_type: Type of chart created Example usage: - "Create a bar chart from the sales data in A1:B12" - "Make a pie chart showing expense distribution" - "Add a line chart with title 'Monthly Revenue' from the data" - "Create a column chart comparing Q1 vs Q2 sales"

Googlesheets Custom Gather Context

Get Google Sheets context snapshot: recently viewed/modified spreadsheets. Zero required parameters. Returns user's recently accessed spreadsheets.

How it works

Set up your Google Sheets automation in three simple steps, no code required.

  1. 1

    Connect Google Sheets to GAIA

    Open the GAIA Marketplace, find Google Sheets, and click "Add to your GAIA". Authorise via Google OAuth in under two minutes.

  2. 2

    Ask GAIA to read or write your spreadsheets

    Say "add a new lead to my CRM sheet with name John, email john@acme.com, source LinkedIn" or "what's the sum of column B in the sales tracker?". GAIA handles the rest.

  3. 3

    GAIA keeps your sheets up to date automatically

    Connect Sheets to other integrations — GAIA can log incoming emails, completed tasks, or new form submissions directly into a spreadsheet row, 24/7.

Frequently asked questions

Everything you need to know about the GAIA Google Sheets integration.

Yes. When you name the sheet or describe its purpose, GAIA identifies the right spreadsheet and the correct tab, then inserts data in the appropriate columns.



GAIA connects Google Sheets with your entire stack

Google Sheets is just one piece of the puzzle. GAIA integrates with 50+ tools across productivity, communication, productivity, and more, letting you build cross-tool automations in plain English without writing a single line of code.

Browse all integrations
Product
DownloadUse CasesMarketplaceBotsPricingRoadmap
Resources
DocumentationBlogRelease NotesStatusRequest a Feature
Company
AboutManifestoContactBranding
Legal
Terms of UsePrivacy Policy
The Experience Company Inc.
Discord IconTwitter IconGithub IconWhatsapp IconYoutube IconLinkedin Icon