Skip to content
All connectors
Google Sheets logo

Google Sheets

Google applications

Connect Google Sheets to the rest of your business: accounts, files, mail and calendars kept in step.

15 ways to read, 14 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Google Sheets with Nexra

Connected, approved, proven.

The things teams do most with Google Sheets, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Create developer metadataApproval by rule
  • Insert rows or columnsApproval by rule
  • List banded rangesRead

Example flow

  1. Google Sheets · List banded rangesDone
  2. Google Sheets · Create developer metadataNeeds approval
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Google Sheets.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Google Sheets
  • Google Sheets's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Google test account before you go live.

For developers

Technical detail

Read spreadsheets, ranges, header-keyed rows and tables; append and update rows and values; add and rename sheets and named ranges; tag rows with developer metadata.

Google API docs
Source actions
15
Destination actions
14
Data types
15

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

Banded ranges1
  • List banded rangesSource

    Alternating-colour (banded) ranges on every sheet.

Charts1
  • List chartsSource

    Embedded charts on every sheet with their titles and chart types.

Developer metadata4
  • Create developer metadataDestinationProvider duplicate protectionApproval before production

    Tags a row, column, sheet or the spreadsheet with a key/value pair, for example an external record ID, so later flows can find it by metadata instead of by position.

  • Get developer metadataSource

    One developer metadata entry by ID.

  • Search developer metadataSource

    Developer metadata (key/value tags that integrations attach to rows, columns or sheets) by key.

  • Update developer metadataDestinationProvider duplicate protectionApproval before production

    Changes the value (and optionally the visibility) of one developer metadata entry.

Dimensions1
  • Insert rows or columnsDestinationNot retried automaticallyApproval before production

    Appends empty rows or columns to the end of a sheet, or inserts them at a position.

Filter views1
  • List filter viewsSource

    Saved filter views on every sheet.

Metadata ranges1
  • Get values by developer metadataSource

    Values of the rows, columns or sheets tagged with a developer metadata key (and optional value), so tagged records are found even after rows move (spreadsheets.values.batchGetByDataFilter).

Named ranges3
  • Add named rangeDestinationProvider duplicate protectionApproval before production

    Names a grid range so formulas and flows can refer to it.

  • List named rangesSource

    Named ranges defined in a spreadsheet with their grid coordinates.

  • Update named rangeDestinationProvider duplicate protectionApproval before production

    Renames a named range or moves it to a different grid range.

Protected ranges1
  • List protected rangesSource

    Protected ranges on every sheet, with editors and warning-only flags.

Range batches1
  • Update several rangesDestinationProvider duplicate protectionApproval before production

    Writes values into several A1 ranges in one request (spreadsheets.values.batchUpdate).

Ranges3
  • Get range valuesSource

    Values in one A1 range.

  • Get several rangesSource

    Values for several A1 ranges in one request (spreadsheets.values.batchGet).

  • Update range valuesDestinationProvider duplicate protectionApproval before production

    Writes values into one A1 range, overwriting existing cells.

Rows3
  • Append rowsDestinationNot retried automaticallyApproval before production

    Appends rows after the last row of the table found in the range (spreadsheets.values.append).

  • List rowsSource

    Rows of a sheet keyed by the header row, read in windows. Each record carries its row number so it can be updated later.

  • Update rowDestinationProvider duplicate protectionApproval before production

    Overwrites one row by its row number (as returned by List rows), starting at column A.

Sheet copies1
  • Copy sheet to spreadsheetDestinationNot retried automaticallyApproval before production

    Copies a sheet (tab) into another spreadsheet, for example a monthly template.

Sheets4
  • Add sheetDestinationProvider duplicate protectionApproval before production

    Adds a sheet (tab) with an optional position, grid size and frozen rows.

  • Get sheetSource

    One sheet (tab) by its sheet ID, with position, grid size and frozen rows.

  • List sheetsSource

    Every sheet (tab) in a spreadsheet with its ID, position and grid size.

  • Update sheet propertiesDestinationProvider duplicate protectionApproval before production

    Renames, moves, hides or freezes rows and columns on a sheet (tab).

Spreadsheets3
  • Create spreadsheetDestinationNot retried automaticallyApproval before production

    Creates a spreadsheet with a title and optional sheet (tab) names.

  • Get spreadsheetSource

    Spreadsheet title, locale, time zone and every sheet (tab) with its grid size.

  • Update spreadsheet propertiesDestinationProvider duplicate protectionApproval before production

    Renames a spreadsheet or changes its locale, time zone or recalculation setting.

Tables1
  • List tablesSource

    Structured tables on every sheet with their name, range and typed columns (useful to find a table's header and column types).

Access and limits

Authentication
Google OAuth client and refresh token
Plans and access
Personal Google accounts and all Google Workspace editions. Requires a customer-owned Google Cloud OAuth client. Sensitive and restricted scopes need Google verification before external users can authorise them.
Test environment
Use a test Google account and an OAuth client in testing mode.
Rate limits
300 read and 300 write requests per minute per project, 60 of each per minute per user; HTTP 429 (or 403 rate-limit reasons) with exponential backoff.
Pagination
Row windows: rows.list reads a fixed number of rows per page and returns the next start row as the cursor. Other reads return a single response.
Provider events
None in the Sheets API; change notifications come from Drive push notifications (files.watch). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.

Before you build a flow

  • Spreadsheets cannot be listed through the Sheets API; find spreadsheet IDs with the Google Drive connector (files.search with mimeType application/vnd.google-apps.spreadsheet).
  • The connection test reads Google's public sample spreadsheet from the Sheets quickstart, so it proves the token works without needing a customer spreadsheet ID.
  • Appending values, creating spreadsheets, copying sheets and inserting rows or columns have no idempotency key; uncertain writes are not repeated automatically.
  • Range writes (ranges.update, range_batches.update) overwrite cells, so repeating them converges on the same content.
  • Sheet names containing a slash cannot be addressed in a range path; rename the sheet or use its sheet ID with batchUpdate operations.
  • Cell formatting, conditional formats, pivot tables, slicers and data validation are not exposed as operations. Tables are read-only (tables.list).
  • Developer metadata create derives a metadata ID from the flow step when none is supplied, so a repeated step is rejected by Google instead of creating a second tag. Deleting developer metadata is not implemented.
  • Values by developer metadata (metadata_ranges.search) only returns ranges whose metadata is attached to rows, columns or sheets; spreadsheet-level metadata has no cell range.
  • Not implemented by design: values.clear and values.batchClear, deleteSheet, deleteDimension, deleteNamedRange, deleteProtectedRange, deleteDeveloperMetadata, deleteBanding, deleteTable and Drive file deletion.
  • Google reports some quota errors as HTTP 403 with a rate-limit reason; Nexra classifies those as rate limits.

Developer reference

  1. Create the Google credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Google Sheets, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/google-sheets and the Connections API.