AI Chatbot for Google Sheets: the answers are already in your spreadsheet
Most support knowledge does not live in a help centre. It lives in a sheet — the FAQ tab someone started in 2022, the price list, the shipping matrix, the product spec table. Download that sheet as CSV or XLSX, upload it to Asyntai, and every row becomes a separate piece of knowledge the chatbot can retrieve and answer from.
Get Started Free See the real stepsSee what the chatbot would answer
Enter your website first. The assistant reads your pages, and your spreadsheet goes on top of that as precise, row-level detail.
Why a spreadsheet is the best answer source you already own
A website page is prose. It says "we ship across Europe, delivery times vary by country" — true, and useless to the person who wants to know about Norway. The sheet behind that sentence has forty rows and every one of them is an exact answer.
That is the whole reason spreadsheet uploads exist. When Asyntai ingests a normal document it cuts the text into overlapping blocks and hopes the right sentence lands in the right block. A spreadsheet does not need that guesswork: the file already tells the system where one fact ends and the next begins. So each row is stored as its own chunk, and a question about Norway retrieves the Norway row instead of a paragraph that mentions eleven countries.
One row in, one retrievable answer out. Structure you built for yourself turns out to be structure the retrieval engine wanted all along.
Price lists, size charts, opening hours per branch, warranty terms per product line, a course catalogue, a room rate table — anything you maintain in rows is a good fit. And you keep maintaining it where you always did.
How to turn a Google Sheet into chatbot knowledge
Be clear about one thing before you start, because it changes how you work: Asyntai does not connect to Google. There is no OAuth screen, no Google account token, no background polling of your document. You export the file and upload it, and what the assistant knows is a snapshot of that file.
.xlsx export only the first sheet of the workbook is read, so move the table you want to the first tab or delete the others before you download..xls, .ods and .tsv are rejected. CSV is read as UTF-8, so accents and non-Latin scripts survive the trip.Doing it from the API instead
If you would rather not touch the dashboard every month, the same upload exists as an endpoint. It takes a multipart/form-data POST with the file in a field called file, and an optional website_id when your account has more than one site. API access needs a paid plan.
The key can also travel as an X-API-Key header if that suits your tooling better. One behaviour difference is worth knowing: where the dashboard refuses an oversized file, the API accepts it and simply stops at your plan's row limit — so check rows_processed against what you sent. Full reference in the API documentation.
That endpoint is what makes a scheduled refresh possible. A monthly job in your automation tool of choice can export the sheet, POST it here, and delete the previous entry — which is as close to a sync as this gets, and it is honest about being a re-upload.
What a good chatbot spreadsheet looks like
Because each row becomes one chunk, the row has to make sense on its own. Asyntai builds the chunk text by pairing every column name with its value — Question: Do you ship to Norway? then Answer: Yes, 4–6 working days. — and empty cells are skipped. So your column headers are not decoration. They are labels the AI reads.
| Question | Answer | Category |
|---|---|---|
| Do you ship to Norway? | Yes. Norwegian orders arrive in 4–6 working days and shipping is 12 EUR. | Shipping |
| How long is the warranty? | 24 months on all hardware, extended to 36 months if you register the product. | Warranty |
| Can I return a sale item? | Yes, within 14 days, unworn and with tags attached. Refund goes to the original card. | Returns |
The same shape works for catalogues: Product, SKU, Price, Stock, Lead time. One product per row, one row per answer.
- One idea per row. An answer split over three rows retrieves as three fragments, and each fragment reaches the assistant without the other two.
- Name the columns properly.
Delivery timebeatsCol C, because the header text ends up inside the chunk the AI reads. - No merged cells or spacer rows. A CSV export flattens merges into blanks, and blank cells are dropped from the row text.
- Skip layout columns. Notes to yourself, colour codes and internal owners add noise to every single chunk. Delete them from the export.
- Keep one topic per file. Separate uploads for the price list and the FAQ are easier to replace when only one of them changes.
The other direction: writing chats back to a sheet
Plenty of people want the reverse flow — every conversation appended as a row so the team can read it in Google Sheets. That works, but it needs one piece in the middle, and it is fair to say why.
Asyntai webhooks fire on events such as conversation.started and escalation.requested. They POST a fixed body with an event field and a payload field, signed with an X-Webhook-Signature header. You cannot add your own headers, so the webhook cannot present a Google OAuth token and cannot call the Google Sheets API by itself.
The fix is a connector. Point the webhook URL at a scenario in Make, a workflow in n8n, a Zap in Zapier, or a Google Apps Script web app you deploy yourself. That step holds the Google credentials and appends the row. In a visual tool the mapping is a few fields:
Worth doing if a sheet is where your team already looks. Just do not expect it without the middle step.
What a spreadsheet-fed chatbot does well
Row-exact retrieval
Each data row is stored and searched separately, so a question about one country, one SKU or one branch pulls that row and not a wall of nearby text.
Answers using your own content
Your sheet sits alongside your website pages and uploaded documents. The chatbot answers from that material rather than from generic AI knowledge.
CSV and XLSX both work
Export whichever Google Sheets offers you. CSV is decoded as UTF-8 with a fallback, and XLSX is parsed straight from the first worksheet.
Replies in their language
A table written in one language still answers visitors in theirs — 30+ languages, detected from the question, nothing to configure.
Google Sheets chatbot questions
Can Asyntai read my Google Sheet live?
No, and it is better to know that up front. There is no Google Sheets API connection and no stored Google token. You export the sheet as CSV or XLSX and upload the file, in the dashboard or through the knowledge API. What the assistant knows is a snapshot taken at upload time, so an edit in Sheets means another export and another upload.
Which spreadsheet file types can I upload?
Exactly two: .csv and .xlsx. The file check rejects everything else, including the older .xls format and .ods. Google Sheets offers both accepted formats under File → Download. For .xlsx, only the first sheet in the workbook is read.
How many rows can the sheet have?
100 data rows on Free, 500 on Starter, 2,000 on Standard, 10,000 on Pro — see pricing. The header row is not counted. The dashboard refuses an oversized file and tells you both numbers; the API takes the file and stops at the limit.
How should I lay the sheet out?
Column names in row 1, one self-contained item per row below. Each row becomes one chunk built from Column: value pairs for every filled cell, so headers such as Question, Answer, Country or Price do real work. Avoid merged cells, blank spacer rows, and answers split across several rows.
Can conversations be written back into a sheet?
Only through a connector. Asyntai webhooks post a fixed JSON body and send no custom headers, so they cannot authenticate to Google on their own. Route the webhook into Make, n8n, Zapier or your own Google Apps Script web app, and that step appends the row.
Related pages
Other ways to feed the assistant and reach it from the tools you already run.
Put your spreadsheet to work
Upload one sheet and see how much sharper the answers get. The free plan includes 100 messages a month, which is plenty to test a real table on real questions.
Get Started Free