Connect Google Sheets

The spreadsheets you already run the business on — stock, pricing, targets, a warehouse system someone built in Sheets — read into your picoask warehouse so they can be joined to your store and ad data.

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.
Stuck?

Email contact@picoask.ai and we'll get you connected. See also the picoask docs.