๐Ÿ‡ฌ๐Ÿ‡ง EN
๐Ÿ‡ฎ๐Ÿ‡น IT

๐Ÿ“Š Google Sheets

Reads, writes, appends, searches, and creates Google Sheets spreadsheets. Supports reading a range of cells, appending new rows, updating existing cells, filtering rows with expressions, and creating new spreadsheets. Requires Google OAuth credentials from Settings → Integrations.

Category: File Operations  ยท  Type identifier: google_sheets

Overview

The Google Sheets node connects to the Google Sheets API and lets workflows treat a spreadsheet as a lightweight database, a report destination, or a data source. It supports five actions: reading a range of cells into the workflow context, appending new rows at the end of a growing table, overwriting a specific cell range with new values, searching rows using a filter expression, and creating a brand-new spreadsheet.

Cells are addressed using A1 notation โ€” a column letter combined with a row number (e.g. A1:D10 covers columns Aโ€“D, rows 1โ€“10). You can prefix the range with a sheet tab name and an exclamation mark to target a specific tab (e.g. Sales!A1:D10).

The spreadsheet is selected from a dropdown that lists all spreadsheets accessible through the connected Google account. Click the refresh button next to the picker to reload the list from Google Drive if a newly created spreadsheet is not shown.

Prerequisite: A Google account must be connected under Settings → Integrations before this node can access Google Sheets. The account must have at least Viewer access for read operations and Editor access for write or append operations.

Configuration

FieldStatusDescription
Credential Required Google account credential from Settings → Integrations.
Spreadsheet Required Select a spreadsheet from the dropdown. The list is loaded from your connected Google Drive. Click the refresh button to reload the list if a newly created spreadsheet is missing.
Sheet Name Optional Name of the sheet tab to operate on. Defaults to the first sheet if left blank.
Action Required read โ€” fetch a cell range.
write โ€” overwrite a specific range.
append โ€” add new rows at the end of the data.
search โ€” filter rows using a Symfony ExpressionLanguage expression.
create โ€” create a new spreadsheet in Google Drive.
Range Required for read/write A1 notation range, e.g. A1:D10 or A:A for a full column.
Values Required for append/write A 2D array of values to write. Use {{ variable }} to reference a step output. For append, each inner array is one row, e.g. [["Alice", "30"], ["Bob", "25"]].
Value Input Option Optional RAW โ€” values are stored exactly as given.
USER_ENTERED โ€” values are parsed as if typed by a user (formulas, dates, currency).
Default: USER_ENTERED.
Expression Required for search A Symfony ExpressionLanguage expression evaluated once per row. Rows for which the expression returns true are included in the output.
Available variables:
row โ€” the row as an associative array when Has Headers is enabled (keys are column names), or as a 0-indexed array otherwise.
rowIndex โ€” 0-based integer position of the row in the sheet.
Example: row["Status"] == "active"
Has Headers Optional โ€” search only When enabled, the first row of the sheet is treated as column names and each subsequent row is passed to the expression as an associative array keyed by column name. Default: enabled.
Title Required for create The name of the new spreadsheet to create.
Sheet Names Optional โ€” create only Comma-separated list of sheet tab names to create inside the new spreadsheet (e.g. Sales, Q1, Q2). If left blank, Google Sheets creates a single default sheet named "Sheet1".

Output Data

Output fields depend on the selected action. Fields that are not applicable to the chosen action are omitted or set to null.

FieldTypeDescription
okbooleanWhether the action completed without errors.
spreadsheet_idstringThe ID of the spreadsheet that was operated on. Also returned by create.
spreadsheet_urlstringThe browser URL of the spreadsheet. Returned by create.
rowsarray2D array of cell values (read mode) or matching rows (search mode). Each inner array is one row.
row_countnumberNumber of rows returned by a read action.
matched_countnumberNumber of rows matched by a search expression.
total_rowsnumberTotal number of data rows evaluated during a search action (excluding the header row when Has Headers is enabled).
updated_rangestringThe actual A1 notation range that was updated (write/append).
updated_rowsnumberNumber of rows written during a write or append action.
createdbooleantrue when the create action successfully created a new spreadsheet.
{{ step_key.output.ok }} {{ step_key.output.spreadsheet_id }} {{ step_key.output.spreadsheet_url }} {{ step_key.output.rows }} {{ step_key.output.row_count }} {{ step_key.output.matched_count }} {{ step_key.output.total_rows }} {{ step_key.output.updated_range }} {{ step_key.output.updated_rows }} {{ step_key.output.created }}

Example Usage

  1. A Loop node iterates over a list of records produced by an earlier step.
  2. Inside the loop, a Google Sheets node with Operation: append writes each processed record as a new row in the target spreadsheet.
  3. After the loop completes, an Email Notification node shares the spreadsheet URL with stakeholders so they can review the updated data.

Tips & Notes

Related Nodes