Google Sheets

Read, write, and update data with sheet selection

Google Sheets is a 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 integrates with many tools and services.

With the Google Sheets integration in Sim, you can:

  • Read data: Retrieve cell values from specific ranges in a spreadsheet
  • Write data: Write values to specific cell ranges
  • Update data: Modify existing cell values in a spreadsheet
  • Append rows: Add new rows of data to the end of a sheet
  • Clear ranges: Remove data from specific cell ranges
  • Manage spreadsheets: Create new spreadsheets or retrieve metadata about existing ones
  • Batch operations: Perform batch read, update, and clear operations across multiple ranges
  • Copy sheets: Duplicate sheets within or between spreadsheets

In Sim, the Google Sheets integration enables your agents to read from, write to, and manage spreadsheets as part of automated workflows. This is ideal for automated reporting, data synchronization, record-keeping, and building data pipelines that use spreadsheets as a collaborative data layer.

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
spreadsheetIdstringYesGoogle Sheets spreadsheet ID
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
spreadsheetIdstringYesGoogle Sheets spreadsheet ID
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
spreadsheetIdstringYesGoogle Sheets spreadsheet ID
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
spreadsheetIdstringYesGoogle Sheets spreadsheet ID
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
spreadsheetIdstringYesGoogle Sheets spreadsheet ID
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
sourceSpreadsheetIdstringYesSource Google Sheets spreadsheet ID
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 70,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started