Google Sheets

Read, write, and update data with sheet selection

Google Sheets is a powerful, cloud-based spreadsheet platform that allows teams and individuals to create, edit, and collaborate on spreadsheets in real-time. Widely used for data tracking, reporting, and lightweight database needs, Google Sheets seamlessly integrates with many tools and services to empower workflow automation and data-driven operations.

Google Sheets offers an extensive feature set for managing and analyzing tabular data, supporting everything from basic calculations to complex reporting and collaborative editing. Its robust API and integration capabilities enable automated access, updates, and reporting from agents and external services.

Key features of Google Sheets include:

  • Real-Time Collaboration: Multiple users can edit and view spreadsheets simultaneously from anywhere.
  • Rich Data Manipulation: Support for formulas, charts, pivots, and add-ons to analyze and visualize data.
  • Easy Data Import/Export: Ability to connect and sync data from various sources using integrations and APIs.
  • Powerful Permissions: Fine-grained sharing, access controls, and version history for team management.

In Sim, the Google Sheets integration empowers your agents to automate reading from, writing to, and updating specific sheets within spreadsheets. Agents can interact programmatically with Google Sheets to retrieve or modify data, manage collaborative documents, and automate reporting or record-keeping as part of your AI workflows. By connecting Sim with Google Sheets, you can build intelligent agents that manage, analyze, and update your data dynamically—streamlining operations, enhancing productivity, and ensuring up-to-date data access across your organization.

Usage Instructions

Integrate Google Sheets into the workflow with explicit sheet selection. Can read, write, append, update, clear data, create spreadsheets, get spreadsheet info, and copy sheets.

Tools

google_sheets_read

Read data from a specific sheet in a Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet (found in the URL: docs.google.com/spreadsheets/d/{SPREADSHEET_ID}/edit).
rangestringNoThe A1 notation range to read (e.g. "Sheet1!A1:D10", "A1:B5"). Defaults to first sheet A1:Z1000 if not specified.

Output

ParameterTypeDescription
sheetNamestringName of the sheet that was read
rangestringThe range of cells that was read
valuesarrayThe cell values as a 2D array
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_write

Write data to a specific sheet in a Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
rangestringNoThe A1 notation range to write to (e.g. "Sheet1!A1:D10", "A1:B5")
valuesarrayYesThe data to write as a 2D array (e.g. [["Name", "Age"], ["Alice", 30], ["Bob", 25]]) or array of objects.
valueInputOptionstringNoThe format of the data to write
includeValuesInResponsebooleanNoWhether to include the written values in the response

Output

ParameterTypeDescription
updatedRangestringRange of cells that were updated
updatedRowsnumberNumber of rows updated
updatedColumnsnumberNumber of columns updated
updatedCellsnumberNumber of cells updated
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_update

Update data in a specific sheet in a Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet to update
rangestringNoThe A1 notation range to update (e.g. "Sheet1!A1:D10", "A1:B5")
valuesarrayYesThe data to update as a 2D array (e.g. [["Name", "Age"], ["Alice", 30]]) or array of objects.
valueInputOptionstringNoThe format of the data to update
includeValuesInResponsebooleanNoWhether to include the updated values in the response

Output

ParameterTypeDescription
updatedRangestringRange of cells that were updated
updatedRowsnumberNumber of rows updated
updatedColumnsnumberNumber of columns updated
updatedCellsnumberNumber of cells updated
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_append

Append data to the end of a specific sheet in a Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet to append to
rangestringNoThe A1 notation range to append after (e.g. "Sheet1", "Sheet1!A:D")
valuesarrayYesThe data to append as a 2D array (e.g. [["Alice", 30], ["Bob", 25]]) or array of objects.
valueInputOptionstringNoThe format of the data to append
insertDataOptionstringNoHow to insert the data (OVERWRITE or INSERT_ROWS)
includeValuesInResponsebooleanNoWhether to include the appended values in the response

Output

ParameterTypeDescription
tableRangestringRange of the table where data was appended
updatedRangestringRange of cells that were updated
updatedRowsnumberNumber of rows updated
updatedColumnsnumberNumber of columns updated
updatedCellsnumberNumber of cells updated
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_clear

Clear values from a specific range in a Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
sheetNamestringYesThe name of the sheet/tab to clear
cellRangestringNoThe cell range to clear (e.g. "A1:D10"). Clears entire sheet if not specified.

Output

ParameterTypeDescription
clearedRangestringThe range that was cleared
sheetNamestringName of the sheet that was cleared
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_get_spreadsheet

Get metadata about a Google Sheets spreadsheet including title and sheet list

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
includeGridDatabooleanNoWhether to include grid data (cell values). Defaults to false.

Output

