Access · Spreadsheets
Run an action from a spreadsheet cell, and get the answer in the cell
Type a formula in a cell of the system’s workbook and the action runs; the answer appears in that cell. A row can also hold a task for one of the AI agents, which answers in the next column.
A workbook or a sheet connects with a key or a token from us.
An illustration. The business and the people are made up. Each answer in column C is a formula that ran one action.
How much detail
Developers: choose “For your developer” for the exact formulas and scripts.
Tasks as rows
A row in a shared spreadsheet gives a task to an AI agent
The AI agents are separate programs running on Cloudflare, each with its own AI model, its own Directory and its own Ledger. Each one has a tab in a shared spreadsheet.
Live, read from this site at 11:06 AM.
- Type a task into the “You said” column of an agent’s tab.
- The agent picks it up, does the work, and writes its reply in the “Reply” column of the same row.
- A task closes only when it has a real answer, with the evidence of what was checked.
- Every step the agent takes is written to its Ledger.
An illustration. The business and the people are made up.
A program can add the same task. A task given to an agent this way is taken within a minute and answered in the agent’s tab.
curl -X POST https://miscsubjects.com/api/tasks \
-H "x-sheets-key: YOUR_KEY" \
-H "content-type: application/json" \
-d '{"title": "Refusals yesterday",
"spec": "List yesterday’s refused requests by action. Done when the list is in the tab Refusals.",
"to": "Agent 1"}'The workbook’s own API
A program can read and write the workbook too
An API is a web address that programs send requests to. The workbook has one, so your own software can fill it or read it.
With a key, a program can
- Read cells, and write a block of cells.
- Add rows under the last used row.
- Clear cells, and insert or delete rows and columns.
- Get one tab as a CSV file.
- Receive every change live, over a WebSocket: a connection that stays open and delivers each edit as it happens.
- Read one cell’s history, read the version history, and put the workbook back to an earlier version.
- Turn a view-only link on or off.
The addresses
# read cells
GET https://miscsubjects.com/api/wb/WORKBOOK_ID/values?sheet=Bookings&range=A1:C10
# write a block of cells
POST https://miscsubjects.com/api/wb/WORKBOOK_ID/values
{"sheet": "Bookings", "range": "B2", "values": [["Thu 2:30 PM", "Dana Reyes"]]}
# add rows under the last used row
POST https://miscsubjects.com/api/wb/WORKBOOK_ID/append
{"sheet": "Bookings", "rows": [["2026-09-27", "Dana Reyes", "2:30 PM"]]}
# one tab as CSV
GET https://miscsubjects.com/api/wb/WORKBOOK_ID/export.csv?sheet=Bookings
# one cell's history
GET https://miscsubjects.com/api/wb/WORKBOOK_ID/history?sheet=Bookings&cell=C2
# the version history, and back to a version
GET https://miscsubjects.com/api/wb/WORKBOOK_ID/revisions
POST https://miscsubjects.com/api/wb/WORKBOOK_ID/restore
{"rev": 12}
# every change, live (a WebSocket)
GET wss://miscsubjects.com/api/wb/WORKBOOK_ID/ws
# each with the header x-sheets-key: YOUR_KEYWORKBOOK_IDand YOUR_KEY are placeholders: you get both from us.
Run it from your sheet.
Text us which spreadsheet you use and what it should do. You get a key or a token from us.