SheetRelay: make your Google Sheet an API

SheetRelay

9 min read Original article ↗

Make your Sheet
an API

Connect a Google Sheet once. Your AI assistant and your code can both use it, under rules you set.

Works with the tools you already use

ClaudeChatGPTCursorZapierMaken8ncurl

Agent setup

Tell your agent what you need, get a database with an API.

No spreadsheet yet? You do not need one. Tell the agent you already use what you are building, and it makes the spreadsheet in your own Google Drive. That spreadsheet is the database your site or app reads and writes.

How the connector works

Claude

I run a barbershop. I want a booking page where customers pick a time.

Two tabs then: Customers (name, phone) and Appointments (customer, date, time, service). Create them?

Yes, and the page needs to read them.

Done. Both are in your Drive, the API is live, and the page has a key of its own.

What that made

  • Customers and Appointments, in your own Drive
  • GET /rosa/barbershop/appointments
  • srl_pub_… for the booking page

Access

Read it and write to it from anywhere

Connect one tab. It stays in Google Sheets, exactly where it is, and from then on an assistant can answer questions from it, your site can add and change rows, and a page anyone opens can show them.

Your Sheets

Your assistant

Ask in plain words, “which orders are still open?”, and it reads the tab. It can write a row back when you let it.

ClaudeChatGPTCursor

Your site and tools

A site you built, a form, an automation. If it can open a web address, it can read the tab and write to it.

ZapierMaken8n

A page anyone can open

Put the rows on a public page, or collect answers into them. Visitors see what is in the tab now, and what they type lands in it.

yoursite.com/menu

Use cases

The back end you already know how to use

A blog, an admin screen, a menu, an invitation. Four real things, none of them with a back end. Open one and watch what it does to the tab underneath it.

Personal blogsPosts in rows, published by typing one

adaokonjo.com

Ada OkonjoWritingAbout

Notes on building small things, mostly on spreadsheets.

Shipping on a spreadsheet12 SepEverything on this site is a row in one tab.Notes on rewriting a page11 SepWhy I stopped writing scripts10 Sep

Posts in rows, published by typing one

More on Personal blogs
Internal toolsA screen for the team, with read, add, change and delete on your terms

ops.acme.com

Acme opsOrdersCustomersStock

Orders248SearchM

OrderCustomerTotalStatusA-1043Mira Haddad$248.00OpenPaidA-1042Ada Okonjo$96.00OpenA-1041Noor Bakhtiari$1,120.00Paid

A screen for the team, with read, add, change and delete on your terms

More on Internal tools
Menu sitesA menu page that reads the tab the kitchen already keeps

bistroverde.com

Bistro Verde

Dinner, Thursday to Sunday

Ember sea bass24Fennel, brown butter, sorrelSalt cod croquettes9Charred hispi cabbage11

A menu page that reads the tab the kitchen already keeps

More on Menu sites
RSVP pagesGuests reply on your page, the guest list fills itself in

adaandnoor.com

Ada & Noor

Saturday 12 June, Lisbon

Will you be there?

Yes, with pleasureSorry, noSend

Guests reply on your page, the guest list fills itself in

More on RSVP pages
See all use cases

Setup

Live in about two minutes

No schema to define, no code to write, nothing to install, and no copy of your data to keep in sync.

  1. 1

    Connect the sheet

    Pick the file with Google, or share it with the address we show you.

  2. 2

    Check what is exposed

    Correct the types, hide the columns that should stay private.

  3. 3

    Go live

    An address, a key, and setup snippets for Claude, ChatGPT and curl.

Control

You decide what gets through

Nothing is copied anywhere. Rows are read from your sheet when a call asks for them, and what a key or an assistant may do with them is yours to set, tab by tab and column by column.

Hidden columns never leave the server

Mask a column and it is gone from every response and from the description an assistant reads. It cannot ask for something it has never seen.

order_idcustomerqtymargininternal_notes

Permissions per tab

Read, add, change and delete are four separate switches on every tab. New tabs start read-only.

Keys you can narrow

One key per app, revocable on the spot, and on Pro you can pin it to specific tabs, columns and rows.

Every call is on the record

The logs show what was called, by which key, and why anything was refused. Refused calls do not count against your allowance.

  • Your cells cannot give instructions. What an assistant reads is built from your column names, never from the contents of your rows.

  • Nothing is duplicated. There is no second copy of your data to fall behind, and no sync to watch.

  • Stored and processed in the EU. Keys are kept as one-way fingerprints, so not even we can read one back.

Functions

The formula nobody wants to rewrite

Most spreadsheets are not tables. They are calculators somebody built years ago that the whole team trusts. Point SheetRelay at the input and output cells and that calculator becomes callable, with named arguments, from an assistant or from your code.

