Skip to main content

Google Sheets integration

Read, write, format, and restructure your clients' Google Sheets spreadsheets from a workflow.

What it does

The Google Sheets integration gives your agency the full Google Sheets API surface inside a workflow. Connect a client's Google account once and you can read and write cell values, create and delete worksheets, insert and remove rows and columns, apply formatting and conditional formatting, manage named ranges, protected ranges, filters, charts and tables, and start a workflow when a row changes or a new spreadsheet appears.

Every action targets a spreadsheet you pick from a dropdown, so nobody has to paste a spreadsheet ID by hand.

Connect a Google Sheets account

  1. Open the workflow editor and add any Google Sheets node.
  2. In the node's Connection field, choose Add connection.
  3. Sign in with the Google account whose spreadsheets you want to manage on behalf of your client.
  4. Grant the requested scopes: read and write access to Sheets, plus read-only access to Drive so TaskJuice can list selectable spreadsheets. Workflows that use the data-source actions also ask for read-only BigQuery access, which Google requires for Connected Sheets.
  5. You are returned to the editor with the connection selected and ready to use.

To revoke access at any time, visit Google Account permissions and remove the entry.

Triggers

  • google-sheets/new-row polls a Google Sheet range and emits one cycle per poll containing every row whose cell values are new or changed since the previous cycle, detected by hashing each row's raw value array.
  • google-sheets/new-worksheet polls a spreadsheet's worksheet list and emits one cycle per poll containing every worksheet (tab) added since the previous cycle, identified by its sheet id.
  • google-sheets/new-spreadsheet polls Google Drive for spreadsheets and emits one cycle per poll containing every spreadsheet created since the previous cycle, identified by its file id.

Each trigger emits one activation per poll cycle with the new items wrapped in an items array. Add a Loop node downstream to handle each item on its own, or pass the array straight into a digest.

Actions

Read values and metadata

  • google-sheets/get-values reads a range of cell values from a Google Sheet
  • google-sheets/batch-get-values reads cell values from several ranges of one spreadsheet in a single call.
  • google-sheets/batch-get-values-by-data-filter reads cell values from the ranges selected by one or more data filters.
  • google-sheets/get-spreadsheet reads a spreadsheet's metadata, including every worksheet, named range, and optionally its cell data.
  • google-sheets/get-spreadsheet-by-data-filter reads a spreadsheet's metadata and cell data for the ranges selected by one or more data filters.
  • google-sheets/get-developer-metadata reads a single developer-metadata entry by its numeric id.
  • google-sheets/search-developer-metadata finds developer-metadata entries in a spreadsheet that match one or more data filters.

Write values

  • google-sheets/append-rows appends rows of data to a Google Sheet
  • google-sheets/update-cells updates a range of cells in a Google Sheet with new values
  • google-sheets/batch-update-values updates multiple ranges of cells in a Google Sheet in a single request
  • google-sheets/batch-update-values-by-data-filter writes cell values into every range selected by one or more data filters.
  • google-sheets/update-cells-with-format writes cell values and formats over a range.
  • google-sheets/append-cells appends rows of formatted cells after the last row of data.
  • google-sheets/paste-data pastes delimited or HTML data into a sheet starting at a coordinate.
  • google-sheets/auto-fill extends the series or pattern already in a range across the whole of that range. To fill from a source block into adjacent cells, use Auto-Fill from a Source Range instead.
  • google-sheets/auto-fill-series continues the series in a source block of cells across a given number of rows or columns. To extend a pattern already inside one range, use Auto-Fill Range instead.

Clear and delete values

  • google-sheets/clear-range clears the content of a range of cells in a Google Sheet
  • google-sheets/batch-clear-values clears the values from several ranges at once, leaving formatting and formulas' cells in place.
  • google-sheets/batch-clear-values-by-data-filter clears the values from every range selected by one or more data filters.
  • google-sheets/delete-range deletes a range of cells and shifts neighbouring cells into the gap.
  • google-sheets/insert-range inserts empty cells into a range, shifting neighbouring cells away.
  • google-sheets/delete-duplicates deletes rows in a range that duplicate earlier rows.
  • google-sheets/trim-whitespace trims leading and trailing whitespace from every cell in a range.

Spreadsheets and worksheets

  • google-sheets/create-spreadsheet creates a new Google Spreadsheet
  • google-sheets/update-spreadsheet-properties changes spreadsheet-level settings such as title, locale, or timezone.
  • google-sheets/add-sheet adds a new worksheet (tab) to a spreadsheet.
  • google-sheets/delete-sheet permanently deletes a worksheet (tab) and all of its data.
  • google-sheets/duplicate-sheet copies a worksheet within the same spreadsheet.
  • google-sheets/update-sheet-properties renames a worksheet or changes its index, tab colour, or visibility.
  • google-sheets/copy-sheet-to-spreadsheet copies a worksheet from one spreadsheet into another spreadsheet.

Rows and columns

  • google-sheets/insert-dimension inserts empty rows or columns at a position, shifting existing cells.
  • google-sheets/delete-dimension deletes rows or columns and shifts the remaining cells up or left.
  • google-sheets/append-dimension appends empty rows or columns to the end of a worksheet.
  • google-sheets/move-dimension moves a span of rows or columns to a new position.
  • google-sheets/update-dimension-properties sets pixel size or hidden state for a span of rows or columns.
  • google-sheets/auto-resize-dimensions resizes rows or columns to fit their contents.
  • google-sheets/add-dimension-group creates a collapsible group over a span of rows or columns.
  • google-sheets/update-dimension-group collapses or expands an existing row or column group.
  • google-sheets/delete-dimension-group removes a collapsible group from a span of rows or columns.