ParameterTypeDescription
spreadsheetIdstringThe spreadsheet ID
titlestringThe title of the spreadsheet
localestringThe locale of the spreadsheet
timeZonestringThe time zone of the spreadsheet
spreadsheetUrlstringURL to the spreadsheet
sheetsarrayList of sheets in the spreadsheet
sheetIdnumberThe sheet ID
titlestringThe sheet title/name
indexnumberThe sheet index (position)
rowCountnumberNumber of rows in the sheet
columnCountnumberNumber of columns in the sheet
hiddenbooleanWhether the sheet is hidden

google_sheets_create_spreadsheet

Create a new Google Sheets spreadsheet

Input

ParameterTypeRequiredDescription
titlestringYesThe title of the new spreadsheet
sheetTitlesjsonNoArray of sheet names to create (e.g., ["Sheet1", "Data", "Summary"]). Defaults to a single "Sheet1".
localestringNoThe locale of the spreadsheet (e.g., "en_US")
timeZonestringNoThe time zone of the spreadsheet (e.g., "America/New_York")

Output

ParameterTypeDescription
spreadsheetIdstringThe ID of the created spreadsheet
titlestringThe title of the created spreadsheet
spreadsheetUrlstringURL to the created spreadsheet
sheetsarrayList of sheets created in the spreadsheet
sheetIdnumberThe sheet ID
titlestringThe sheet title/name
indexnumberThe sheet index (position)

google_sheets_batch_get

Read multiple ranges from a Google Sheets spreadsheet in a single request

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
rangesjsonYesArray of ranges to read (e.g., ["Sheet1!A1:D10", "Sheet2!A1:B5"]). Each range should include sheet name.
majorDimensionstringNoThe major dimension of values: "ROWS" (default) or "COLUMNS"
valueRenderOptionstringNoHow values should be rendered: "FORMATTED_VALUE" (default), "UNFORMATTED_VALUE", or "FORMULA"

Output

ParameterTypeDescription
spreadsheetIdstringThe spreadsheet ID
valueRangesarrayArray of value ranges read from the spreadsheet
rangestringThe range that was read
majorDimensionstringMajor dimension (ROWS or COLUMNS)
valuesarrayThe cell values as a 2D array
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_batch_update

Update multiple ranges in a Google Sheets spreadsheet in a single request

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
datajsonYesArray of value ranges to update. Each item should have "range" (e.g., "Sheet1!A1:D10") and "values" (2D array).
valueInputOptionstringNoHow input data should be interpreted: "RAW" or "USER_ENTERED" (default). USER_ENTERED parses formulas.

Output

ParameterTypeDescription
spreadsheetIdstringThe spreadsheet ID
totalUpdatedRowsnumberTotal number of rows updated
totalUpdatedColumnsnumberTotal number of columns updated
totalUpdatedCellsnumberTotal number of cells updated
totalUpdatedSheetsnumberTotal number of sheets updated
responsesarrayArray of update responses for each range
spreadsheetIdstringThe spreadsheet ID
updatedRangestringThe range that was updated
updatedRowsnumberNumber of rows updated in this range
updatedColumnsnumberNumber of columns updated in this range
updatedCellsnumberNumber of cells updated in this range
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_batch_clear

Clear multiple ranges in a Google Sheets spreadsheet in a single request

Input

ParameterTypeRequiredDescription
spreadsheetIdstringYesThe ID of the spreadsheet
rangesjsonYesArray of ranges to clear (e.g., ["Sheet1!A1:D10", "Sheet2!A1:B5"]). Each range should include sheet name.

Output

ParameterTypeDescription
spreadsheetIdstringThe spreadsheet ID
clearedRangesarrayArray of ranges that were cleared
metadatajsonSpreadsheet metadata including ID and URL
spreadsheetIdstringGoogle Sheets spreadsheet ID
spreadsheetUrlstringSpreadsheet URL

google_sheets_copy_sheet

Copy a sheet from one spreadsheet to another

Input

ParameterTypeRequiredDescription
sourceSpreadsheetIdstringYesThe ID of the source spreadsheet
sheetIdnumberYesThe ID of the sheet to copy (numeric ID, not the sheet name). Use Get Spreadsheet to find sheet IDs.
destinationSpreadsheetIdstringYesThe ID of the destination spreadsheet where the sheet will be copied

Output

ParameterTypeDescription
sheetIdnumberThe ID of the newly created sheet in the destination
titlestringThe title of the copied sheet
indexnumberThe index (position) of the copied sheet
sheetTypestringThe type of the sheet (GRID, CHART, etc.)
destinationSpreadsheetIdstringThe ID of the destination spreadsheet
destinationSpreadsheetUrlstringURL to the destination spreadsheet

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started