Google Sheets Block
Create spreadsheets and read, write, append, clear, and manage Google Sheets data through a Nango OAuth connection
The Google Sheets block exposes 20 operations through the searchable Action selector. Each action ID is google-sheets. followed by an operation below, such as google-sheets.appendValues.
Connect an account
Choose Google Sheets on the Integrations page and authorize with Google. Loopfour requests the spreadsheets and drive.file scopes; the block can read and write any spreadsheet the authorizing user can edit. Select the account in Google Sheets Account on the block.
Operations
| Group | Operation | What it does |
|---|---|---|
| Spreadsheets | createSpreadsheet | Create a spreadsheet with an optional list of sheet titles |
| Spreadsheets | getSpreadsheet | Read title, URL, and every sheet's numeric sheetId |
| Spreadsheets | getSpreadsheetByDataFilter | Read the spreadsheet limited to matching data filters |
| Sheets | addSheet | Add a sheet (tab) |
| Sheets | copySheet | Copy a sheet into another spreadsheet |
| Sheets | deleteSheet | Delete a sheet by exact title. Irreversible. |
| Sheets | insertColumn | Insert one empty column at a zero-based index |
| Values | readValues | Read one A1 range |
| Values | updateValues | Overwrite an A1 range with a 2-D matrix |
| Values | appendValues | Append rows after the table that contains the range |
| Values | insertRow | Insert one row at a zero-based index and fill it; the sheet is addressed by sheetId, and an optional sheetTitle is verified against it |
| Values | upsertRow | Overwrite the first row whose key column matches, otherwise append |
| Values | clearValues | Clear one range, keeping formatting |
| Batch | batchGetValues | Read several ranges in one call |
| Batch | batchGetValuesByDataFilter | Read ranges matched by data filters |
| Batch | batchClearValues | Clear several ranges |
| Batch | batchClearValuesByDataFilter | Clear ranges matched by data filters |
| Advanced | batchUpdateSpreadsheet | Send raw Sheets API Request objects |
| Advanced | searchDeveloperMetadata | Find developer metadata by data filter |
| Advanced | updateConditionalFormatRule | Replace or move a conditional format rule |
Ranges and values
- Ranges use A1 notation. Quote sheet titles that contain spaces or apostrophes:
'Q3 Data'!A1:C10,'Bob''s'!A:A. valuesfor Update Values and Append Values is a rectangular JSON matrix:[["Name","Amount"],["Acme",1250]]. A single row must still be wrapped:[["only","row"]]. Insert Row and Upsert Row use a separaterowValuesfield holding one flat row:["Acme",1250].- Cells may be strings, numbers, booleans, or
null(skip the cell). - Value Input Option defaults to RAW, which stores values literally. Choose USER_ENTERED only when Google should parse formulas, dates, and numbers as if typed into the UI.
getSpreadsheetreturns each sheet's numericsheetId;copySheet,insertRow, andinsertColumnneed that number, not the title.
Limits
Google's Sheets API usage limits allow 60 read and 60 write requests per minute per user per project. Batch rows into one Append Values call instead of looping. Reads larger than 1.6 MB fail in Loopfour; narrow the range. Update Values rejects a matrix that extends past its range; use whole-column ranges such as LTV!A:B when the row count varies. Batch Update Spreadsheet sends raw Sheets API requests, including deletions and formula writes; it is irreversible and bypasses the RAW default.
Outputs
Reads return range, majorDimension, and values (batch reads return valueRanges). Writes return updatedRange, updatedRows, updatedColumns, and updatedCells; Append Values also returns tableRange. Upsert Row returns upsertResult (updated or appended). Delete Sheet returns deleted: true.
Loopfour