Connect Google Sheets
1Share the sheet with picoask
There is no API key, token or password for this connector. picoask reads your sheet as a Google user, and you grant it access the same way you would a colleague — by sharing the file.
- Open the sheet, choose Share, and paste this address:
picoask-sheets@picoask-sheets.iam.gserviceaccount.com
- Set the role to Viewer. picoask never needs edit access and cannot change anything in your sheet.
- Untick Notify people — it is a service account, not a mailbox, so the email would bounce.
- Google will warn you the address is not a Google Workspace user. That is expected for a service account; continue.
Access ends the moment you unshare the file. There is nothing to revoke on our side.
2Copy the sheet's link
- Copy the URL straight from your browser's address bar while the sheet is open. It looks like
https://docs.google.com/spreadsheets/d/1rS6…/edit. - The
#gid=part naming the tab you happen to be on is fine — picoask reads the file id and ignores the rest. - Do not use a Publish to the web link. That points at a published copy rather than the file itself, and picoask cannot read one.
3Connect in picoask
In your project's Data → Connectors tab, choose Google Sheets → Connect, paste the link, and confirm. picoask opens the sheet immediately and shows you what it found — the file's title and every tab with its row and column counts — so you can see at a glance that it opened the right file.
4What happens to your data
Every tab becomes a table in your picoask warehouse. A spreadsheet is not a database, so it cannot be queried where it sits — picoask copies it, and refreshes that copy about every 12 hours.
- Each refresh replaces the table. A spreadsheet has no change log — rows get deleted, reordered and retyped with nothing recording that it happened — so replacing is the only load that cannot drift from what you see on screen.
- Your sheet is never written to. The connector only reads.
- Sheets sit beside your other data, so a question can span a spreadsheet and your store in one answer.
5How picoask reads a messy sheet
Real spreadsheets are built for people, not machines, and picoask is built to expect that. It tells you every adjustment it made rather than making them quietly — you will see them on the connector.
- A title block above the header — the header row is detected rather than assumed to be row 1. Freezing your header row makes this certain.
- A totals row at the bottom — dropped, because leaving it in doubles every sum. A product genuinely called "Total Recall" is kept.
- Merged cells — Google returns a merged value only in its top-left cell and blanks for the rest, which reads as missing data. picoask fills it down.
- Prose headers — "Qty (units)" becomes a usable column name, and the original wording is kept so you can still ask questions in your own vocabulary.
- Mixed values in a column — one "N/A" in a quantity column demotes the whole column to text rather than dropping the rows.
Two things are worth doing on your side: keep one table per tab, and give every column a header. Everything else picoask handles.
6Limits
- 200,000 rows per tab. Past that a spreadsheet is the wrong home for the data — talk to us about connecting the underlying system instead.
- Formulas are read as their results, which is what you see in the sheet and what you would want in an answer.
- Charts, notes, formatting and cell colours are not imported. If a colour carries meaning in your process, put it in a column.
7Troubleshooting
- "We could not open that sheet" — the file has not been shared with
picoask-sheets@picoask-sheets.iam.gserviceaccount.com, or it was shared with a different account. Re-check the address character for character; the account name and the domain are similar. - "That's a Publish to the web link" — copy the URL from the address bar with the sheet open instead.
- A tab is missing — the connector reports which tabs it skipped and why. Most often the tab has no header row, or is a chart or notes rather than a table.
- A number is being treated as text — some cell in that column is not a number. An "N/A", a stray note, or a dash is enough.
- Your total does not match ours — check the adjustments listed on the connector. A dropped totals row is the usual cause, and our number is the one that adds up.
Email contact@picoask.ai and we'll get you connected. See also the picoask docs.