- Documentation
- Integrations
- Apps
- Google Sheets integration
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
- Open the workflow editor and add any Google Sheets node.
- In the node's Connection field, choose Add connection.
- Sign in with the Google account whose spreadsheets you want to manage on behalf of your client.
- 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.
- 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-rowpolls 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-worksheetpolls 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-spreadsheetpolls 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-valuesreads a range of cell values from a Google Sheetgoogle-sheets/batch-get-valuesreads cell values from several ranges of one spreadsheet in a single call.google-sheets/batch-get-values-by-data-filterreads cell values from the ranges selected by one or more data filters.google-sheets/get-spreadsheetreads a spreadsheet's metadata, including every worksheet, named range, and optionally its cell data.google-sheets/get-spreadsheet-by-data-filterreads a spreadsheet's metadata and cell data for the ranges selected by one or more data filters.google-sheets/get-developer-metadatareads a single developer-metadata entry by its numeric id.google-sheets/search-developer-metadatafinds developer-metadata entries in a spreadsheet that match one or more data filters.
Write values
google-sheets/append-rowsappends rows of data to a Google Sheetgoogle-sheets/update-cellsupdates a range of cells in a Google Sheet with new valuesgoogle-sheets/batch-update-valuesupdates multiple ranges of cells in a Google Sheet in a single requestgoogle-sheets/batch-update-values-by-data-filterwrites cell values into every range selected by one or more data filters.google-sheets/update-cells-with-formatwrites cell values and formats over a range.google-sheets/append-cellsappends rows of formatted cells after the last row of data.google-sheets/paste-datapastes delimited or HTML data into a sheet starting at a coordinate.google-sheets/auto-fillextends 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-seriescontinues 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-rangeclears the content of a range of cells in a Google Sheetgoogle-sheets/batch-clear-valuesclears the values from several ranges at once, leaving formatting and formulas' cells in place.google-sheets/batch-clear-values-by-data-filterclears the values from every range selected by one or more data filters.google-sheets/delete-rangedeletes a range of cells and shifts neighbouring cells into the gap.google-sheets/insert-rangeinserts empty cells into a range, shifting neighbouring cells away.google-sheets/delete-duplicatesdeletes rows in a range that duplicate earlier rows.google-sheets/trim-whitespacetrims leading and trailing whitespace from every cell in a range.
Spreadsheets and worksheets
google-sheets/create-spreadsheetcreates a new Google Spreadsheetgoogle-sheets/update-spreadsheet-propertieschanges spreadsheet-level settings such as title, locale, or timezone.google-sheets/add-sheetadds a new worksheet (tab) to a spreadsheet.google-sheets/delete-sheetpermanently deletes a worksheet (tab) and all of its data.google-sheets/duplicate-sheetcopies a worksheet within the same spreadsheet.google-sheets/update-sheet-propertiesrenames a worksheet or changes its index, tab colour, or visibility.google-sheets/copy-sheet-to-spreadsheetcopies a worksheet from one spreadsheet into another spreadsheet.
Rows and columns
google-sheets/insert-dimensioninserts empty rows or columns at a position, shifting existing cells.google-sheets/delete-dimensiondeletes rows or columns and shifts the remaining cells up or left.google-sheets/append-dimensionappends empty rows or columns to the end of a worksheet.google-sheets/move-dimensionmoves a span of rows or columns to a new position.google-sheets/update-dimension-propertiessets pixel size or hidden state for a span of rows or columns.google-sheets/auto-resize-dimensionsresizes rows or columns to fit their contents.google-sheets/add-dimension-groupcreates a collapsible group over a span of rows or columns.google-sheets/update-dimension-groupcollapses or expands an existing row or column group.google-sheets/delete-dimension-groupremoves a collapsible group from a span of rows or columns.
Find, sort and rearrange
google-sheets/find-replacefinds 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-sheetsfinds and replaces text across every worksheet in a spreadsheet. To limit the search to one worksheet, use Find and Replace instead.google-sheets/sort-rangesorts the rows of a range by one or more columns.google-sheets/randomize-rangerandomly shuffles the rows of a range.google-sheets/text-to-columnssplits a column of delimited text into multiple columns.google-sheets/copy-pastecopies a source range over a destination range.google-sheets/cut-pastemoves a source range to a destination, clearing the source.google-sheets/merge-cellsmerges a range of cells into a single cell.google-sheets/unmerge-cellssplits every merged cell within a range back into individual cells.
Formatting
google-sheets/repeat-cellapplies the same cell format or content to every cell in a range.google-sheets/update-borderssets or clears borders on a range of cells.google-sheets/add-bandingapplies an alternating-colour banded range.google-sheets/update-bandingchanges an existing banded range.google-sheets/delete-bandingremoves a banded range.google-sheets/add-conditional-format-ruleadds a conditional formatting rule at an index.google-sheets/update-conditional-format-rulereplaces or reorders an existing conditional formatting rule.google-sheets/delete-conditional-format-ruleremoves a conditional formatting rule by index.google-sheets/set-data-validationapplies or clears a data-validation rule over a range.
Named and protected ranges
google-sheets/add-named-rangedefines a named range over a block of cells.google-sheets/update-named-rangechanges the name or extent of a named range.google-sheets/delete-named-rangeremoves a named range definition.google-sheets/add-protected-rangerestricts who may edit a range or sheet.google-sheets/update-protected-rangechanges an existing protected range or its editors.google-sheets/delete-protected-rangeremoves protection from a range.
Filters
google-sheets/set-basic-filterapplies a filter to a range on a sheet.google-sheets/clear-basic-filterremoves the basic filter from a sheet.google-sheets/add-filter-viewcreates a saved filter view over a range.google-sheets/update-filter-viewchanges an existing filter view.google-sheets/delete-filter-viewremoves a saved filter view.google-sheets/duplicate-filter-viewcopies a saved filter view.
Charts, slicers and tables
google-sheets/add-chartembeds a new chart in a spreadsheet.google-sheets/update-chart-specreplaces the specification of an existing chart.google-sheets/add-sliceradds a slicer control to a sheet.google-sheets/update-slicer-specreplaces the specification of an existing slicer.google-sheets/delete-embedded-objectdeletes an embedded object such as a chart or image.google-sheets/update-embedded-object-borderchanges the border of an embedded object.google-sheets/update-embedded-object-positionmoves or resizes an embedded object by overlaying it on a grid at an anchor cell.google-sheets/move-embedded-object-to-sheetmoves 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-sheetmoves an embedded object onto a brand-new worksheet.google-sheets/add-tabledefines a table over a range of cells.google-sheets/update-tablechanges an existing table definition.google-sheets/delete-tableremoves a table definition.
Developer metadata
google-sheets/create-developer-metadataattaches machine-readable metadata to a spreadsheet, sheet, row, or column.google-sheets/update-developer-metadatachanges developer metadata matched by a data filter.google-sheets/delete-developer-metadataremoves developer metadata matched by a data filter.
Connected data sources
google-sheets/add-data-sourceconnects an external data source such as BigQuery to the spreadsheet.google-sheets/update-data-sourcechanges an existing data-source connection.google-sheets/delete-data-sourceremoves a data-source connection and its associated sheet.google-sheets/refresh-data-sourcerefreshes one or all data-source objects in the spreadsheet.google-sheets/refresh-all-data-sourcesrefreshes every connected data-source object in the spreadsheet. Requires a Google Workspace plan that includes Connected Sheets.google-sheets/cancel-data-source-refreshcancels one or all in-progress data-source refreshes.google-sheets/cancel-all-data-source-refreshescancels every in-progress connected data-source refresh in the spreadsheet. Requires a Google Workspace plan that includes Connected Sheets.
Advanced
google-sheets/batch-update-spreadsheetapplies 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.