Pipory
Node reference

Google Sheets

Google Sheets node reference - all 60 operations, the credential it needs, and a worked example.

readRange, batchGet, batchGetByDataFilter, findRow, getLastRow, appendRow, batchAppend, updateRange, batchUpdateValues, batchUpdateValuesByDataFilter, clearRange, batchClear, batchClearByDataFilter, createSpreadsheet, getSheetMetadata, getSpreadsheetByDataFilter, updateSpreadsheetProperties, addSheet, deleteSheet, duplicateSheet, renameSheet, copySheetToSpreadsheet, deleteRow, deleteDimension, insertDimension, appendDimension, moveDimension, updateDimensionProperties, autoResizeDimensions, mergeCells, unmergeCells, insertRange, deleteRange, copyPaste, cutPaste, pasteData, trimWhitespace, randomizeRange, autoFill, findReplace, sortRange, deleteDuplicates, textToColumns, setBasicFilter, clearBasicFilter, formatCells, setDataValidation, clearDataValidation, addConditionalFormatRule, deleteConditionalFormatRule, addProtectedRange, deleteProtectedRange, addNamedRange, deleteNamedRange, createDeveloperMetadata, updateDeveloperMetadata, deleteDeveloperMetadata, getDeveloperMetadata, searchDeveloperMetadata, batchUpdateRaw.

Credential: Google service account JSON key - see Credentials.

Scopes

Each operation below lists the scope it needs. Scopes are granted to the service account (and shared with the file). If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (60)

Read values

OperationWhat it doesScope
readRangeRead rangespreadsheets.readonly
batchGetRead multiple rangesspreadsheets.readonly
batchGetByDataFilterRead ranges by data filterspreadsheets.readonly
findRowFind row by valuespreadsheets.readonly
getLastRowGet last rowspreadsheets.readonly

Write values

OperationWhat it doesScope
appendRowAppend rowspreadsheets
batchAppendAppend rowsspreadsheets
updateRangeUpdate rangespreadsheets
batchUpdateValuesUpdate multiple rangesspreadsheets
batchUpdateValuesByDataFilterUpdate ranges by data filterspreadsheets

Clear values

OperationWhat it doesScope
clearRangeClear rangespreadsheets
batchClearClear multiple rangesspreadsheets
batchClearByDataFilterClear ranges by data filterspreadsheets

Spreadsheet

OperationWhat it doesScope
createSpreadsheetCreate spreadsheetspreadsheets + drive
getSheetMetadataGet spreadsheet metadataspreadsheets.readonly
getSpreadsheetByDataFilterGet spreadsheet by data filterspreadsheets.readonly
updateSpreadsheetPropertiesUpdate spreadsheet propertiesspreadsheets

Sheets (tabs)

OperationWhat it doesScope
addSheetAdd sheet (tab)spreadsheets
deleteSheetDelete sheetspreadsheets
duplicateSheetDuplicate sheetspreadsheets
renameSheetRename / update sheetspreadsheets
copySheetToSpreadsheetCopy sheet to another spreadsheetspreadsheets

Rows & columns

OperationWhat it doesScope
deleteRowDelete rowspreadsheets
deleteDimensionDelete rows or columnsspreadsheets
insertDimensionInsert rows or columnsspreadsheets
appendDimensionAppend rows or columnsspreadsheets
moveDimensionMove rows or columnsspreadsheets
updateDimensionPropertiesResize or hide rows/columnsspreadsheets
autoResizeDimensionsAuto-resize columnsspreadsheets

Cells & ranges

OperationWhat it doesScope
mergeCellsMerge cellsspreadsheets
unmergeCellsUnmerge cellsspreadsheets
insertRangeInsert cellsspreadsheets
deleteRangeDelete cellsspreadsheets
copyPasteCopy & paste rangespreadsheets
cutPasteCut & paste rangespreadsheets
pasteDataPaste delimited dataspreadsheets
trimWhitespaceTrim whitespacespreadsheets
randomizeRangeRandomize rowsspreadsheets
autoFillAuto-fill rangespreadsheets

Data tools

OperationWhat it doesScope
findReplaceFind & replacespreadsheets
sortRangeSort rangespreadsheets
deleteDuplicatesRemove duplicate rowsspreadsheets
textToColumnsSplit text to columnsspreadsheets
setBasicFilterSet filterspreadsheets
clearBasicFilterClear filterspreadsheets

Formatting & rules

OperationWhat it doesScope
formatCellsFormat cellsspreadsheets
setDataValidationSet data validationspreadsheets
clearDataValidationClear data validationspreadsheets
addConditionalFormatRuleAdd conditional format rulespreadsheets
deleteConditionalFormatRuleDelete conditional format rulespreadsheets
addProtectedRangeProtect rangespreadsheets
deleteProtectedRangeRemove range protectionspreadsheets
addNamedRangeAdd named rangespreadsheets
deleteNamedRangeDelete named rangespreadsheets

Developer metadata

OperationWhat it doesScope
createDeveloperMetadataCreate developer metadataspreadsheets
updateDeveloperMetadataUpdate developer metadataspreadsheets
deleteDeveloperMetadataDelete developer metadataspreadsheets
getDeveloperMetadataGet developer metadataspreadsheets.readonly
searchDeveloperMetadataSearch developer metadataspreadsheets.readonly

Advanced

OperationWhat it doesScope
batchUpdateRawRun raw batchUpdate requestsspreadsheets

Example

Look up a customer row in a shared ops sheet

A webhook fires with a customer email, and the workflow checks a sheet the ops team maintains by hand to see whether that customer already has a row. The sheet must be shared with the service account's client_email - the service account is a separate identity from your own Google account, so a sheet you can open is not automatically one this node can open.

Set Operation to findRow, then fill in:

FieldValueNotes
spreadsheetId1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upmsThe long ID from the sheet's URL
rangeCustomers!A:FThe range to scan, A1 notation
searchValue{{trigger.email}}Matches the first row where any cell equals this exactly

Sets {{lookup.found}} (true/false), {{lookup.rowIndex}} (0-based within the range, null when not found) and {{lookup.row}} (the matched row as an array of cells). A Branch node tests {{lookup.found}}; a later node reads a column with {{lookup.row.[2]}}.