# Google Sheets connector

[Product](https://paperclip.ing/product/) / [Connectors](https://paperclip.ing/product/connectors/) / Google Sheets

Read spreadsheets and update values and formulas.

Category: [Data](/product/connectors/?category=data)
Tools from: [Google Sheets](https://developers.google.com/workspace/sheets/api/reference/mcp)
Sign-in: Choose a supported connection method
Works as: Agent tool

Source recorded: Sep 30, 2026

## Overview

Paperclip’s Google Sheets MCP connector gives your AI agents tools to read spreadsheets and update values and formulas. Each tool can be Allowed, Ask first or Off.

Google sign-in reaches spreadsheets the authorizing account can open. The robot method enforces the list of spreadsheet links configured on the connection.

## What agents can do with Google Sheets

- Read spreadsheet structure and values (`get_spreadsheet`, `get_values`)
- Review values before updating them (`get_values`, `update_values`)
- Find an allowlisted spreadsheet and read cells (`list_spreadsheets`, `read_values`)

## How to connect Google Sheets

1. In Paperclip, open Connectors and select Google Sheets.
2. On the Access step, choose the identity and which agents may use the connection.
3. For Google sign-in, choose the capability group and sign in using Connect with Paperclip or your own OAuth app. For Use the Paperclip robot account, share spreadsheets with its email and paste their links.

[Setup guide](https://docs.paperclip.ing/connectors/google-setup/)

## Google Sheets tools for agents (14)



### Read (6)

<div data-tool-name="get_spreadsheet" data-tool-class="read">
<code>get_spreadsheet</code>
<p class="c4-description-summary">Returns the spreadsheet content for the given spreadsheet.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for get_spreadsheet">Full description</summary>

<pre class="faq-answer c4-description-text">Returns the spreadsheet content for the given spreadsheet. Returns titles, sheet names, grid properties, and other metadata for the given spreadsheet ID. Also returns full grid data if requested. Corresponds to spreadsheets.get in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/get</pre>
</details>
</div>

<div data-tool-name="get_spreadsheet_info" data-tool-class="read">
<code>get_spreadsheet_info</code>
<p class="c4-description-summary">Get spreadsheet metadata and sheet tab information for an allowlisted spreadsheet.</p>
</div>

<div data-tool-name="get_values" data-tool-class="read">
<code>get_values</code>
<p class="c4-description-summary">Returns a range of values from a spreadsheet.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for get_values">Full description</summary>

<pre class="faq-answer c4-description-text">Returns a range of values from a spreadsheet. Corresponds to spreadsheets.values.get in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/get</pre>
</details>
</div>

<div data-tool-name="list_spreadsheets" data-tool-class="read">
<code>list_spreadsheets</code>
<p class="c4-description-summary">List the Google Sheets spreadsheets configured in this connection allowlist.</p>
</div>

<div data-tool-name="read_values" data-tool-class="read">
<code>read_values</code>
<p class="c4-description-summary">Read cell values from an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="search_rows" data-tool-class="read">
<code>search_rows</code>
<p class="c4-description-summary">Search rows in an allowlisted spreadsheet range.</p>
</div>

### Write (8)

<div data-tool-name="add_sheet_tab" data-tool-class="write">
<code>add_sheet_tab</code>
<p class="c4-description-summary">Add a sheet tab to an allowlisted spreadsheet.</p>
</div>

<div data-tool-name="append_rows" data-tool-class="write">
<code>append_rows</code>
<p class="c4-description-summary">Append rows to an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="clear_values" data-tool-class="write">
<code>clear_values</code>
<p class="c4-description-summary">Clear values in an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="delete_rows" data-tool-class="write">
<code>delete_rows</code>
<p class="c4-description-summary">Delete rows from an allowlisted spreadsheet tab.</p>
</div>

<div data-tool-name="insert_dimension" data-tool-class="write">
<code>insert_dimension</code>
<p class="c4-description-summary">Inserts rows or columns in a sheet at a particular index.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for insert_dimension">Full description</summary>

<pre class="faq-answer c4-description-text">Inserts rows or columns in a sheet at a particular index. Corresponds to an InsertDimensionRequest in the spreadsheets.batchUpdate REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request</pre>
</details>
</div>

<div data-tool-name="update_formulas" data-tool-class="write">
<code>update_formulas</code>
<p class="c4-description-summary">Sets formulas in a range of a spreadsheet.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for update_formulas">Full description</summary>

<pre class="faq-answer c4-description-text">Sets formulas in a range of a spreadsheet. Corresponds to spreadsheets.values.update in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/update</pre>
</details>
</div>

<div data-tool-name="update_spreadsheet" data-tool-class="write">
<code>update_spreadsheet</code>
<p class="c4-description-summary">Applies one or more updates to the spreadsheet.Corresponds to spreadsheets.batchUpdate in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdateThe</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for update_spreadsheet">Full description</summary>

<pre class="faq-answer c4-description-text">Applies one or more updates to the spreadsheet.Corresponds to spreadsheets.batchUpdate in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdateThe list of possible updates is: updateSpreadsheetProperties: Updates the spreadsheet's properties. updateSheetProperties: Updates a sheet's properties. updateDimensionProperties: Updates dimensions' properties. updateNamedRange: Updates a named range. repeatCell: Repeats a single cell across a range. addNamedRange: Adds a named range. deleteNamedRange: Deletes a named range. addSheet: Adds a sheet. deleteSheet: Deletes a sheet. autoFill: Automatically fills in more data based on existing data. cutPaste: Cuts data from one area and pastes it to another. copyPaste: Copies data from one area and pastes it to another. mergeCells: Merges cells together. unmergeCells: Unmerges merged cells. updateBorders: Updates the borders in a range of cells. updateCells: Updates many cells at once. addFilterView: Adds a filter view. appendCells: Appends cells after the last row with data in a sheet. clearBasicFilter: Clears the basic filter on a sheet. deleteDimension: Deletes rows or columns in a sheet. deleteEmbeddedObject: Deletes an embedded object (e.g, chart, image) in a sheet. deleteFilterView: Deletes a filter view from a sheet. duplicateFilterView: Duplicates a filter view. duplicateSheet: Duplicates a sheet. findReplace: Finds and replaces occurrences of some text with other text. insertDimension: Inserts new rows or columns in a sheet. insertRange: Inserts new cells in a sheet, shifting the existing cells. moveDimension: Moves rows or columns to another location in a sheet. updateEmbeddedObjectPosition: Updates an embedded object's (e.g. chart, image) position. pasteData: Pastes data (HTML or delimited) into a sheet. textToColumns: Converts a column of text into many columns of text. updateFilterView: Updates the properties of a filter view. deleteRange: Deletes a range of cells from a sheet, shifting the remaining cells. appendDimension: Appends dimensions to the end of a sheet. addConditionalFormatRule: Adds a new conditional format rule. updateConditionalFormatRule: Updates an existing conditional format rule. deleteConditionalFormatRule: Deletes an existing conditional format rule. sortRange: Sorts data in a range. setDataValidation: Sets data validation for one or more cells. setBasicFilter: Sets the basic filter on a sheet. addProtectedRange: Adds a protected range. updateProtectedRange: Updates a protected range. deleteProtectedRange: Deletes a protected range. autoResizeDimensions: Automatically resizes one or more dimensions based on the contents of the cells in that dimension. addChart: Adds a chart. updateChartSpec: Updates a chart's specifications. updateBanding: Updates a banded range addBanding: Adds a new banded range deleteBanding: Removes a banded range createDeveloperMetadata: Creates new developer metadata updateDeveloperMetadata: Updates an existing developer metadata entry deleteDeveloperMetadata: Deletes developer metadata randomizeRange: Randomizes the order of the rows in a range. addDimensionGroup: Creates a group over the specified range. deleteDimensionGroup: Deletes a group over the specified range. updateDimensionGroup: Updates the state of the specified group. trimWhitespace: Trims cells of whitespace (such as spaces, tabs, or new lines). deleteDuplicates: Removes rows containing duplicate values in specified columns of a cell range. updateEmbeddedObjectBorder: Updates an embedded object's border. addSlicer: Adds a slicer. updateSlicerSpec: Updates a slicer's specifications. addDataSource: Adds a data source. updateDataSource: Updates a data source. deleteDataSource: Deletes a data source. refreshDataSource: Refreshes one or multiple data sources and associated dbobjects. cancelDataSourceRefresh: Cancels refreshes of one or multiple data sources and associated dbobjects. addTable: Adds a table. updateTable: Updates a table. deleteTable: A request for deleting a table.</pre>
</details>
</div>

<div data-tool-name="update_values" data-tool-class="write">
<code>update_values</code>
<p class="c4-description-summary">Sets values in a range of a spreadsheet.</p>
<details class="faq-item c4-tool-description">
<summary class="faq-header" aria-label="Full description for update_values">Full description</summary>

<pre class="faq-answer c4-description-text">Sets values in a range of a spreadsheet. Corresponds to spreadsheets.values.update in the REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/update</pre>
</details>
</div>

This list describes the reviewed tools. Your selected method, provider access and action permissions determine what agents can use.

These lists use a conservative permission policy. Read requires a provider read-only hint or a reviewed Paperclip read rule. Evidence that an action changes data or submits information elsewhere puts it in Write. Write also includes actions we cannot verify as read-only. Read describes the reviewed evidence; it does not guarantee that an action has no side effects. A connected account can group actions differently.

This list comes from published provider information. Authorization, plan, deployment version and account settings can limit the actions available. No connected account was tested. Google sign-in and the local robot account have separate tool lists. Local tools require an explicit spreadsheet allowlist; the local update_values description is shown separately from the remote tool with the same name.



Tools for Connect with Paperclip — Read only / Use your own Google OAuth app — Read only

`get_spreadsheet`, `get_values`

Tools for Connect with Paperclip — Read & edit / Use your own Google OAuth app — Read & edit

`get_spreadsheet`, `get_values`, `insert_dimension`, `update_formulas`, `update_spreadsheet`, `update_values`

Local tools for Use the Paperclip robot account — Share selected sheets

<div data-tool-name="add_sheet_tab" data-tool-class="write">
<code>add_sheet_tab</code>
<p class="c4-description-summary">Add a sheet tab to an allowlisted spreadsheet.</p>
</div>

<div data-tool-name="append_rows" data-tool-class="write">
<code>append_rows</code>
<p class="c4-description-summary">Append rows to an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="clear_values" data-tool-class="write">
<code>clear_values</code>
<p class="c4-description-summary">Clear values in an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="delete_rows" data-tool-class="write">
<code>delete_rows</code>
<p class="c4-description-summary">Delete rows from an allowlisted spreadsheet tab.</p>
</div>

<div data-tool-name="get_spreadsheet_info" data-tool-class="read">
<code>get_spreadsheet_info</code>
<p class="c4-description-summary">Get spreadsheet metadata and sheet tab information for an allowlisted spreadsheet.</p>
</div>

<div data-tool-name="list_spreadsheets" data-tool-class="read">
<code>list_spreadsheets</code>
<p class="c4-description-summary">List the Google Sheets spreadsheets configured in this connection allowlist.</p>
</div>

<div data-tool-name="read_values" data-tool-class="read">
<code>read_values</code>
<p class="c4-description-summary">Read cell values from an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="search_rows" data-tool-class="read">
<code>search_rows</code>
<p class="c4-description-summary">Search rows in an allowlisted spreadsheet range.</p>
</div>

<div data-tool-name="update_values" data-tool-class="write">
<code>update_values</code>
<p class="c4-description-summary">Update values in an allowlisted spreadsheet range.</p>
</div>

### Connection policies

Discovered actions follow the connection’s policies. Review their permissions and set actions to Ask first or Off as needed. Set clear_values and delete_rows to Ask first because their data removal cannot be undone from Paperclip.

## Google Sheets connector FAQ

### Can I require approval for actions?

Set an action to Ask first to require human approval of each call or Off to prevent calls. Allowed actions run without approval. Read and Write grouping is separate from these settings.

### What can agents reach in Google Sheets?

Google sign-in reaches spreadsheets the authorizing account can open. The robot method enforces the list of spreadsheet links configured on the connection.

### What do I need before connecting?

Google sign-in requires Developer Preview registration. The robot method requires an instance administrator’s configured service account and spreadsheet sharing; it does not require Developer Preview.


Ways to connect

- Connect with Paperclip
  - Read only: Use Paperclip-managed OAuth for read-only Sheets access.
  - Read & edit: Use Paperclip-managed OAuth to read and update Sheets.
- Use your own Google OAuth app
  - Read only: Use your own Google OAuth app for read-only Sheets access.
  - Read & edit: Use your own Google OAuth app to read and update Sheets.
- Use the Paperclip robot account
  - Share selected spreadsheets with the Paperclip robot account instead of connecting a Google identity.

[Google Sheets connector](https://docs.paperclip.ing/connectors/google-sheets/)

[Set action permissions](https://docs.paperclip.ing/connectors/action-permissions/)

## Related connectors

- [Airtable](https://paperclip.ing/product/connectors/airtable/): Find records, inspect fields and update table rows.
- [ClickHouse](https://paperclip.ing/product/connectors/clickhouse/): Connect a ClickHouse Cloud ClickStack service.
- [Google Workspace Search](https://paperclip.ing/product/connectors/google-workspace-search/): Search across Gmail, Drive, Calendar and Chat.

## Give your agents Google Sheets.

Join the Paperclip waitlist to connect Google Sheets and choose what your agents can do.

[Join the waitlist](https://paperclip.ing/waitlist/)
