Use Google Sheets to read and write cell ranges, append rows, clear values, and create or inspect spreadsheets. Batch actions read, update, or clear multiple ranges; sheet-copy actions duplicate sheets within or between spreadsheets.
Provide the spreadsheet ID and range required by the selected operation. Read the returned values or update counts before passing data to later workflow steps.
Sim requests these scopes when someone connects a Google Sheets account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/google-sheetsEnvironment variables GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
Scope Description https://www.googleapis.com/auth/userinfo.emailView email address https://www.googleapis.com/auth/userinfo.profileView basic profile info https://www.googleapis.com/auth/drive.fileView and manage Google Drive files you open or create with Sim https://www.googleapis.com/auth/driveView, edit, create, and delete all Google Drive files
Select a sheet to read, write, append, update, or clear cell values. Create spreadsheets, inspect their metadata, copy sheets, and run batch range operations.
Read data from a specific sheet in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetNamestring Yes The name of the sheet/tab to read from cellRangestring No The cell range to read (e.g. "A1:D10"). Defaults to "A1:Z1000" if not specified. filterColumnstring No Column name (from the header row) to filter on. Filtering is applied to the rows returned by the read range (the default is A1:Z1000), not the entire sheet. If not provided, no filtering is applied. filterValuestring No Value to match against the filter column. filterMatchTypestring No How to match the filter value. Text: "contains", "not_contains", "exact", "not_equals", "starts_with", "ends_with". Numeric/ordering: "gt", "gte", "lt", "lte" (numeric when both values are numbers, otherwise lexicographic). Defaults to "contains".
Parameter Type Description sheetNamestring Name of the sheet that was read rangestring The range of cells that was read valuesarray The cell values as a 2D array metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Write data to a specific sheet in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetNamestring Yes The name of the sheet/tab to write to cellRangestring No The cell range to write to (e.g. "A1:D10", "A1"). Defaults to "A1" if not specified. valuesarray Yes The data to write as a 2D array (e.g. [["Name", "Age"], ["Alice", 30], ["Bob", 25]]) or array of objects. valueInputOptionstring No The format of the data to write
Parameter Type Description updatedRangestring Range of cells that were updated updatedRowsnumber Number of rows updated updatedColumnsnumber Number of columns updated updatedCellsnumber Number of cells updated metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Update data in a specific sheet in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetNamestring Yes The name of the sheet/tab to update cellRangestring No The cell range to update (e.g. "A1:D10", "A1"). Defaults to "A1" if not specified. valuesarray Yes The data to update as a 2D array (e.g. [["Name", "Age"], ["Alice", 30]]) or array of objects. valueInputOptionstring No The format of the data to update
Parameter Type Description updatedRangestring Range of cells that were updated updatedRowsnumber Number of rows updated updatedColumnsnumber Number of columns updated updatedCellsnumber Number of cells updated metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Append data to the end of a specific sheet in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetNamestring Yes The name of the sheet/tab to append to valuesarray Yes The data to append as a 2D array (e.g. [["Alice", 30], ["Bob", 25]]) or array of objects. valueInputOptionstring No The format of the data to append insertDataOptionstring No How to insert the data (OVERWRITE or INSERT_ROWS)
Parameter Type Description tableRangestring Range of the table where data was appended updatedRangestring Range of cells that were updated updatedRowsnumber Number of rows updated updatedColumnsnumber Number of columns updated updatedCellsnumber Number of cells updated metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Clear values from a specific range in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetNamestring Yes The name of the sheet/tab to clear cellRangestring No The cell range to clear (e.g. "A1:D10"). Clears entire sheet if not specified.
Parameter Type Description clearedRangestring The range that was cleared sheetNamestring Name of the sheet that was cleared metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Get metadata about a Google Sheets spreadsheet including title and sheet list
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID includeGridDataboolean No Whether to include grid data (cell values). Defaults to false.
Parameter Type Description spreadsheetIdstring The spreadsheet ID titlestring The title of the spreadsheet localestring The locale of the spreadsheet timeZonestring The time zone of the spreadsheet spreadsheetUrlstring URL to the spreadsheet sheetsarray List of sheets in the spreadsheet ↳ sheetId number The sheet ID ↳ title string The sheet title/name ↳ index number The sheet index (position) ↳ rowCount number Number of rows in the sheet ↳ columnCount number Number of columns in the sheet ↳ hidden boolean Whether the sheet is hidden
Create a new Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description titlestring Yes The title of the new spreadsheet sheetTitlesjson No Array of sheet names to create (e.g., ["Sheet1", "Data", "Summary"]). Defaults to a single "Sheet1". localestring No The locale of the spreadsheet (e.g., "en_US") timeZonestring No The time zone of the spreadsheet (e.g., "America/New_York")
Parameter Type Description spreadsheetIdstring The ID of the created spreadsheet titlestring The title of the created spreadsheet spreadsheetUrlstring URL to the created spreadsheet sheetsarray List of sheets created in the spreadsheet ↳ sheetId number The sheet ID ↳ title string The sheet title/name ↳ index number The sheet index (position)
Read multiple ranges from a Google Sheets spreadsheet in a single request
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID rangesjson Yes Array of ranges to read (e.g., ["Sheet1!A1:D10", "Sheet2!A1:B5"]). Each range should include sheet name. majorDimensionstring No The major dimension of values: "ROWS" (default) or "COLUMNS" valueRenderOptionstring No How values should be rendered: "FORMATTED_VALUE" (default), "UNFORMATTED_VALUE", or "FORMULA"
Parameter Type Description spreadsheetIdstring The spreadsheet ID valueRangesarray Array of value ranges read from the spreadsheet ↳ range string The range that was read ↳ majorDimension string Major dimension (ROWS or COLUMNS) ↳ values array The cell values as a 2D array metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Update multiple ranges in a Google Sheets spreadsheet in a single request
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID datajson Yes Array of value ranges to update. Each item should have "range" (e.g., "Sheet1!A1:D10") and "values" (2D array). valueInputOptionstring No How input data should be interpreted: "RAW" or "USER_ENTERED" (default). USER_ENTERED parses formulas.
Parameter Type Description spreadsheetIdstring The spreadsheet ID totalUpdatedRowsnumber Total number of rows updated totalUpdatedColumnsnumber Total number of columns updated totalUpdatedCellsnumber Total number of cells updated totalUpdatedSheetsnumber Total number of sheets updated responsesarray Array of update responses for each range ↳ spreadsheetId string The spreadsheet ID ↳ updatedRange string The range that was updated ↳ updatedRows number Number of rows updated in this range ↳ updatedColumns number Number of columns updated in this range ↳ updatedCells number Number of cells updated in this range metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Clear multiple ranges in a Google Sheets spreadsheet in a single request
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID rangesjson Yes Array of ranges to clear (e.g., ["Sheet1!A1:D10", "Sheet2!A1:B5"]). Each range should include sheet name.
Parameter Type Description spreadsheetIdstring The spreadsheet ID clearedRangesarray Array of ranges that were cleared metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Copy a sheet from one spreadsheet to another
Inputs and outputsParameter Type Required Description sourceSpreadsheetIdstring Yes Source Google Sheets spreadsheet ID sheetIdnumber Yes The ID of the sheet to copy (numeric ID, not the sheet name). Use Get Spreadsheet to find sheet IDs. destinationSpreadsheetIdstring Yes The ID of the destination spreadsheet where the sheet will be copied
Parameter Type Description sheetIdnumber The ID of the newly created sheet in the destination titlestring The title of the copied sheet indexnumber The index (position) of the copied sheet sheetTypestring The type of the sheet (GRID, CHART, etc.) destinationSpreadsheetIdstring The ID of the destination spreadsheet destinationSpreadsheetUrlstring URL to the destination spreadsheet
Delete rows from a sheet in a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetIdnumber Yes The numeric ID of the sheet/tab (not the sheet name). Use Get Spreadsheet to find sheet IDs. startIndexnumber Yes The start row index (0-based, inclusive) of the rows to delete endIndexnumber Yes The end row index (0-based, exclusive) of the rows to delete
Parameter Type Description spreadsheetIdstring Google Sheets spreadsheet ID sheetIdnumber The numeric ID of the sheet deletedRowRangestring Description of the deleted row range metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Delete a sheet/tab from a Google Sheets spreadsheet
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes Google Sheets spreadsheet ID sheetIdnumber Yes The numeric ID of the sheet/tab to delete (not the sheet name). Use Get Spreadsheet to find sheet IDs.
Parameter Type Description spreadsheetIdstring Google Sheets spreadsheet ID deletedSheetIdnumber The numeric ID of the deleted sheet metadatajson Spreadsheet metadata including ID and URL ↳ spreadsheetId string Google Sheets spreadsheet ID ↳ spreadsheetUrl string Spreadsheet URL
Permanently delete a Google Sheets spreadsheet using the Google Drive API
Inputs and outputsParameter Type Required Description spreadsheetIdstring Yes The ID of the Google Sheets spreadsheet to delete
Parameter Type Description spreadsheetIdstring The ID of the deleted spreadsheet deletedboolean Whether the spreadsheet was successfully deleted
A trigger starts a workflow when a supported event occurs in this service.
These triggers poll for new data on a schedule.
Triggers when new rows are added to a Google Sheet
Parameter Type Required Description triggerCredentialsstring Yes Connect your Google account to access Google Sheets. spreadsheetIdfile-selector Yes The spreadsheet to monitor for new rows. manualSpreadsheetIdstring Yes The spreadsheet to monitor for new rows. sheetNamesheet-selector Yes The sheet tab to monitor for new rows. manualSheetNamestring Yes The sheet tab to monitor for new rows. valueRenderOptionstring No How values are rendered. Formatted returns display strings, Unformatted returns raw numbers/booleans, Formula returns the formula text. dateTimeRenderOptionstring No How dates and times are rendered. Only applies when Value Render is not "Formatted Value".
Parameter Type Description rowjson Row data mapped to column headers from row 1 rawRowjson Raw row values as an array headersjson Column headers from row 1 rowNumbernumber The 1-based row number of the new row spreadsheetIdstring The spreadsheet ID sheetNamestring The sheet tab name timestampstring Event timestamp in ISO format