By industry
Car dealershipsCar rentalDetailers & valetersGarages & MOT centresFashion retailersFurniture storesPet storesJewellersPlumbersElectriciansHVAC & heating engineersCleanersLandscapers & gardenersRoofersHotels & guest housesRestaurantsCafésGyms & wellness studiosTour operatorsEstate agentsLetting agentsProperty managementServiced accommodationAccountantsLaw firmsInsurance brokersMortgage brokersRecruitment agenciesPrivate schoolsNurseriesChildren's activity clubsTraining providersTutoring centresCharitiesMuseums & attractionsReligious & community centresSports clubs
All guides(35)

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:

  1. upload the CSV
  2. set the column roles
  3. tick the sensitive-data box
  4. 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.

A garden centre's plants.csv, and what each column should be set to
Column in your fileTypeRoleWhat it does for the bot
Product nametextsearchableHow the bot finds the row when someone names the item
DescriptiontextsearchableExtra words that help it match a question to this row
PricecurrencyfilterableLets it answer "what have you got under £10?"
In stockbooleanfilterableLets it answer "have you got any left?"
SKUtextidentifierShown 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

  1. In the bot sidebar, under Bot setup, click Train your bot.

  2. Click the Spreadsheets tab.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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".

  5. Tick I've reviewed this CSV and confirmed it contains no sensitive data.

  6. 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.

Next steps