Find, sort and rearrange

  • google-sheets/find-replace finds and replaces text within one worksheet. To search every worksheet in the spreadsheet, use Find and Replace in All Worksheets instead.
  • google-sheets/find-replace-all-sheets finds and replaces text across every worksheet in a spreadsheet. To limit the search to one worksheet, use Find and Replace instead.
  • google-sheets/sort-range sorts the rows of a range by one or more columns.
  • google-sheets/randomize-range randomly shuffles the rows of a range.
  • google-sheets/text-to-columns splits a column of delimited text into multiple columns.
  • google-sheets/copy-paste copies a source range over a destination range.
  • google-sheets/cut-paste moves a source range to a destination, clearing the source.
  • google-sheets/merge-cells merges a range of cells into a single cell.
  • google-sheets/unmerge-cells splits every merged cell within a range back into individual cells.

Formatting

  • google-sheets/repeat-cell applies the same cell format or content to every cell in a range.
  • google-sheets/update-borders sets or clears borders on a range of cells.
  • google-sheets/add-banding applies an alternating-colour banded range.
  • google-sheets/update-banding changes an existing banded range.
  • google-sheets/delete-banding removes a banded range.
  • google-sheets/add-conditional-format-rule adds a conditional formatting rule at an index.
  • google-sheets/update-conditional-format-rule replaces or reorders an existing conditional formatting rule.
  • google-sheets/delete-conditional-format-rule removes a conditional formatting rule by index.
  • google-sheets/set-data-validation applies or clears a data-validation rule over a range.

Named and protected ranges

  • google-sheets/add-named-range defines a named range over a block of cells.
  • google-sheets/update-named-range changes the name or extent of a named range.
  • google-sheets/delete-named-range removes a named range definition.
  • google-sheets/add-protected-range restricts who may edit a range or sheet.
  • google-sheets/update-protected-range changes an existing protected range or its editors.
  • google-sheets/delete-protected-range removes protection from a range.

Filters

  • google-sheets/set-basic-filter applies a filter to a range on a sheet.
  • google-sheets/clear-basic-filter removes the basic filter from a sheet.
  • google-sheets/add-filter-view creates a saved filter view over a range.
  • google-sheets/update-filter-view changes an existing filter view.
  • google-sheets/delete-filter-view removes a saved filter view.
  • google-sheets/duplicate-filter-view copies a saved filter view.

Charts, slicers and tables

  • google-sheets/add-chart embeds a new chart in a spreadsheet.
  • google-sheets/update-chart-spec replaces the specification of an existing chart.
  • google-sheets/add-slicer adds a slicer control to a sheet.
  • google-sheets/update-slicer-spec replaces the specification of an existing slicer.
  • google-sheets/delete-embedded-object deletes an embedded object such as a chart or image.
  • google-sheets/update-embedded-object-border changes the border of an embedded object.
  • google-sheets/update-embedded-object-position moves or resizes an embedded object by overlaying it on a grid at an anchor cell.
  • google-sheets/move-embedded-object-to-sheet moves an embedded object onto its own new sheet, using a sheet id you supply (the id must not already exist).
  • google-sheets/move-embedded-object-to-new-sheet moves an embedded object onto a brand-new worksheet.
  • google-sheets/add-table defines a table over a range of cells.
  • google-sheets/update-table changes an existing table definition.
  • google-sheets/delete-table removes a table definition.

Developer metadata

  • google-sheets/create-developer-metadata attaches machine-readable metadata to a spreadsheet, sheet, row, or column.
  • google-sheets/update-developer-metadata changes developer metadata matched by a data filter.
  • google-sheets/delete-developer-metadata removes developer metadata matched by a data filter.

Connected data sources

  • google-sheets/add-data-source connects an external data source such as BigQuery to the spreadsheet.
  • google-sheets/update-data-source changes an existing data-source connection.
  • google-sheets/delete-data-source removes a data-source connection and its associated sheet.
  • google-sheets/refresh-data-source refreshes one or all data-source objects in the spreadsheet.
  • google-sheets/refresh-all-data-sources refreshes every connected data-source object in the spreadsheet. Requires a Google Workspace plan that includes Connected Sheets.
  • google-sheets/cancel-data-source-refresh cancels one or all in-progress data-source refreshes.
  • google-sheets/cancel-all-data-source-refreshes cancels every in-progress connected data-source refresh in the spreadsheet. Requires a Google Workspace plan that includes Connected Sheets.

Advanced

  • google-sheets/batch-update-spreadsheet applies one or more raw Sheets API requests to a spreadsheet atomically. Use this to combine several structural changes in a single call, or to reach a request type that has no dedicated action.

Known limitations

  • Google Sheets has no webhook or push notification surface of its own, so all three triggers poll. The default interval is five minutes for the sheet and worksheet triggers and fifteen minutes for the new spreadsheet trigger.
  • The New Row in Sheet trigger detects new and edited rows by hashing each row's values, so an edit to an existing row fires the trigger again. Rows already present when the workflow is published are not emitted.
  • Sheets enforces per-minute read and write quotas per project and per user. Workflows that write in tight loops may see rate-limit responses, which are retried automatically.
  • Connected data source actions require a Google Workspace plan that includes Connected Sheets. On other plans the provider rejects them.
  • Looking up a row by a column value, and upserting a row by key, are not available as single actions. Both need a read followed by conditional branching in the workflow, because the Sheets API has no server-side row search.
Was this helpful?