Google Sheets
Overview
Section titled “Overview”Google Sheets is a cloud-based spreadsheet tool enabling real-time collaboration, data analysis, and integration with other Google Workspace apps. With the integration in SquadOS, your agents can create and edit spreadsheets, read and write data, format cells, manage tabs, create charts, and automate complete data workflows — all programmatically.
- Official website: https://sheets.google.com/
- Composio documentation: docs.composio.dev/toolkits/googlesheets
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You need to authorize access to your Google account. The OAuth flow is managed by Composio — no manual credentials are required.
| Field | Required | Description |
|---|---|---|
| Google Account | Yes | OAuth 2.0 authorization for Google Sheets access. |
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Google Sheets. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access (OAuth) to your Google account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available for agents. (Connection-flow details in Organization Tools.)
How do I set up custom Google OAuth credentials for Google Sheets?
Section titled “How do I set up custom Google OAuth credentials for Google Sheets?”See the step-by-step guide at How to create OAuth2 credentials for Google Apps.
Why am I seeing “App is blocked” when connecting Google Sheets?
Section titled “Why am I seeing “App is blocked” when connecting Google Sheets?”The OAuth client is requesting scopes that Google hasn’t verified for that client. Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification. See How to create OAuth2 credentials for Google Apps.
Why am I getting “Google Sheets API has not been used in project” error?
Section titled “Why am I getting “Google Sheets API has not been used in project” error?”When using custom OAuth credentials, the Google Sheets API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.
Why am I getting “Error 400: invalid_scope”?
Section titled “Why am I getting “Error 400: invalid_scope”?”The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the Google OAuth scopes docs.
Why does the OAuth consent screen show “Composio” instead of my app?
Section titled “Why does the OAuth consent screen show “Composio” instead of my app?”By default, the consent screen uses Composio’s OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL. See White-labeling authentication.
Why am I getting 401 errors on tool calls?
Section titled “Why am I getting 401 errors on tool calls?”The user’s access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google’s refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.
Why am I getting “Quota Exhausted” or “rate limit exhausted”?
Section titled “Why am I getting “Quota Exhausted” or “rate limit exhausted”?”Google enforces per-minute and daily request quotas. If you’re using Composio’s default OAuth app, you share that quota with other users, which can cause limits to be hit faster. Use your own OAuth app credentials to get a dedicated quota, and add exponential backoff and retries to handle transient rate limits.
Available actions
Section titled “Available actions”Add Sheet to Existing Spreadsheet
Section titled “Add Sheet to Existing Spreadsheet”GOOGLESHEETS_ADD_SHEET
Adds a new sheet to a spreadsheet. Supports three sheet types: GRID, OBJECT, and DATA_SOURCE. GRID (default) is a standard spreadsheet with rows/columns; OBJECT contains a chart (requires objectSheetConfig with chartSpec); DATA_SOURCE connects to BigQuery (requires dataSourceConfig and bigquery.readonly OAuth scope). Sheet names must be unique; use force_unique=true to auto-append suffix if the name already exists.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | The name for the new sheet tab. Must be unique within the spreadsheet. Alias: sheet_name. |
properties | object | No | Advanced sheet properties (grid dimensions, tab color, position, etc.). |
force_unique | boolean | No | When True (default), automatically ensures the sheet name is unique by appending a numeric suffix (e.g., _2, _3) if the name already exists. |
spreadsheet_id | string | Yes | The ID of the target spreadsheet. This is the long alphanumeric string in the Google Sheets URL. |
data_source_config | object | No | Configuration for creating a DATA_SOURCE sheet connected to BigQuery. Requires additional OAuth scope: bigquery.readonly. |
object_sheet_config | object | No | Configuration for creating an OBJECT sheet (a sheet containing a chart). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Aggregate Column Data
Section titled “Aggregate Column Data”GOOGLESHEETS_AGGREGATE_COLUMN_DATA
Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
operation | string (“sum” | “average” | “count” | “min” | “max” | “percentage”) | Yes | The mathematical operation to perform on the target column values. |
sheet_name | string | Yes | The name of the specific sheet within the spreadsheet. Matching is case-insensitive. |
search_value | string | No | The exact value to search for in the search column. If not provided, all rows in the target column will be aggregated. |
search_column | string | No | The column to search in for filtering rows. Can be a letter (e.g., ‘A’) or column name from header row. |
target_column | string | Yes | The column to aggregate data from. Can be a letter (e.g., ‘C’) or column name from header row. |
case_sensitive | boolean | No | Whether the search should be case-sensitive. |
has_header_row | boolean | No | Whether the first row contains column headers. |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet. |
percentage_total | number | No | For percentage operation, the total value to calculate percentage against. If not provided, uses sum of all values. |
additional_filters | array | No | Extra column=value conditions applied with AND logic. Example: [{"column": "Region", "value": "APAC"}]. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Append Dimension
Section titled “Append Dimension”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
length | integer | Yes | The number of rows or columns to append. |
sheet_id | integer | Yes | The numeric ID of the sheet (not the sheet name). Found in the URL as the ‘gid’ parameter. |
dimension | string (“ROWS” | “COLUMNS”) | Yes | Specifies whether to append rows or columns. |
spreadsheet_id | string | Yes | The ID of the spreadsheet. |
response_ranges | array | No | Limits the ranges of the spreadsheet to include in the response. |
response_include_grid_data | boolean | No | True if grid data should be included in the response. |
include_spreadsheet_in_response | boolean | No | True if the updated spreadsheet should be included in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Auto-Resize Rows or Columns
Section titled “Auto-Resize Rows or Columns”GOOGLESHEETS_AUTO_RESIZE_DIMENSIONS
Auto-fit column widths or row heights for a dimension range. Use when you need to automatically adjust row heights or column widths to fit content after writing data.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | The numeric ID of the sheet to resize. Either sheet_id or sheet_name must be provided. |
dimension | string (“ROWS” | “COLUMNS”) | Yes | The dimension to auto-resize. |
end_index | integer | Yes | The zero-based end index (exclusive) of the dimension range to resize. |
sheet_name | string | No | The name of the sheet to resize. If both are provided, sheet_name takes precedence. |
start_index | integer | Yes | The zero-based start index (inclusive) of the dimension range to resize. |
spreadsheet_id | string | Yes | The ID of the spreadsheet. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Clear Values By Data Filter
Section titled “Batch Clear Values By Data Filter”GOOGLESHEETS_BATCH_CLEAR_VALUES_BY_DATA_FILTER
Clears one or more ranges of values from a spreadsheet using data filters. Only values are cleared — all other properties of the cell (such as formatting, data validation, etc.) are kept.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
dataFilters | array | Yes | The DataFilters used to determine which ranges to clear. |
spreadsheetId | string | Yes | The ID of the spreadsheet to update. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch get spreadsheet
Section titled “Batch get spreadsheet”GOOGLESHEETS_BATCH_GET
Retrieves data from specified cell ranges in a Google Spreadsheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ranges | array | No | A list of cell ranges in A1 notation from which to retrieve data. If omitted, all data from the first sheet is fetched. |
majorDimension | string (“DIMENSION_UNSPECIFIED” | “ROWS” | “COLUMNS”) | No | The major dimension for organizing data in results. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. Accepts a spreadsheet ID or a full Google Sheets URL. |
valueRenderOption | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How values should be rendered in the output. |
dateTimeRenderOption | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | How dates and times should be rendered in the output. |
empty_strings_filtered | boolean | No | Indicates whether empty strings were filtered from the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch update spreadsheet (Deprecated)
Section titled “Batch update spreadsheet (Deprecated)”GOOGLESHEETS_BATCH_UPDATE
DEPRECATED: Use GOOGLESHEETS_VALUES_UPDATE instead. Write values to ONE range in a Google Sheet, or append as new rows if no start cell is given. To update MULTIPLE ranges, make SEPARATE CALLS for each range.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
values | array | Yes | A 2D array of cell values where each inner array represents a row. |
sheet_name | string | Yes | The name of the specific sheet (tab) within the spreadsheet to update. |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet. |
value_input_option | string (“RAW” | “USER_ENTERED”) | No | How input data should be interpreted. |
first_cell_location | string | No | The starting cell for the update range in A1 notation without sheet prefix (e.g., ‘A1’, ‘B5’). If omitted, values are appended as new rows. |
include_values_in_response | boolean | No | If True, the response will include the updated values. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Update Values by Data Filter
Section titled “Batch Update Values by Data Filter”GOOGLESHEETS_BATCH_UPDATE_VALUES_BY_DATA_FILTER
Tool to update values in ranges matching data filters. Use when you need to update specific data based on criteria rather than fixed cell ranges.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
data | array | Yes | The new values to apply to the spreadsheet. Can be provided as a JSON string or a list of DataFilterValueRange objects. |
spreadsheetId | string | Yes | The ID of the spreadsheet to update. |
valueInputOption | string (“INPUT_VALUE_OPTION_UNSPECIFIED” | “RAW” | “USER_ENTERED”) | Yes | How the input data should be interpreted. |
includeValuesInResponse | boolean | No | Whether the update response should include the values of the cells that were updated. |
responseValueRenderOption | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How values in the response should be rendered. |
responseDateTimeRenderOption | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | How dates and times in the response should be rendered. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Clear Basic Filter
Section titled “Clear Basic Filter”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | Yes | The ID of the sheet on which the basic filter should be cleared. |
spreadsheet_id | string | Yes | The ID of the spreadsheet. |
response_ranges | array | No | Limits the ranges included in the response spreadsheet. |
response_include_grid_data | boolean | No | True if grid data should be returned in the response. |
include_spreadsheet_in_response | boolean | No | Determines if the update response should include the spreadsheet resource. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Clear spreadsheet values
Section titled “Clear spreadsheet values”GOOGLESHEETS_CLEAR_VALUES
Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | string | Yes | The A1 notation of the range to clear values from (e.g., ‘Sheet1!A1:B2’, ‘A1:D5’). |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Chart in Google Sheets
Section titled “Create Chart in Google Sheets”GOOGLESHEETS_CREATE_CHART
Create a chart in a Google Sheets spreadsheet using the specified data range and chart type. Use chart_type + data_range for a simple chart, or supply a full chart_spec for all chart types.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | Optional title for the chart. |
sheet_id | integer | Yes | The numeric sheetId of the worksheet where the chart will be created. Use ‘Get Spreadsheet Info’ to retrieve valid sheetIds. |
subtitle | string | No | Optional subtitle for the chart. |
chart_spec | object | No | Optional full ChartSpec object to support all chart types and advanced options. |
chart_type | string (“BAR” | “LINE” | “AREA” | “COLUMN” | “SCATTER” | “COMBO” | “STEPPED_AREA” | “PIE” | “HISTOGRAM” | “BUBBLE” | “CANDLESTICK” | “TREEMAP” | “WATERFALL” | “ORG” | “SCORECARD”) | Yes | Type of chart to create. |
data_range | string | Yes | A single contiguous range of data for the chart in A1 notation (e.g., ‘A1:C10’). |
x_axis_title | string | No | Optional title for the X-axis. |
y_axis_title | string | No | Optional title for the Y-axis. |
background_red | number | No | Red component of chart background color (0.0–1.0). |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet where the chart will be created. |
background_blue | number | No | Blue component of chart background color (0.0–1.0). |
legend_position | string | No | Position of the chart legend. Options: BOTTOM_LEGEND, TOP_LEGEND, LEFT_LEGEND, RIGHT_LEGEND, NO_LEGEND. |
background_green | number | No | Green component of chart background color (0.0–1.0). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create a Google Sheet
Section titled “Create a Google Sheet”GOOGLESHEETS_CREATE_GOOGLE_SHEET1
Creates a new Google Spreadsheet in Google Drive. Optionally create it in a specific folder by providing folder_id or folder_name.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | The title for the new Google Sheet. If omitted, Google creates a spreadsheet with a default name. |
folder_id | string | No | Google Drive folder ID where the spreadsheet should be created. Takes precedence over folder_name. |
folder_name | string | No | Google Drive folder name. If multiple folders match, you’ll receive a list to choose from. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create spreadsheet column
Section titled “Create spreadsheet column”GOOGLESHEETS_CREATE_SPREADSHEET_COLUMN
Creates a new column in a Google Spreadsheet. Specify the target sheet using sheet_id (numeric) or sheet_name (text).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | The numeric identifier of the sheet. Defaults to 0 (first sheet) if neither is provided. |
sheet_name | string | No | The name of the sheet where the column will be added. If both are provided, sheet_id takes precedence. |
insert_index | integer | No | The 0-based index at which the new column will be inserted. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
response_ranges | array | No | Limits the ranges of the spreadsheet to include in the response. |
inherit_from_before | boolean | No | If true, the new column inherits properties from the column immediately to its left. |
response_include_grid_data | boolean | No | If true, grid data will be included in the response. |
include_spreadsheet_in_response | boolean | No | If true, the updated spreadsheet will be included in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create spreadsheet row
Section titled “Create spreadsheet row”GOOGLESHEETS_CREATE_SPREADSHEET_ROW
Inserts a new, empty row into a specified sheet at a given index, optionally inheriting formatting from the row above.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | The numeric identifier of the sheet. Either sheet_id or sheet_name must be provided. |
sheet_name | string | No | The name of the sheet. If both are provided, sheet_id takes precedence. |
insert_index | integer | No | The 0-based index at which the new row should be inserted. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
response_ranges | array | No | Limits the ranges included in the response. Use A1 notation. |
inherit_from_before | boolean | No | If True, the newly inserted row will inherit formatting from the preceding row. |
response_include_grid_data | boolean | No | If True, grid data will be included in the response. |
include_spreadsheet_in_response | boolean | No | If True, the response will include the full updated Spreadsheet resource. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Chart from Google Sheets
Section titled “Delete Chart from Google Sheets”GOOGLESHEETS_DELETE_CHART
Delete an existing chart from a Google Sheets spreadsheet. This action is irreversible — once a chart is deleted, it cannot be recovered. The chart data source (the cells containing the data) remains unchanged; only the chart visualization is removed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
chart_id | integer | Yes | The unique numeric identifier of the chart to delete (also known as objectId or chartId). |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet containing the chart to delete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Dimension (Rows/Columns)
Section titled “Delete Dimension (Rows/Columns)”GOOGLESHEETS_DELETE_DIMENSION
Tool to delete specified rows or columns from a sheet in a Google Spreadsheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | The unique numeric ID of the sheet. Use GOOGLESHEETS_GET_SPREADSHEET_INFO to find the sheet ID. |
dimension | string (“ROWS” | “COLUMNS”) | No | The dimension to delete (ROWS or COLUMNS). |
end_index | integer | No | The zero-based end index (exclusive) of the range to delete. |
sheet_name | string | No | The name/title of the sheet. Either sheet_id or sheet_name must be provided. |
start_index | integer | No | The zero-based start index (inclusive) of the range to delete. |
spreadsheet_id | string | Yes | The ID of the spreadsheet. |
response_ranges | array | No | Limits the ranges of cells included in the response spreadsheet. |
delete_dimension_request | object | No | The details for the delete dimension request object. |
response_include_grid_data | boolean | No | True if grid data should be returned. |
include_spreadsheet_in_response | boolean | No | Determines if the update response should include the spreadsheet resource. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Sheet
Section titled “Delete Sheet”GOOGLESHEETS_DELETE_SHEET
Tool to delete a sheet (worksheet) from a spreadsheet. A spreadsheet must contain at least one sheet, so you cannot delete the last remaining sheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheetId | integer | Yes | The ID of the sheet to delete. A spreadsheet must contain at least one sheet. |
spreadsheetId | string | Yes | The ID of the spreadsheet from which to delete the sheet. |
responseRanges | array | No | Limits which ranges are returned when includeSpreadsheetInResponse is true. |
responseIncludeGridData | boolean | No | True if grid data should be returned in the response spreadsheet. |
includeSpreadsheetInResponse | boolean | No | Determines if the spreadsheet resource should be returned in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Execute SQL on Spreadsheet
Section titled “Execute SQL on Spreadsheet”GOOGLESHEETS_EXECUTE_SQL
DEPRECATED: Use direct Google Sheets actions instead. Execute SQL queries against Google Sheets tables. Supports SELECT, INSERT, UPDATE, DELETE operations and WITH clauses (CTEs).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | Complete SQL query to execute. Must begin with SELECT, INSERT, UPDATE, DELETE, or WITH. |
dry_run | boolean | No | Preview changes without applying them (for write operations). |
delete_method | string (“clear” | “remove_rows”) | No | For DELETE operations: ‘clear’ preserves row structure, ‘remove_rows’ shifts data up. |
spreadsheet_id | string | Yes | The unique alphanumeric ID of the Google Spreadsheet extracted from the URL. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Find and Replace in Spreadsheet
Section titled “Find and Replace in Spreadsheet”GOOGLESHEETS_FIND_REPLACE
Tool to find and replace text in a Google Spreadsheet. Common use cases: fix #ERROR! cells, update old values with new ones, fix formula references, clean up data formatting.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
find | string | Yes | The text to find. Can be a literal string or a regular expression pattern. |
range | string | No | A1 notation range string to search within. Mutually exclusive with sheetId and allSheets. |
replace | string | Yes | The text to replace the found instances with. |
sheetId | integer | No | The numeric ID of the sheet to search the entire sheet. Mutually exclusive with sheetName, range, and allSheets. |
allSheets | boolean | No | Whether to search across all sheets in the spreadsheet. |
matchCase | boolean | No | Whether the search should be case-sensitive. |
sheetName | string | No | The name/title of the sheet to search within. |
endRowIndex | integer | No | The end row (0-indexed, exclusive) of the range. Only used when rangeSheetId is provided. |
rangeSheetId | integer | No | The numeric sheet ID for a GridRange-based search. Required when using the ‘range’ parameter with A1 notation. |
searchByRegex | boolean | No | Whether to treat the find text as a regular expression. |
spreadsheetId | string | Yes | The ID of the spreadsheet to update. |
startRowIndex | integer | No | The start row (0-indexed, inclusive) of the range. |
endColumnIndex | integer | No | The end column (0-indexed, exclusive) of the range. Column A = 0. |
includeFormulas | boolean | No | Whether to include cells with formulas in the search. |
matchEntireCell | boolean | No | Whether to match only cells that contain the entire search term. |
startColumnIndex | integer | No | The start column (0-indexed, inclusive) of the range. Column A = 0. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Find worksheet by title (Deprecated)
Section titled “Find worksheet by title (Deprecated)”GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE
DEPRECATED: Use GetSpreadsheetInfo instead. Finds a worksheet by its exact, case-sensitive title within a Google Spreadsheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet from the URL. |
worksheet_title | string | Yes | The exact, case-sensitive title of the worksheet (tab name) to find. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Format cell
Section titled “Format cell”GOOGLESHEETS_FORMAT_CELL
Applies text and background cell formatting to a specified range in a Google Sheets worksheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
red | number | No | Red component of the background color (0.0–1.0). |
blue | number | No | Blue component of the background color (0.0–1.0). |
bold | boolean | No | Apply bold formatting. |
green | number | No | Green component of the background color (0.0–1.0). |
range | string | No | OPTION 1: Cell range in A1 notation (recommended). Provide either this field OR all four index fields below, not both. |
italic | boolean | No | Apply italic formatting. |
fontSize | integer | No | Font size in points. |
underline | boolean | No | Apply underline formatting. |
sheet_name | string | No | The worksheet name/title (e.g., ‘Sheet1’). Provide either this field OR worksheet_id, not both. |
worksheet_id | integer | No | The worksheet identifier. Defaults to 0 (first sheet). |
end_row_index | integer | No | OPTION 2: 0-based index of the row AFTER the last row (exclusive). |
strikethrough | boolean | No | Apply strikethrough formatting. |
wrap_strategy | string (“OVERFLOW_CELL” | “LEGACY_WRAP” | “CLIP” | “WRAP”) | No | How text wraps within cells. |
spreadsheet_id | string | Yes | Identifier of the Google Sheets spreadsheet. |
start_row_index | integer | No | OPTION 2: 0-based row index (row 1 = index 0). |
end_column_index | integer | No | OPTION 2: 0-based index of the column AFTER the last column (exclusive). |
start_column_index | integer | No | OPTION 2: 0-based column index (A = 0, B = 1, F = 5). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Get Spreadsheet Values (Deprecated)
Section titled “Batch Get Spreadsheet Values (Deprecated)”GOOGLESHEETS_GET_BATCH_VALUES
DEPRECATED: Use GOOGLESHEETS_BATCH_GET instead. Tool to return one or more ranges of values from a spreadsheet in a single request.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ranges | array | Yes | The A1 notation or R1C1 notation of the ranges to retrieve values from. |
spreadsheet_id | string | Yes | The ID of the spreadsheet to retrieve data from. |
major_dimension | string (“DIMENSION_UNSPECIFIED” | “ROWS” | “COLUMNS”) | No | The major dimension for results. |
value_render_option | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How values should be rendered in the output. |
date_time_render_option | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | How dates, times, and durations should be represented in the output. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get conditional format rules
Section titled “Get conditional format rules”GOOGLESHEETS_GET_CONDITIONAL_FORMAT_RULES
List conditional formatting rules for each sheet (or a selected sheet) in a normalized, easy-to-edit form.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | Optional filter: return rules only for the sheet with this exact numeric sheetId. |
sheet_title | string | No | Optional filter: return rules only for the sheet with this exact title. |
spreadsheet_id | string | Yes | Unique identifier of the Google Spreadsheet. |
exclude_tables_in_banded_ranges | boolean | No | True if tables should be excluded in the banded ranges. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Data Validation Rules
Section titled “Get Data Validation 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ranges | array | No | Optional list of A1 ranges to scan. If omitted, the entire sheet(s) will be scanned. |
sheetId | integer | No | Optional sheet ID to filter by. If omitted, all sheets will be scanned. |
sheetTitle | string | No | Optional sheet title to filter by. |
includeEmpty | boolean | No | If true, include cells without validation rules in the output. Default is false. |
spreadsheetId | string | Yes | The ID of the spreadsheet to request. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get sheet names
Section titled “Get sheet names”GOOGLESHEETS_GET_SHEET_NAMES
Lists all worksheet names from a specified Google Spreadsheet, useful for discovering sheets before further operations.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
exclude_hidden | boolean | No | When True, hidden sheets will be excluded from the results. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Spreadsheet by Data Filter
Section titled “Get Spreadsheet by Data Filter”GOOGLESHEETS_GET_SPREADSHEET_BY_DATA_FILTER
Returns the spreadsheet at the given ID, filtered by the specified data filters. Use to retrieve specific subsets of data based on criteria like A1 notation, developer metadata, or grid ranges.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
dataFilters | array | No | The DataFilters used to select which ranges to retrieve. If empty, returns full spreadsheet metadata. |
spreadsheetId | string | Yes | The ID of the spreadsheet to request. |
includeGridData | boolean | No | True if grid data should be returned. |
excludeTablesInBandedRanges | boolean | No | True if tables should be excluded in the banded ranges. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get spreadsheet info
Section titled “Get spreadsheet info”GOOGLESHEETS_GET_SPREADSHEET_INFO
Retrieves metadata for a Google Spreadsheet using its ID. By default, returns essential information (ID, title, sheet properties). Use the fields parameter for comprehensive metadata or specific fields.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
fields | string | No | Optional field mask specifying which fields to return. Use ’*’ for full metadata. |
ranges | array | No | Optional ranges to retrieve from the spreadsheet in A1 notation. |
spreadsheet_id | string | No | Required. The Google Sheets spreadsheet ID or full URL. The ID is extracted automatically from URLs. |
include_grid_data | boolean | No | Optional. If true, grid data will be returned. |
exclude_tables_in_banded_ranges | boolean | No | Optional. If true, tables within banded ranges will be omitted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Table Schema
Section titled “Get Table Schema”GOOGLESHEETS_GET_TABLE_SCHEMA
DEPRECATED: Use GOOGLESHEETS_GET_SHEET_NAMES and GOOGLESHEETS_GET_SPREADSHEET_INFO instead. Get the schema of a table in a Google Spreadsheet, analyzing structure and inferring column names, types, and constraints.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_name | string | No | Sheet/tab name if table_name is ambiguous across multiple sheets. |
table_name | string | Yes | Table name from LIST_TABLES response OR the visible Google Sheets tab name. Use ‘auto’ to analyze the largest table. |
sample_size | integer | No | Number of rows to sample for type inference. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Dimension in Google Sheet
Section titled “Insert Dimension in Google Sheet”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
spreadsheet_id | string | Yes | The ID of the spreadsheet to update. |
response_ranges | array | No | Limits the ranges of the spreadsheet to include in the response. |
insert_dimension | object | Yes | The details for the insert dimension request. |
response_include_grid_data | boolean | No | True if grid data should be included in the response. |
include_spreadsheet_in_response | boolean | No | True if the updated spreadsheet should be included in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Charts in Google Sheets
Section titled “List Charts in Google Sheets”GOOGLESHEETS_LIST_CHARTS
Lists all charts in a Google Sheets spreadsheet across all sheets, returning chart_id, sheet metadata, chart type, title, and position.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
chart_id | integer | No | Optional. Filter to a specific chart by its numeric chart ID. |
sheet_id | integer | No | Optional. Filter results to a single sheet’s charts by numeric sheet ID. |
include_spec | boolean | No | When true, include the full ChartSpec dictionary for each chart. Default: false. |
spreadsheet_id | string | Yes | Required. The Google Sheets spreadsheet ID or full URL. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Tables in Spreadsheet
Section titled “List Tables in Spreadsheet”GOOGLESHEETS_LIST_TABLES
DEPRECATED: Use GOOGLESHEETS_GET_SHEET_NAMES for tab discovery and GOOGLESHEETS_GET_SPREADSHEET_INFO for full sheet metadata. Discovers tables in a Google Spreadsheet by analyzing sheet structure and detecting data patterns.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
min_rows | integer | No | Minimum number of data rows to consider a valid table. |
min_columns | integer | No | Minimum number of columns to consider a valid table. |
min_confidence | number | No | Minimum confidence score (0.0–1.0) to consider a valid table. |
spreadsheet_id | string | Yes | The actual Google Spreadsheet ID (not a placeholder or spreadsheet name). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Look up spreadsheet row
Section titled “Look up spreadsheet row”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Exact text value to find; matches the entire content of a cell in a row. |
range | string | No | A1 notation range to search within. Sheet names with spaces must be single-quoted. |
case_sensitive | boolean | No | If True, the query string search is case-sensitive. |
spreadsheet_id | string | Yes | Identifier of the Google Spreadsheet to search. |
value_render_option | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How cell values are rendered in the returned row data. |
normalize_whitespace | boolean | No | If True, strips leading and trailing whitespace from cell values before matching. |
date_time_render_option | string | No | How dates and times are represented. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Move or Resize Chart in Google Sheets
Section titled “Move or Resize Chart in Google Sheets”GOOGLESHEETS_MOVE_CHART
Move or resize an existing chart on a Google Sheets spreadsheet. Supports three positioning modes: moving to a new sheet, moving to an existing sheet, or repositioning via pixel-perfect overlay coordinates.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
chart_id | integer | Yes | The unique numeric identifier of the chart to move. |
new_sheet | boolean | No | Set to true to move the chart to a brand-new sheet. Mutually exclusive with target_sheet_id and anchor_sheet_id. |
width_pixels | integer | No | Width of the chart in pixels. Only valid when anchor_sheet_id is provided. |
height_pixels | integer | No | Height of the chart in pixels. Only valid when anchor_sheet_id is provided. |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet containing the chart to move. |
anchor_sheet_id | integer | No | The numeric sheetId of the sheet to anchor the chart onto when repositioning via overlay coordinates. |
offset_x_pixels | integer | No | Horizontal pixel offset from the anchor cell. |
offset_y_pixels | integer | No | Vertical pixel offset from the anchor cell. |
target_sheet_id | integer | No | The numeric sheetId of an existing sheet to move the chart to. |
anchor_row_index | integer | No | The 0-based row index of the anchor cell for overlay positioning. |
anchor_column_index | integer | No | The 0-based column index of the anchor cell for overlay positioning. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Mutate conditional format rules
Section titled “Mutate conditional format rules”GOOGLESHEETS_MUTATE_CONDITIONAL_FORMAT_RULES
Add, update, delete, or reorder conditional format rules on a Google Sheet. Supports four operations: ADD (create new rule), UPDATE (replace existing rule), DELETE (remove rule), MOVE (reorder rules by changing index).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
rule | object | No | Conditional format rule specification. |
index | integer | No | Zero-based index for the operation. Required for UPDATE, DELETE, MOVE. |
sheet_id | integer | Yes | The unique numeric identifier of the sheet/tab to modify. Use GOOGLESHEETS_GET_SPREADSHEET_INFO to retrieve actual sheetId values. |
new_index | integer | No | Destination index for MOVE operation. Required when operation is MOVE. |
operation | string (“ADD” | “UPDATE” | “DELETE” | “MOVE”) | Yes | Operation type. |
spreadsheet_id | string | Yes | The ID of the spreadsheet containing the sheet to modify. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Query Spreadsheet Table
Section titled “Query Spreadsheet Table”GOOGLESHEETS_QUERY_TABLE
DEPRECATED: Use GOOGLESHEETS_VALUES_GET / GOOGLESHEETS_BATCH_GET for reads and GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW for row lookup/filter workflows. Execute SQL-like SELECT queries against Google Spreadsheet tables. Supports WHERE conditions, ORDER BY, LIMIT clauses.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | SQL SELECT query. The table name is the Google Sheets tab/sheet name. Use double quotes for names with spaces or numeric-only names. |
spreadsheet_id | string | Yes | The unique identifier of a native Google Sheets file. |
include_formulas | boolean | No | Whether to return formula text instead of calculated values for formula columns. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Developer Metadata
Section titled “Search Developer Metadata”GOOGLESHEETS_SEARCH_DEVELOPER_METADATA
Tool to search for developer metadata in a spreadsheet based on filters.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
dataFilters | array | Yes | The data filters describing the criteria used to determine which DeveloperMetadata entries to return. |
spreadsheetId | string | Yes | The ID of the spreadsheet to retrieve metadata from. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Spreadsheets
Section titled “Search Spreadsheets”GOOGLESHEETS_SEARCH_SPREADSHEETS
Search for Google Spreadsheets using various filters including name, content, date ranges, and more.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | No | Search query to filter spreadsheets. For advanced searches, use Google Drive query syntax. Leave empty to get all spreadsheets. |
order_by | string | No | Sort order (comma-separated list). Valid fields: createdTime, modifiedTime, name, etc. |
page_token | string | No | Token for retrieving the next page of results. |
max_results | integer | No | Maximum number of spreadsheets to return (1–1000). Default: 10. |
search_type | string (“name” | “content” | “both”) | No | How to search: ‘name’ searches filenames only, ‘content’ uses fullText search, ‘both’ searches both. |
starred_only | boolean | No | Whether to return only starred spreadsheets. |
created_after | string | No | Return spreadsheets created after this date in RFC 3339 format. |
modified_after | string | No | Return spreadsheets modified after this date in RFC 3339 format. |
shared_with_me | boolean | No | Whether to return only spreadsheets shared with the current user. |
include_trashed | boolean | No | Whether to include spreadsheets in trash. |
include_shared_drives | boolean | No | Whether to include spreadsheets from shared drives. Default: True. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Set Basic Filter
Section titled “Set Basic Filter”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
filter | object | Yes | The filter to set. |
spreadsheetId | string | Yes | The ID of the spreadsheet. |
responseRanges | array | No | Limits the ranges included in the response spreadsheet. |
responseIncludeGridData | boolean | No | True if grid data should be returned. |
includeSpreadsheetInResponse | boolean | No | Determines if the updated spreadsheet resource appears in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Set Data Validation Rule
Section titled “Set Data Validation Rule”GOOGLESHEETS_SET_DATA_VALIDATION_RULE
Tool to set or clear data validation rules (including dropdowns) on a range in Google Sheets.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mode | string (“SET” | “CLEAR”) | Yes | Operation mode: ‘SET’ applies a validation rule to the range, ‘CLEAR’ removes any existing validation. |
strict | boolean | No | Whether to reject invalid data (true) or show a warning (false). Default is true. |
values | array | No | List of allowed values for dropdown. Required when validation_type='ONE_OF_LIST'. |
formula | string | No | Custom formula for validation. Required when validation_type='CUSTOM_FORMULA'. Formula should evaluate to TRUE/FALSE. |
sheet_id | integer | Yes | The unique sheet ID (numeric identifier) where the validation rule will be applied. |
end_row_index | integer | Yes | Ending row index (0-based, exclusive) for the validation range. |
input_message | string | No | Optional message shown to the user when they select the cell. |
show_custom_ui | boolean | No | Whether to show a dropdown UI for list-based validation. |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet. |
source_range_a1 | string | No | Source range in A1 notation for dropdown values. Required when validation_type='ONE_OF_RANGE'. |
start_row_index | integer | Yes | Starting row index (0-based, inclusive) for the validation range. Row 1 is index 0. |
validation_type | string | No | Type of validation rule to apply. Required when mode='SET'. |
condition_values | array | No | Generic list of condition values for validation types that require specific values. |
end_column_index | integer | Yes | Ending column index (0-based, exclusive) for the validation range. |
start_column_index | integer | Yes | Starting column index (0-based, inclusive) for the validation range. Column A is index 0. |
filtered_rows_included | boolean | No | Whether to apply validation to rows hidden by filters. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create sheet from JSON
Section titled “Create sheet from JSON”GOOGLESHEETS_SHEET_FROM_JSON
DEPRECATED: Use GOOGLESHEETS_CREATE_GOOGLE_SHEET1 + GOOGLESHEETS_UPDATE_VALUES_BATCH instead. Creates a new Google Spreadsheet and populates its first worksheet from sheet_json.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | The desired title for the new Google Spreadsheet. |
sheet_json | array | Yes | A list of dictionaries representing the rows of the sheet. Each dictionary must have the same set of keys, which will form the header row. |
sheet_name | string | Yes | The name for the first worksheet within the newly created spreadsheet. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Copy Sheet to Another Spreadsheet
Section titled “Copy Sheet to Another Spreadsheet”GOOGLESHEETS_SPREADSHEETS_SHEETS_COPY_TO
Tool to copy a single sheet from a spreadsheet to another spreadsheet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | Yes | The ID of the sheet to copy. |
spreadsheet_id | string | Yes | The ID of the spreadsheet containing the sheet to copy. |
destination_spreadsheet_id | string | Yes | The ID of the spreadsheet to copy the sheet to. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Append Values to Spreadsheet
Section titled “Append Values to 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | string | Yes | A1 notation range used to locate a logical table. New rows are appended after the last row of that table. |
values | array | Yes | 2D array of values to append. Typically, each inner list is a ROW (majorDimension=ROWS). |
spreadsheetId | string | Yes | The spreadsheet ID (typically 44 characters). |
majorDimension | string (“ROWS” | “COLUMNS”) | No | How to interpret the 2D values array. Use ROWS for row-wise data (most common for appends). |
insertDataOption | string (“OVERWRITE” | “INSERT_ROWS”) | No | How the input data should be inserted. |
valueInputOption | string (“RAW” | “USER_ENTERED”) | Yes | How the input data should be interpreted. |
includeValuesInResponse | boolean | No | Determines if the update response should include the values of the cells that were appended. |
responseValueRenderOption | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | Determines how values in the response should be rendered. |
responseDateTimeRenderOption | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | Determines how dates, times, and durations in the response should be rendered. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Clear Spreadsheet Values
Section titled “Batch Clear Spreadsheet Values”GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR
Tool to clear one or more ranges of values from a spreadsheet while keeping formatting and other properties intact.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ranges | array | Yes | The ranges to clear, in A1 notation. Valid examples: ‘Sheet1!A1:B2’, ‘A1:Z100’, ‘Sheet1’. |
spreadsheet_id | string | Yes | The ID of the spreadsheet to update. Accepts a spreadsheet ID or a full Google Sheets URL. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch Get Spreadsheet Values by Data Filter
Section titled “Batch Get Spreadsheet Values by Data Filter”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
dataFilters | array | Yes | An array of data filter objects used to match ranges of values to retrieve. Each filter can specify ‘a1Range’ or ‘gridRange’. |
spreadsheetId | string | Yes | The ID of the spreadsheet to retrieve data from. |
majorDimension | string (“ROWS” | “COLUMNS”) | No | The major dimension that results should use. |
valueRenderOption | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How values should be represented in the output. |
dateTimeRenderOption | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | How dates, times, and durations should be represented in the output. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Chart in Google Sheets
Section titled “Update Chart in Google Sheets”GOOGLESHEETS_UPDATE_CHART
Update the specification of an existing chart in a Google Sheets spreadsheet. Use when you need to modify properties such as title, chart type, data ranges, colors, or axes. This action does not change the chart’s position or size.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
chart_id | integer | Yes | The unique numeric identifier of the chart to update. |
chart_spec | object | Yes | The complete ChartSpec object defining the updated chart specification. |
spreadsheet_id | string | Yes | The unique identifier of the Google Sheets spreadsheet containing the chart to update. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Dimension Properties (Hide/Unhide & Resize)
Section titled “Update Dimension Properties (Hide/Unhide & Resize)”GOOGLESHEETS_UPDATE_DIMENSION_PROPERTIES
Tool to hide/unhide rows or columns and set row heights or column widths.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sheet_id | integer | No | The numeric ID of the sheet (tab). Either sheet_id or sheet_name must be provided. |
dimension | string (“ROWS” | “COLUMNS”) | Yes | Whether to update rows or columns. |
end_index | integer | Yes | The zero-based end index (exclusive) of the dimension range to update. |
pixel_size | integer | No | The height (for rows) or width (for columns) in pixels. |
sheet_name | string | No | The name of the sheet (tab). If provided, resolved to the numeric sheet_id. |
start_index | integer | Yes | The zero-based start index (inclusive) of the dimension range to update. |
hidden_by_user | boolean | No | Whether to hide (true) or unhide (false) the specified rows/columns. |
spreadsheet_id | string | Yes | The ID of the spreadsheet to update. |
response_ranges | array | No | Limits the ranges included in the response spreadsheet. |
response_include_grid_data | boolean | No | Whether to include grid data in the response. |
include_spreadsheet_in_response | boolean | No | Whether to include the updated spreadsheet in the response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Sheet Properties
Section titled “Update Sheet Properties”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
spreadsheetId | string | Yes | The ID of the spreadsheet containing the sheet to update. |
responseRanges | array | No | Limits the ranges included in the response spreadsheet. |
updateSheetProperties | object | Yes | The details of the sheet properties to update. |
responseIncludeGridData | boolean | No | True if grid data should be returned in the response. |
includeSpreadsheetInResponse | boolean | No | Determines if the update response should include the spreadsheet resource. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Spreadsheet Properties
Section titled “Update Spreadsheet Properties”GOOGLESHEETS_UPDATE_SPREADSHEET_PROPERTIES
Tool to update SPREADSHEET-LEVEL properties such as the spreadsheet’s title, locale, time zone, or auto-recalculation settings. NOTE: To update individual SHEET properties (like renaming a specific sheet/tab), use GOOGLESHEETS_UPDATE_SHEET_PROPERTIES instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
fields | string | Yes | Field mask specifying which properties to update (comma-separated). Wildcard ’*’ updates all properties. |
properties | object | Yes | The spreadsheet-level properties to update (e.g., title, locale, timeZone, autoRecalc). |
spreadsheetId | string | Yes | The ID of the spreadsheet to update. |
responseRanges | array | No | Limits the ranges included in the response spreadsheet. |
responseIncludeGridData | boolean | No | Determines if grid data should be included in the response. |
includeSpreadsheetInResponse | boolean | No | Determines if the response should include the full spreadsheet resource. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Batch update spreadsheet values
Section titled “Batch update spreadsheet values”GOOGLESHEETS_UPDATE_VALUES_BATCH
Tool to set values in one or more ranges of a spreadsheet. Use when you need to update multiple ranges in a single operation for better performance.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
data | array | Yes | The new values to apply to the spreadsheet. Each ValueRange specifies a range and the values to write to that range. |
spreadsheet_id | string | Yes | The ID of the spreadsheet to update. |
valueInputOption | string (“INPUT_VALUE_OPTION_UNSPECIFIED” | “RAW” | “USER_ENTERED”) | Yes | How the input data should be interpreted. |
includeValuesInResponse | boolean | No | Determines if the update response should include the values of the cells that were updated. |
responseValueRenderOption | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | Determines how values in the response should be rendered. |
responseDateTimeRenderOption | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | Determines how dates, times, and durations in the response should be rendered. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Upsert Rows (Smart Update/Insert)
Section titled “Upsert Rows (Smart Update/Insert)”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).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
rows | array | Yes | 2D array of data rows to upsert. If ‘headers’ is NOT provided, the FIRST row is treated as column headers. |
headers | array | No | List of column names for the data. These will be matched against sheet headers. Missing columns are added automatically. |
keyColumn | string | No | The column NAME (header text) to use as unique identifier for matching rows. |
sheetName | string | Yes | The name of the sheet/tab within the spreadsheet. |
strictMode | boolean | No | When True (default), an error is returned if any row has more values than headers. When False, extra values are silently truncated. |
tableStart | string | No | Cell where the table starts (where headers are located). Defaults to ‘A1’. |
spreadsheetId | string | Yes | The ID of the spreadsheet. |
key_column_index | string | No | The 0-based column index to use as unique identifier. Alternative to keyColumn. |
normalization_message | string | No | Internal field to track input normalization. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get spreadsheet values
Section titled “Get spreadsheet values”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | string | Yes | The A1 notation or R1C1 notation of the range to retrieve values from. |
end_row | integer | No | 1-based row number to stop reading at (inclusive). Use with start_row for pagination. |
start_row | integer | No | 1-based row number to start reading from (inclusive). Use with end_row for pagination. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet. |
major_dimension | string (“DIMENSION_UNSPECIFIED” | “ROWS” | “COLUMNS”) | No | The major dimension for results. |
value_render_option | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | How values should be rendered in the output. |
date_time_render_option | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | How dates, times, and durations should be represented in the output. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update spreadsheet values
Section titled “Update spreadsheet values”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | string | Yes | The A1 notation of the range to update values in (e.g., ‘Sheet1!A1:C2’, ‘A1:D5’). |
values | array | Yes | The data to write. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. |
spreadsheet_id | string | Yes | The unique identifier of the Google Spreadsheet to update. |
major_dimension | string (“ROWS” | “COLUMNS”) | No | The major dimension of the values. ROWS (default) means each inner array is a row of values. |
auto_expand_sheet | boolean | No | If True (default), automatically expands the sheet’s dimensions when the target range exceeds the current grid limits. |
value_input_option | string (“RAW” | “USER_ENTERED”) | Yes | How the input data should be interpreted. |
include_values_in_response | boolean | No | Determines if the update response should include the values of the cells that were updated. |
response_value_render_option | string (“FORMATTED_VALUE” | “UNFORMATTED_VALUE” | “FORMULA”) | No | Determines how values in the response should be rendered. |
response_datetime_render_option | string (“SERIAL_NUMBER” | “FORMATTED_STRING”) | No | Determines how dates, times, and durations in the response should be rendered. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |