Google Sheets for AI agents

Google Sheets is Google's cloud spreadsheet tool for data entry, formulas, and collaborative analysis, used by teams to track numbers, build lightweight databases, and share live working files. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

Databases and spreadsheetsOAuth 2.0MCP + RESTsheets.google.com
AUDIT LOG · GOOGLE SHEETSPOLICY: acme-support
09:41:07 · claude · u_8f2read
google_sheets.list_charts
List Charts in Google Sheets✓ allowed · 212ms
09:41:08 · claude · u_8f2read
google_sheets.list_tables
List Tables in Spreadsheet✓ allowed · 164ms
09:41:09 · claude · u_8f2write
google_sheets.create_chart
Create Chart in Google Sheets✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
google_sheets.delete_chart
Delete Chart from Google Sheets✕ blocked · policy: deny
EVERY GOOGLE SHEETS CALL, ON THE RECORD
01 · USE CASES

What agents do in Google Sheets.

01

Read data from a sheet

Pull values from a named range in a spreadsheet to summarize this month's numbers.

02

Append a new row of data

Add a new row to a tracking sheet with details from a completed task or order.

03

Clear values with confirmation

Clear a range of cells only after the sheet owner confirms the data can be safely wiped.

02 · ACTIONS

58 Google Sheets actions, graded by risk.

Every Google Sheets action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

20

Look things up. Allowed by default.

  • google_sheets.list_charts
    List Charts in Google Sheets
  • google_sheets.list_tables
    List Tables in Spreadsheet
  • google_sheets.query_table
    Query Spreadsheet Table
  • google_sheets.find_replace
    Find and Replace in Spreadsheet
  • google_sheets.get_sheet_names
    Get sheet names
  • google_sheets.get_batch_values
    Batch Get Spreadsheet Values (Deprecated)
  • google_sheets.get_table_schema
    Get Table Schema
  • google_sheets.list_drive_changes
    List Drive Changes
  • google_sheets.search_spreadsheets
    Search Spreadsheets
  • google_sheets.get_spreadsheet_info
    Get spreadsheet info
  • google_sheets.find_worksheet_by_title
    Find worksheet by title (Deprecated)
  • google_sheets.get_drive_file_metadata
    Get Drive File Metadata
  • google_sheets.get_data_validation_rules
    Get Data Validation Rules
  • google_sheets.search_developer_metadata
    Search Developer Metadata
  • google_sheets.get_conditional_format_rules
    Get conditional format rules
  • google_sheets.get_spreadsheet_by_data_filter
    Get Spreadsheet by Data Filter
+ 4 MORE

write

31

Create and change things. Allow, or ask the user first.

  • google_sheets.add_sheet
    Add Sheet to Existing Spreadsheet
  • google_sheets.create_chart
    Create Chart in Google Sheets
  • google_sheets.update_chart
    Update Chart in Google Sheets
  • google_sheets.update_values_batch
    Batch update spreadsheet values
  • google_sheets.create_google_sheet1
    Create a Google Sheet
  • google_sheets.create_spreadsheet_row
    Create spreadsheet row
  • google_sheets.update_sheet_properties
    Update Sheet Properties
  • google_sheets.create_spreadsheet_column
    Create spreadsheet column
  • google_sheets.update_dimension_properties
    Update Dimension Properties (Hide/Unhide & Resize)
  • google_sheets.update_spreadsheet_properties
    Update Spreadsheet Properties
  • google_sheets.move_chart
    Move or Resize Chart in Google Sheets
  • google_sheets.sort_range
    Sort Range
  • google_sheets.values_get
    Get spreadsheet values
  • google_sheets.execute_sql
    Execute SQL on Spreadsheet
  • google_sheets.format_cell
    Format cell
  • google_sheets.upsert_rows
    Upsert Rows (Smart Update/Insert)
+ 15 MORE

destructive

7

Delete, cancel or archive. Ask first, or deny outright.

  • google_sheets.delete_chart
    Delete Chart from Google Sheets
  • google_sheets.delete_sheet
    Delete Sheet
  • google_sheets.delete_dimension
    Delete Dimension (Rows/Columns)
  • google_sheets.clear_values
    Clear spreadsheet values
  • google_sheets.clear_basic_filter
    Clear Basic Filter
  • google_sheets.spreadsheets_values_batch_clear
    Batch Clear Spreadsheet Values
  • google_sheets.batch_clear_values_by_data_filter
    Batch Clear Values By Data Filter
03 · HOW IT WORKS

Google Sheets in three steps.

  1. 01Your users connect Google SheetsThey sign in to Google Sheets on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create Chart in Google Sheets” can wait for the user, and “delete Chart from Google Sheets” can be denied outright.
  3. 03Any agent can actYour agent calls Google Sheets through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('google_sheets', {
  read: 'allow',
  write: 'ask',        // create_chart
  destructive: 'deny',  // delete_chart
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Google Sheets connects.

Users sign in to Google Sheets on Arc0 Connect and approve the scopes you request. Build with Arc0’s Google Sheets OAuth app, or bring your own so the Google Sheets consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Google Sheets connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Google Sheets from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Google Sheets and Arc0, answered.

Q01

Can I use Google Sheets with Claude, ChatGPT or Cursor?

Yes. Connect Google Sheets to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Google Sheets actions you allow.

Q02

How do users connect Google Sheets?

Users sign in to Google Sheets on Arc0 Connect and approve the scopes you request. Build with Arc0’s Google Sheets OAuth app, or bring your own so the Google Sheets consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Google Sheets actions can my agent take?

58 in total: 20 read, 31 write and 7 destructive, such as “create Chart in Google Sheets”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Google Sheets?

Yes. Actions like “delete Chart from Google Sheets” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Google Sheets too?

Yes. The same Google Sheets connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Google Sheets into your agent.

Your users connect Google Sheets once, under your brand. Your agent gets 58 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan