Overview
Add Google Sheets to any ModuleX agent or workflow. Read, write, and manage Google Sheets spreadsheets and worksheets via the Google Sheets API v4 (https://sheets.googleapis.com/v4).
Authentication
OAuth2 Authentication
Connect using Google OAuth (recommended)Required Credentials
OAuth Configuration
- Authorization URL:
https://accounts.google.com/o/oauth2/v2/auth - Token URL:
https://oauth2.googleapis.com/token - Scopes:
https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive.file
Available Actions
new_spreadsheet — Create a new Google Spreadsheet with an optional worksheet name and column headers. Returns the spreadsheet ID and URL.
new_spreadsheet — Create a new Google Spreadsheet with an optional worksheet name and column headers. Returns the spreadsheet ID and URL.
get_spreadsheet_info — Get the structure of a Google Spreadsheet: worksheet names, column headers (first row of each sheet), and row counts. Call this first before reading or writing data.
get_spreadsheet_info — Get the structure of a Google Spreadsheet: worksheet names, column headers (first row of each sheet), and row counts. Call this first before reading or writing data.
list_worksheets — Get a list of all worksheets (tabs) in a spreadsheet.
list_worksheets — Get a list of all worksheets (tabs) in a spreadsheet.
add_worksheet — Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers.
add_worksheet — Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers.
delete_worksheet — Delete a specific worksheet (tab) from a spreadsheet.
delete_worksheet — Delete a specific worksheet (tab) from a spreadsheet.
read_rows — Read rows from a Google Sheets worksheet. Returns data as objects (keys = column headers from row 1) by default, or as raw arrays. Optionally specify an A1 range to read a subset.
read_rows — Read rows from a Google Sheets worksheet. Returns data as objects (keys = column headers from row 1) by default, or as raw arrays. Optionally specify an A1 range to read a subset.
Parameters
true)Response
get_values_in_range — Get all values from a range of cells using A1 notation. Returns a list of rows where each row is a list of cell values.
get_values_in_range — Get all values from a range of cells using A1 notation. Returns a list of rows where each row is a list of cell values.
find_rows — Search for rows matching a value in a specific column. Returns matching rows as objects with their row numbers.
find_rows — Search for rows matching a value in a specific column. Returns matching rows as objects with their row numbers.
Parameters
contains)Response
add_rows — Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array — either arrays of positional values (e.g. [["Alice", "alice@example.com"]]) or objects with column header keys (e.g. [{"Name": "Alice", "Email": "alice@example.com"}]). Use get_spreadsheet_info first to discover header names.
add_rows — Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array — either arrays of positional values (e.g. [["Alice", "alice@example.com"]]) or objects with column header keys (e.g. [{"Name": "Alice", "Email": "alice@example.com"}]). Use get_spreadsheet_info first to discover header names.
Parameters
true)Response
update_row — Overwrite the contents of a specific row with a new list of values (positional, matching column order).
update_row — Overwrite the contents of a specific row with a new list of values (positional, matching column order).
update_cell — Update a single cell in a worksheet by A1 notation. The new value is parsed as if typed in the UI (USER_ENTERED).
update_cell — Update a single cell in a worksheet by A1 notation. The new value is parsed as if typed in the UI (USER_ENTERED).
clear_rows — Clear the contents of a row or range of rows. The rows still exist but become blank.
clear_rows — Clear the contents of a row or range of rows. The rows still exist but become blank.
delete_rows — Permanently delete a range of rows from a worksheet. Rows below the deleted range shift up to fill the gap.
delete_rows — Permanently delete a range of rows from a worksheet. Rows below the deleted range shift up to fill the gap.
Parameters
Response
Limits & Quotas
- Google Sheets API default quota: 300 read requests / minute / project and 300 write requests / minute / project (with a 60 / minute / user cap for both).
- Cell-value writes use
valueInputOption=USER_ENTERED, so values are parsed as if a user typed them in the UI (numbers/dates/booleans get coerced). add_rowsusesinsertDataOption=INSERT_ROWS, so it never overwrites existing data — new rows are inserted after the last row containing data.- Non-2xx responses are caught and returned as
success=False+errorwith the APIerror.message(when present). - Timeouts surface as
success=Falsewitherror="Request timed out.".