Teach it your business
Upload a spreadsheet the bot can search
When you finish, your price list is loaded as a table and your bot answers questions from its rows.
Before you start
- Your workspace is on the Scale plan or Advanced — Plan & billing shows which one you are on How to check
- Your bot's model is one of the Claude models How to check
- Your file is a .csv saved as UTF-8, with a header row and one row per item
- The file is under 12 MB and holds no more than 10,000 rows
About 10 minutes. You’ll do four things:
- upload the CSV
- set the column roles
- tick the sensitive-data box
- ask the bot a question
A spreadsheet answers the questions a page cannot. "What do you have under £10?" and "do you stock it in blue?" need row-by-row facts, not prose. Adoomi loads your file as a table and looks rows up in it while the bot writes its reply.
Two things have to be true first
The Spreadsheets tab shows on every plan, but the upload only works on Scale and Advanced. On a smaller plan an amber note reads "CSV product tables require standard or higher." Standard is the internal name for the Scale plan. The line beside the button reads Upgrade to upload a CSV. and the button does nothing. Prices per plan sit on the pricing page.
Answers from a table only happen on a Claude model. On a GPT, DeepSeek, Perplexity or Mistral model an amber note reads Table queries require Claude. You can still upload the file; the bot will not look in it. New bots start on Claude Haiku 4.5, so most owners never meet this.
The one rule that decides whether it works
Adoomi finds a row by its words. It builds those words from the columns you mark searchable, and it needs at least one text column among them. Mark none, and every row looks the same to the bot.
| Column in your file | Type | Role | What it does for the bot |
|---|---|---|---|
| Product name | text | searchable | How the bot finds the row when someone names the item |
| Description | text | searchable | Extra words that help it match a question to this row |
| Price | currency | filterable | Lets it answer "what have you got under £10?" |
| In stock | boolean | filterable | Lets it answer "have you got any left?" |
| SKU | text | identifier | Shown in the reply, not used to find the row |
Adoomi guesses these for you from the first 100 rows and your column headings. If your headings do not name an obvious text column, it promotes the wordiest one. Check the guess before you save. Mark only Price as searchable and the save button stays off. A red note appears: "At least one text-typed column must be marked "searchable"." Number, currency and yes/no columns are dropped before indexing, whatever role you give them.
Stage 1: upload the file
In the bot sidebar, under Bot setup, click Train your bot.
Click the Spreadsheets tab.
Click + Upload CSV.
The panel asks for a file: Pick a .csv file with one row per item (e.g. one product). Up to 10,000 rows.
Choose your .csv file.
The panel switches to Review columns + confirm and shows the row count above a preview of the first 10 rows.
Stage 2: set the columns and save
Check the table name at the top of the panel and change it if you want.
It starts as your file name and stops at 80 characters.
Fill in the description box below the name.
The placeholder shows what it wants: Short description so the bot knows when to use this table. The bot reads it to decide whether to look in this table at all.
In the column list, set the Role of your main text column to searchable.
That is the column holding product names or descriptions. Set any column you do not want searched to displayable.
Set the Type of your price column to currency, and its Role to filterable.
Do the same for stock counts (number), yes/no columns (boolean) and dates (date). This is what lets the bot answer "under £10".
Tick I've reviewed this CSV and confirmed it contains no sensitive data.
Click Save + ingest.
It reads This usually takes 5-30 seconds. while it works, then the panel closes.
If it didn’t work
The upload button does nothing
- Check
- An amber note above it reads "CSV product tables require standard or higher." Open Plan & billing to see which plan is live on your workspace.
- Fix
- Move up to the Scale plan or Advanced. If you thought you were on one of them already, check whether the plan changed at your last renewal. Plan & billing shows what is live now.
- Resolved when
- The line beside the button reads Upload a .csv from your computer to add a new table. and the button opens the panel.
Save + ingest will not turn on
- Check
- Look for a red note under the column list. It reads "At least one text-typed column must be marked "searchable"."
- Fix
- Find a column holding words — a product name or a description — set its Type to text and its Role to searchable. The button also stays off until the table has a name and the sensitive-data box is ticked.
- Resolved when
- The red note goes and Save + ingest turns on.
The bot ignores the table
- Check
- Open the Spreadsheets tab. An amber note reading Table queries require Claude. means the model is the problem, not the file.
- Fix
- Open Bot behaviour → Model & advanced and choose a Claude model. Claude Haiku 4.5 costs 1 credit an answer, the same as the everyday models. The note tells you to look in Settings → AI; that is older wording for the same picker.
- Resolved when
- The amber note goes and the bot answers with a row from your table.
The wrong column was set as searchable
- Check
- Click Re-upload on the table's row, choose the same file again, and read the Role column. Adoomi promotes the wordiest text column when your headings do not name one.
- Fix
- Set the right column's Role to searchable and the wrong one to displayable, tick the box, then click Replace + ingest. Every row is indexed again with the new setting.
- Resolved when
- Asking for an item by name brings back the right row.
The file was rejected
- Check
- The panel shows one message. The common ones are Too many rows — max 10,000 per CSV., CSV must be UTF-8 encoded. Please re-export., One of the column headers is blank. Please fix and re-upload. and One cell is too large — max 10,000 characters per cell.
- Fix
- Fix the file and upload it again. Split a long list across two tables. Re-save as UTF-8 CSV in your spreadsheet app. Give every column a heading. Shorten any cell over 10,000 characters.
- Resolved when
- The panel moves on to Review columns + confirm.
One row would not convert
- Check
- The message names the row and the column, like: Row 47 column "price" couldn't be parsed. It means that cell does not match the type you gave the column.
- Fix
- Open the CSV at that row. Either correct the value, or set that column's Type to text so any value is accepted. Then upload again.
- Resolved when
- The upload finishes and the table reads Ready.
The table has been Ingesting for ages
- Check
- After five minutes the row says Stuck — ingestion has been running for over 5 minutes. Re-upload to retry.
- Fix
- Click Re-upload and choose the same file. If it sticks a second time, email hello@adoomi.ai with the table name and which bot it belongs to.
- Resolved when
- The row reads Ready with its row count.
What this can’t do
- Uploading is on the Scale and Advanced plans only. On a smaller plan you can still see and delete tables you already have, but not add or replace one.
- Answers from a table only work on a Claude model. On a GPT, DeepSeek, Perplexity or Mistral model the table sits there unused.
- One table holds at most 10,000 rows, 50 columns and 10,000 characters per cell. Split a longer list across more than one table.
- The file must be UTF-8. A CSV exported as UTF-16 is refused with CSV must be UTF-8 encoded. Please re-export.
- A table cannot be renamed. Delete it and upload again under the new name.
- At least one text column must be searchable. Number, currency and yes/no columns are dropped before indexing even if you mark them searchable.
- The type and role dropdowns are in English on every dashboard language — they show the raw setting names, not translated words.
- On the Advanced plan the bot does not use tables yet. You can upload them and they will read Ready, but answers will not draw on them until we fix it. Email hello@adoomi.ai and we will tell you when it lands.