# Google Sheets: how to read it into Maplith

*Spreadsheet · also known as Google Drive spreadsheets, Google Workspace Sheets · last checked 2026-10-08 · recipe `maplith://systems/google-sheets`*

Google Sheets holds the lists a company keeps outside its systems (price lists, order trackers, stock counts, budgets), which often fill the gaps between the real systems.

## Best path

**Recommended: your agent fetches it.** Most business sheets are a few hundred to a few thousand rows, and the customer's agent can usually already read them through its Google Drive connection. Google's own Sheets MCP server is in Developer Preview only, so it is not yet a path most customers have.

Try the paths in this order (ADR-0031):

1. **Your agent fetches it**, with the access your human already gave you. Connectors a vendor or client page confirms: Google Drive connector in Claude; Google Drive app in ChatGPT. The customer's agent uses its Google Drive connection to find the sheets that matter, reads the header row and a sample of rows from each tab, and never edits them.
2. **Maplith reads an MCP server your human already has.** Official: **Google Sheets MCP server**. Endpoint: not given here; it comes from the vendor's own setup instructions. Documentation (a page to read, not an address to connect to): https://developers.google.com/workspace/sheets/api/guides/configure-mcp-server. Access: The server signs in with Google OAuth. Set up the OAuth client with only the read-only scopes (spreadsheets.readonly and drive.readonly) so the token can read but not change sheets. Available only through the Google Workspace Developer Preview Program and needs a Google Cloud project; it also has tools that write cells, formulas and rows, so use read-only scopes. Maplith cannot read this server: it offers tools or a personal sign-in to an agent, not resources Maplith reads. Maplith reads only a server that serves MCP resources and takes a token a person types under Data sources › Systems in the Maplith app, such as the customer-run template for a database (ADR-0028). Your human can connect this server to you instead, as path 1.
3. **Export files**, the fallback that always works: see *Export steps* below.

## Datasets that make a good map

| Dataset | One row is | Key columns | Joins to |
|---|---|---|---|
| A sheet tab used as a table | One row per record (an order, a product, a customer, a booking) with one header row on top. | a stable id column (order number, SKU, customer number), date, status, amount | The system the list shadows, by the same id: shop orders by order number, products by SKU, accounting customers by customer number. |
| Price or product list | One row per product or service with its price and attributes. | SKU or product number, product name, unit price, currency | Shop products and order lines by SKU; accounting products by product number. |
| Manual tracker (orders, tasks, cases) | One row per item someone follows up by hand. | reference id from another system, owner, status, date updated, customer email (Maplith tries to mask it) | CRM deals or helpdesk tickets by their id or by customer email. |
| Budget or KPI sheet | One row per period and line, often typed in by hand. | period, account or metric name, value | Accounting accounts by account number; ad spend and revenue by month. |

Columns are named, never their values. Maplith tries to mask personal data such as email addresses, but that is best effort: your human decides what goes in.

## Read-only access

**Who usually has the rights:** The person who owns the sheet; in a company Google Workspace, an admin can see who owns which files.

**For the key your own agent's client uses, choose only these read permissions:** `Viewer`, `spreadsheets.readonly`, `drive.readonly`

**Where to click:**

1. Open Google Drive and select the sheet
2. Click Share
3. Add the person or account that needs access
4. Choose the Viewer role
5. Click Send or Share

A key or token made here stays in the tool that reads the system for your human, never in a chat. Maplith asks for one only under Data sources › Systems in the app, and only for an MCP server it can read.

## Export steps

**Format:** CSV · **Date range:** The whole sheet (sheets rarely have a date filter)

1. Open the sheet and click the tab you want
2. Click File, then Download
3. Choose Comma-separated values (.csv)
4. Repeat for each tab that holds a table
5. A sheet is easiest to map when each tab has one header row, one table and a stable id column, with no merged cells or totals rows inside the table

## Volume hint

**About 50–2,000 new rows across the sheets that matter a month** (an estimate). Estimate for a small company, not a measured figure: sheets are side lists and trackers, not the main system of record.

Every row an agent reads passes through its context, about one token per four characters. Above a few thousand rows a dataset, or for a daily refresh, prefer an MCP server or an export over fetching through the chat.

## Always

- Read-only, and never a credential sent to Maplith through the chat.
- The same recent period, a few months, from every system.
- Your human decides what goes in.

## Sources

Written from the vendor's public documentation, last checked 2026-10-08:

- https://developers.google.com/workspace/sheets/api/guides/configure-mcp-server
- https://developers.google.com/workspace/sheets/api/reference/mcp
- https://support.claude.com/en/articles/10166901-use-google-workspace-connectors
- https://support.google.com/drive/answer/2494822
- https://support.google.com/docs/answer/49114
- https://help.openai.com/en/articles/10929079-google-drive-app-and-setup-in-chatgpt
