GoogleSheets

Description: Enable agents to interact with GoogleSheets

Author: Arcade

Code: GitHub

Auth: User authorization

PyPI VersionLicensePython VersionsWheel StatusDownloads

The Arcade GoogleSheets toolkit provides a pre-built set of tools for working with Google Sheets. These tools make it easy to build agents and AI apps that can:

  • Create new spreadsheets and seed initial data.
  • Search Google Drive for spreadsheets and retrieve metadata (titles, IDs, URLs; excludes trash).
  • Read specific ranges from sheets.
  • Write to single cells or update ranges with flexible data formats.
  • Add notes to cells.
  • Get detailed spreadsheet and sheet metadata (names, IDs, positions, row/column counts; metadata only).

Available Tools

Tool NameDescription
GoogleSheets.CreateSpreadsheetCreate a new spreadsheet with the provided title and data in its first sheet
GoogleSheets.WriteToCellWrite a value to a single cell in a spreadsheet.
GoogleSheets.UpdateCellsWrite values to a Google Sheet using a flexible data format.
GoogleSheets.AddNoteToCellAdd a note to a specific cell in a spreadsheet. A note is a small
GoogleSheets.SearchSpreadsheetsSearches for spreadsheets in the user's Google Drive based on the titles and content and
GoogleSheets.GetSpreadsheetGets the specified range of cells from a single sheet in the spreadsheet.
GoogleSheets.GetSpreadsheetMetadataGets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet.

If you need to perform an action that’s not listed here, you can get in touch with us to request a new tool, or create your own tools.

GoogleSheets.CreateSpreadsheet


Create a new spreadsheet with the provided title and data in its first sheet

Parameters

  • title (string, optional) The title of the new spreadsheet
  • data (string, optional) The data to write to the spreadsheet. A JSON string (property names enclosed in double quotes) representing a dictionary that maps row numbers to dictionaries that map column letters to cell values. For example, data[23][‘C’] would be the value of the cell in row 23, column C. Type hint: dict[int, dict[str, Union[int, float, str, bool]]]

GoogleSheets.WriteToCell


Write a value to a single cell in a spreadsheet.

Parameters

  • spreadsheet_id (string, required) The id of the spreadsheet to write to
  • column (string, required) The column string to write to. For example, ‘A’, ‘F’, or ‘AZ’
  • row (integer, required) The row number to write to
  • value (string, required) The value to write to the cell
  • sheet_name (string, optional) The name of the sheet to write to. Defaults to ‘Sheet1’

GoogleSheets.UpdateCells


Write values to a Google Sheet using a flexible data format.

Parameters

  • spreadsheet_id (string, required) The id of the spreadsheet to write to
  • data (string, required) The data to write. A JSON string (property names enclosed in double quotes) representing a dictionary that maps row numbers to dictionaries that map column letters to cell values. For example, data[23][‘C’] is the value for cell C23. This is the same format accepted by create_spreadsheet. Type hint: dict[int, dict[str, int | float | str | bool]]
  • sheet_position (integer, optional) The position/tab of the sheet in the spreadsheet to write to. A value of 1 represents the first (leftmost/Sheet1) sheet. Defaults to 1.
  • sheet_id_or_name (string, optional) The id or name of the sheet to write to. If provided, takes precedence over sheet_position.

GoogleSheets.AddNoteToCell


Add a note to a specific cell in a spreadsheet. A note is a small

Parameters

  • spreadsheet_id (string, required) The id of the spreadsheet to add a comment to
  • column (string, required) The column string to add a note to. For example, ‘A’, ‘F’, or ‘AZ’
  • row (integer, required) The row number to add a note to
  • note_text (string, required) The text for the note to add
  • sheet_position (integer, optional) The position/tab of the sheet in the spreadsheet to write to. A value of 1 represents the first (leftmost/Sheet1) sheet. Defaults to 1.
  • sheet_id_or_name (string, optional) The id or name of the sheet to write to. If provided, takes precedence over sheet_position.

GoogleSheets.SearchSpreadsheets


Searches for spreadsheets in the user’s Google Drive based on the titles and content and

Parameters

  • spreadsheet_contains (array[string], optional) Keywords or phrases that must be in the spreadsheet title. Provide a list of keywords or phrases if needed.
  • spreadsheet_not_contains (array[string], optional) Keywords or phrases that must NOT be in the spreadsheet title. Provide a list of keywords or phrases if needed.
  • search_only_in_shared_drive_id (string, optional) The ID of the shared drive to restrict the search to. If provided, the search will only return spreadsheets from this drive. Defaults to None, which searches across all drives.
  • include_shared_drives (boolean, optional) Whether to include spreadsheets from shared drives. Defaults to False (searches only in the user’s ‘My Drive’).
  • include_organization_domain_spreadsheets (boolean, optional) Whether to include spreadsheets from the organization’s domain. This is applicable to admin users who have permissions to view organization-wide spreadsheets in a Google Workspace account. Defaults to False.
  • order_by (Enum OrderBy, optional) Sort order. Defaults to listing the most recently modified spreadsheets first
  • limit (integer, optional) The maximum number of spreadsheets to list. Defaults to 10. Max is 50
  • pagination_token (string, optional) The pagination token to continue a previous request

GoogleSheets.GetSpreadsheet


Gets the specified range of cells from a single sheet in the spreadsheet.

Parameters

  • spreadsheet_id (string, required) The id of the spreadsheet to get
  • sheet_position (integer, optional) The position/tab of the sheet in the spreadsheet to get. A value of 1 represents the first (leftmost/Sheet1) sheet . Defaults to 1.
  • sheet_id_or_name (string, optional) The id or name of the sheet to get. Defaults to None, which means sheet_position will be used instead.
  • start_row (integer, optional) Starting row number (1-indexed, defaults to 1)
  • start_col (string, optional) Starting column letter(s) or 1-based column number (defaults to ‘A’)
  • max_rows (integer, optional) Maximum number of rows to fetch for each sheet in the spreadsheet. Must be between 1 and 1000. Defaults to 1000.
  • max_cols (integer, optional) Maximum number of columns to fetch for each sheet in the spreadsheet. Must be between 1 and 100. Defaults to 100.

GoogleSheets.GetSpreadsheetMetadata


Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet.

Parameters

  • spreadsheet_id (string, required) The id of the spreadsheet to get metadata for

Auth

The Arcade GoogleSheets toolkit uses the Google auth provider to connect to users’ GoogleSheets accounts. Please refer to the Google auth provider documentation to learn how to configure auth.