The sheet does the maths, exactly as it does today, and your original values go back afterwards. Nobody has to rebuild the formula in code.

calculate_quote(qty: 12, discount: 0.1)

Pricing!B4 and Pricing!B5 are written

total: 1080, unit_price: 90

your original values are restored

What it looks like

The same row, wherever you ask for it

Your assistant asks in words. Your code asks over HTTP. Both land on the tab you keep in Google Sheets, and both see the change you made a second ago.

  • Assistants. Claude, ChatGPT and Cursor connect over MCP and can read and write, within the rules you set.

  • Your code. One address per tab, called with an ordinary HTTP request. Nothing to install.

  • The sheet. Still a Google Sheet. Open it and edit it exactly as you do today.

Pricing

Priced so the bill never surprises you

Every plan stops at its monthly allowance. There is no overage billing, so the invoice is always the plan price.

Free

$0

2 spreadsheets, 1,000 calls a month, no card.

Start free

Starter

$9 /mo

5 spreadsheets, 10,000 calls, callable functions.

Start trial

Pro

$29 /mo

20 spreadsheets, 100,000 calls, narrowed keys, 3 seats.

Start trial

Team

$79 /mo

100 spreadsheets, 500,000 calls, 15 seats.

Start trial

Two months free on annual billing. Every trial runs 14 days. See what each plan includes.

FAQ

Questions people ask first

What does SheetRelay do?

SheetRelay turns a Google Sheet into an API. You connect a spreadsheet once, and from then on an AI assistant like Claude or ChatGPT can read and update rows in conversation, while your own code or an automation tool can do the same over plain HTTP. Your data stays in your Google Sheet.

Do I need to be a developer to use it?

No. Connecting a sheet and using it with an AI assistant is point and click: you pick the spreadsheet, review what is being exposed, and paste one address into Claude or ChatGPT. The REST API is there for when you or a developer want it, not because you need it.

Does SheetRelay copy my spreadsheet?

No. Rows are read from your Google Sheet when a call asks for them and are not stored afterwards. SheetRelay keeps your column names, types and a small sample used to describe the data, nothing more. Close your account and the access is handed back.

Can I control what an AI assistant is allowed to change?

Yes, at three levels. Each tab has its own read, add, change and delete switches. Each key can be narrower still, down to specific tabs, columns and even rows on Pro and Team. Columns you mask never leave the server, so an assistant is never told they exist.

Why not just use the AI built into Google Sheets?

Gemini in Sheets helps the person who has the spreadsheet open: it writes formulas, fills cells and answers questions inside the file. SheetRelay does the opposite job. It makes the sheet reachable from outside, so the assistant you already use, a script, or a no-code tool can read and write it without anyone opening the file or being given access to it. You also get things a chat sidebar cannot offer: per-tab permissions, hidden columns, keys you can revoke, and a log of every call.

Why not just connect my AI agent to Google Sheets directly?

You can, but a direct connection is all or nothing: anything you let open the spreadsheet can read every tab, every column and every row in it, and with edit access it can change any of them. SheetRelay shapes that access instead, so an agent gets exactly the tabs, columns and verbs you chose and nothing else. New tabs start read-only, each tool carries its own key you can revoke on its own, and every call is logged with the reason anything was refused. If you would rather it never touched your Google account at all, share one spreadsheet with a SheetRelay address, the way you would share it with a colleague.

Which AI tools does it work with?

Anything that speaks MCP, which includes Claude, Claude Code, ChatGPT custom connectors and Cursor. Claude and ChatGPT sign in through SheetRelay and receive a short-lived pass instead of holding a key, and you can disconnect them at any time.

Can it write back to my sheet, or only read?

It can write. Read, add, change and delete are four separate switches on every tab, so a spreadsheet can be read-only, or accept new rows without allowing edits, or anything in between. New tabs start read-only until you say otherwise.

Can a row in my spreadsheet trick an AI assistant?

No. The description an assistant reads is built from your tab descriptions and column names, never from the contents of your cells. A row that says “ignore your previous instructions” is just a row of text. Errors are also uniform, so an unknown address, a wrong key and a refused key all answer identically and the system cannot be probed for what exists.

Where is my data stored?

In your Google Sheet. SheetRelay stores your column names, types and a small sample used to describe the data, and keeps keys as one-way fingerprints rather than as keys. Data and processing are located in the EU.

What does it cost?

Free covers two spreadsheets and 1,000 calls a month with no card. Paid plans start at $9 a month, and every plan stops at its monthly allowance instead of billing overage, so the invoice is always the plan price.

Your spreadsheet already works

Give it an address, and let everything else talk to it.

Two spreadsheets and 1,000 calls a month on the free plan. No card.