Skip to main content
Use the Google Spreadsheet tools when you work with named rows or worksheet tabs rather than an A1 cell range. Connect Google OAuth and supply its token in the token configuration. To read or write a specific cell range, use the Google Sheets range tools.

Choose a row or tab operation

sheet_id is the spreadsheet ID; sheet_title is the tab name. All seven tools use the token configuration. GET_ROWS filters have column, an uppercase operator such as EQUAL or CONTAINS, and value; a row must match every filter. Filtering happens after the sheet is fetched. GET_ROWS returns the matching row objects as an array in result.

Add row records

Replace the placeholders with a configured token and spreadsheet ID. rows is a JSON array of objects whose keys match column headers. A successful run returns the added records in result.rows. If the tool reports SheetNotFoundError, check the tab name and that the connected account can access the spreadsheet.

Create a tab with headers

GOOGLE_SPREADSHEET_ADD_SHEET creates a tab and its header row in one step:
The new tab’s ID and name are in result.sheet.id and result.sheet.name. GOOGLE_SPREADSHEET_REMOVE_SHEET takes the same sheet_id and sheet_title inputs; removing a tab deletes its contents.

Update rows by a unique key

GOOGLE_SPREADSHEET_UPDATE_ROW and GOOGLE_SPREADSHEET_UPDATE_ROWS match existing rows using the column named by unique_key. Include that key in every supplied row object; the other keys overwrite the matching cells. UPDATE_ROW returns the updated record in result.row, or RowNotFoundError when nothing matches. UPDATE_ROWS skips objects with no match and returns only the updated records in result.rows. This flow reads the rows whose Status is Inactive, builds one update per employee, and writes them back:
The Employees tab needs Employee ID, Status, and End Date headers. The Python step’s list is at steps.build_updates.result.data.rows, and the updated records are in steps.apply_updates.result.rows. If no row is Inactive, the list is empty and nothing changes.

Migrate rows between tabs

Read the source with GOOGLE_SPREADSHEET_GET_ROWS, transform the row objects, then write them with GOOGLE_SPREADSHEET_ADD_ROWS. The source and destination can be tabs in the same spreadsheet or in different ones.
The Python step skips rows without a name or email and adds a Status of Active. Create the MigratedData tab first, for example with GOOGLE_SPREADSHEET_ADD_SHEET and the headers ["Name","Email","Department","Status"]. The written records are in steps.write_destination.result.rows. GET_ROWS fetches the whole tab before applying filters, so use a bounded range with the range tools when you only need part of a large sheet. Keep a copy before bulk updates, and check the result for missing or empty matches.