Google Sheets
Read spreadsheet metadata, ranges and header-keyed rows; append and update values; add and rename sheets, named ranges and rows in Google Sheets.
Use Google Sheets as a lightweight database, report destination or operations log in any flow without manual copy and paste.
Source actions
11
Destination actions
10
Data types
12
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
charts
- List chartsSource
Embedded charts on every sheet with their titles and chart types.
charts.list
developer metadata
- Get developer metadataSource
One developer metadata entry by ID.
developer_metadata.get - Search developer metadataSource
Developer metadata (key/value tags that integrations attach to rows, columns or sheets) by key.
developer_metadata.search
dimensions
- 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.
dimensions.create
filter views
- List filter viewsSource
Saved filter views on every sheet.
filter_views.list
named ranges
- Add named rangeDestinationProvider duplicate protectionApproval before production
Names a grid range so formulas and flows can refer to it.
named_ranges.create - List named rangesSource
Named ranges defined in a spreadsheet with their grid coordinates.
named_ranges.list
protected ranges
- List protected rangesSource
Protected ranges on every sheet, with editors and warning-only flags.
protected_ranges.list
range batches
- Update several rangesDestinationProvider duplicate protectionApproval before production
Writes values into several A1 ranges in one request (spreadsheets.values.batchUpdate).
range_batches.update
ranges
- Get range valuesSource
Values in one A1 range.
ranges.get - Get several rangesSource
Values for several A1 ranges in one request (spreadsheets.values.batchGet).
ranges.search - Update range valuesDestinationProvider duplicate protectionApproval before production
Writes values into one A1 range, overwriting existing cells.
ranges.update
rows
- Append rowsDestinationNot retried automaticallyApproval before production
Appends rows after the last row of the table found in the range (spreadsheets.values.append).
rows.create - 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.
rows.list
sheet copies
- Copy sheet to spreadsheetDestinationNot retried automaticallyApproval before production
Copies a sheet (tab) into another spreadsheet, for example a monthly template.
sheet_copies.create
sheets
- Add sheetDestinationProvider duplicate protectionApproval before production
Adds a sheet (tab) with an optional position, grid size and frozen rows.
sheets.create - List sheetsSource
Every sheet (tab) in a spreadsheet with its ID, position and grid size.
sheets.list - Update sheet propertiesDestinationProvider duplicate protectionApproval before production
Renames, moves, hides or freezes rows and columns on a sheet (tab).
sheets.update
spreadsheets
- Create spreadsheetDestinationNot retried automaticallyApproval before production
Creates a spreadsheet with a title and optional sheet (tab) names.
spreadsheets.create - Get spreadsheetSource
Spreadsheet title, locale, time zone and every sheet (tab) with its grid size.
spreadsheets.get - Update spreadsheet propertiesDestinationProvider duplicate protectionApproval before production
Renames a spreadsheet or changes its locale, time zone or recalculation setting.
spreadsheets.update
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). Nexra event triggers are not yet available; flows run on demand or on a schedule.
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.
- Clearing values, deleting sheets, rows, columns, named ranges or protected ranges, and other destructive batchUpdate requests are intentionally not implemented.
- 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 and data validation are not exposed as operations.
- Google reports some quota errors as HTTP 403 with a rate-limit reason; Nexra classifies those as rate limits.
Developer reference
- Create the Google credentials described above with the narrowest permissions your flows need.
- 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
- 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.