Google Sheets integration for AI agents.
Google Sheets integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Google Sheets tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Google Sheets actions, managed and audited.
Your user connects Google Sheets once; your agent can then secure AI-agent actions — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Google Sheets access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Google Sheets tools.
17 tools are generated from the published Google Sheets catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 17 tools. All published catalog entries are included in this page's server-rendered HTML.
- Sheets Spreadsheets BatchUpdate
- Applies one or more updates to the spreadsheet. Each request is validated before being applied. If any request is not valid then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. The replies will mirror the requests. For example, if you applied 4 updates and the 3rd one had a reply, then the response will have 2 empty replies, the actual reply, and another empty reply, in that order. Due to the collaborative nature of spreadsheets, it is not guaranteed that the spreadsheet will reflect exactly your changes after this completes, however it is guaranteed that the updates in the request will be applied together atomically. Your changes may be altered with respect to collaborator changes. If there are no collaborators, the spreadsheet should reflect your changes.
- spreadsheets
- Sheets Spreadsheets Create
- Creates a spreadsheet, returning the newly created spreadsheet.
- spreadsheets
- Sheets Spreadsheets DeveloperMetadata Get
- Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata).
- spreadsheets
- Sheets Spreadsheets DeveloperMetadata Search
- Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). If the provided DataFilter represents a DeveloperMetadataLookup object, this will return all DeveloperMetadata entries selected by it. If the DataFilter represents a location in a spreadsheet, this will return all developer metadata associated with locations intersecting that region.
- spreadsheets
- Sheets Spreadsheets Get
- Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 ways: * Specify a [field mask](https://developers.google.com/workspace/sheets/api/guides/field-masks) listing your desired fields using the `fields` URL parameter in HTTP * Set the includeGridData URL parameter to true. If a field mask is set, the `includeGridData` parameter is ignored For large spreadsheets, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the ranges URL parameter. Ranges are specified using [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). You can define a single cell (for example, `A1`) or multiple cells (for example, `A1:D5`). You can also get cells from other sheets within the same spreadsheet (for example, `Sheet2!A1:C4`) or retrieve multiple ranges at once (for example, `?ranges=A1:D5&ranges=Sheet2!A1:C4`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges.
- spreadsheets
- Sheets Spreadsheets GetByDataFilter
- Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). This method differs from GetSpreadsheet in that it allows selecting which subsets of spreadsheet data to return by specifying a dataFilters parameter. Multiple DataFilters can be specified. Specifying one or more data filters returns the portions of the spreadsheet that intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data in one of two ways: * Specify a [field mask](https://developers.google.com/workspace/sheets/api/guides/field-masks) listing your desired fields using the `fields` URL parameter in HTTP. * Set the includeGridData parameter to `true`. If a field mask is set, the `includeGridData` parameter is ignored. For large spreadsheets, as a best practice, retrieve only the specific spreadsheet fields that you want.
- spreadsheets
- Sheets Spreadsheets Sheets CopyTo
- Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet.
- spreadsheets
- Sheets Spreadsheets Values Append
- Appends values to a spreadsheet. The input range is used to search for existing data and find a "table" within that range. Values will be appended to the next row of the table, starting with the first column of the table. See the [guide](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) for specific details of how tables are detected and data is appended. The caller must specify the spreadsheet ID, range, and a valueInputOption. The `valueInputOption` only controls how the input data will be added to the sheet (column-wise or row-wise), it does not influence what cell the data starts being written to.
- spreadsheets
- Sheets Spreadsheets Values BatchClear
- Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. Only values are cleared -- all other properties of the cell (such as formatting and data validation) are kept.
- spreadsheets
- Sheets Spreadsheets Values BatchClearByDataFilter
- Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc.) are kept.
- spreadsheets
- Sheets Spreadsheets Values BatchGet
- Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges.
- spreadsheets
- Sheets Spreadsheets Values BatchGetByDataFilter
- Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID and one or more DataFilters. Ranges that match any of the data filters in the request will be returned.
- spreadsheets
- Sheets Spreadsheets Values BatchUpdate
- Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges.
- spreadsheets
- Sheets Spreadsheets Values BatchUpdateByDataFilter
- Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges.
- spreadsheets
- Sheets Spreadsheets Values Clear
- Clears values from a spreadsheet. The caller must specify the spreadsheet ID and range. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.
- spreadsheets
- Sheets Spreadsheets Values Get
- Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range.
- spreadsheets
- Sheets Spreadsheets Values Update
- Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption.
- spreadsheets
Google Sheets integration, answered
- How do AI agents use Google Sheets through Open Connector?
- Your user connects Google Sheets once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Google Sheets tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Google Sheets MCP server?
- Yes. Open Connector can serve Google Sheets as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Google Sheets actions with credentials injected server-side.
- Where do Google Sheets credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Google Sheets — keep the keys.
Open source, self-hostable, with Google Sheets credentials that never leave your infrastructure. Run it from source today.