WhatsApp AI ProWhatsApp AI Pro
Back to Blog
Tutorial2026-10-04WhatsApp AI Pro Team

Let the AI Look Up Your Spreadsheet: Order Status, Prices and Stock From Your Own Table

Connect an Excel/CSV file or a public Google Sheet as a lookup tool, so your WhatsApp AI answers from the current row instead of guessing. Replies that quote a price or lead time from the table always wait for your approval.

New in desktop 2.1.15. Earlier versions show a different "Business data" card for inventory only. The download page shows the version currently available.

"When will my report be ready?" "Where is order 10482?" "Is the A-100 in stock?" Your catalog doesn't know the answer, because the answer changes every day. It lives in a spreadsheet you already keep.

A lookup tool lets the AI read that spreadsheet while it writes a reply. You connect a table, write one sentence about what it answers, and the AI looks up the matching row when a customer asks. Order status, tracking numbers, test-report progress, membership expiry, price lists and stock all work the same way: find a row by an ID or a name, then answer from it.

What you need

  • A table with one header row: an Excel or CSV file on your computer (.xlsx, .xls or .csv; CSV is best saved as "CSV UTF-8", though GB18030 and Windows-1252 CSV files are read too), or a Google Sheet shared as "Anyone with the link can view".
  • Within all of these limits at once: 25 MB, 25,000 rows, 128 columns, 250,000 cells in total and 4,096 characters per cell. A table over any limit fails to import rather than being cut off, so the AI never treats a missing row as "not found".
  • Up to 5 lookup tools can be on at the same time.

1. Add a lookup tool

Click Dashboard in the left sidebar to open the AI hub, go to the Business Intelligence tab, select Business data and click Add lookup tool. The dialog has three steps. Shortcut: in AI Nexus, the Let AI look up your spreadsheet card opens the same dialog.

Step 1: Data source. Either:

  • Choose file and pick the spreadsheet. If the file has several worksheets, pick one.
  • Or paste a Google Sheets link and click Read sheet. Both the normal editor link (docs.google.com/spreadsheets/d/…/edit) and a "Publish to web" link work. Open the tab you want and copy the address from the browser's address bar. That link ends in #gid=…, which tells the app which tab to read and lets review links (below) jump to the exact cell. A link without #gid= reads the first tab.

The app shows the first rows and highlights the row it took as the header. If it picked the wrong one (for example a title line above the real headers), click Header wrong? and click the right row.

Common tables have a shortcut under Quick start: Inventory, Order / sample status, Price list, Lead time and Product specs. Pick one and step 2 is filled in for that kind of question, with hints on which columns the sheet needs.

Step 2: What does this table answer? Write one sentence about the questions customers ask, for example "Customers ask when their test report will be ready". The AI uses it to decide when to look this table up. To draft the tool's name and description, the app sends only this sentence, the column names and column statistics (such as "this column is 98% dates"). It never sends cell contents for this.

Step 3: Confirm.

  • Name and How the AI will understand this table: generated from your sentence and the columns. Edit anything that is off.
  • Columns: each column shows the type the app recognized from how its cells are written: Date, Duration, Money, Number, Phone, Email or Text.
  • Try a lookup: type an ID or a word from the table to see exactly which rows the AI would get. This runs on your computer and does not use the AI.
  • Review replies before they're sent: see step 3 below.
  • Advanced: change a column's type, hide columns (the AI can neither search nor see a hidden column), and for Google Sheets choose how often to refresh: every 30 minutes, 1, 6 (default), 12 or 24 hours.

Click Save. The tool appears in the list with its row count and when it was last updated, and a switch to turn it on or off. The ⋯ menu has Edit, Refresh now and Delete. Deleting a tool never changes your file or sheet.

2. Confirm the columns the app can't decide

Some columns can't be read from their format alone, and the app asks instead of guessing:

  • Digits only (12, 10001, 13812345678): pick Quantity, Money, ID / code or Phone.
  • Dates like 03/04/2026: is it day/month or month/day? Real date cells in Excel files don't need this; text dates and every CSV do when no value settles it.
  • Amounts like 1,234: which separator is the decimal point?
  • Prices without a unit: per piece, per box, per month…? Pick a unit, or choose Unit is in column and point to that column.

You can save before answering. Until a column is confirmed, the AI still sees its values, but the app never counts them as a match for a price, date or lead time in the reply. At most, the approver sees them listed as text the reply repeated.

3. Decide who checks the replies

The AI does not decide whether a customer is allowed to see a record. That decision belongs to you.

  • Review replies before they're sent is on by default for your own tables and for the Order / sample status, Price list and Lead time templates, and off for Inventory and Product specs. Leave it on whenever the table holds customers' personal information (names, phone numbers, orders, results). Every reply that used a row from this table then comes to you first, even in Auto mode. You confirm the record belongs to the person asking.
  • Prices and lead times from a table always wait for you. If the AI looks up rows that carry a price or a delivery time, and its reply states a price or a lead time, the reply becomes a draft for your approval. This happens whether or not the review switch is on, whether or not the value matches the table, and in every mode. On those turns the app holds a reply whenever it can't tell that a number in it is something other than a price or a date. "We have 37 in stock" can still go out, while "5 pieces for $40" waits for you.
  • A pure stock answer can go out by itself. With the Inventory template and review off, Auto mode can send "Yes, we have 37 left" straight away, just like any other fact from your company profile. If your stock column holds digits only, confirm it as Quantity in step 3. Until you do, the app treats those numbers as possible prices and holds the reply for you.
  • When the table can't be read at all (for example the file changed and no longer opens), the AI writes a short "I'm checking and will confirm" reply. That reply waits for your approval, and the chat shows up under Pending handoffs (the "… conversations need human attention" banner). Nothing is sent automatically. When the app still has an earlier copy (the file was moved, or the sheet hasn't refreshed for a long time), the AI answers from that copy and the reply is held for you with the data time shown.

In Auto mode, a reply held for review arrives as a normal draft with an approval notification. It does not add an entry to Pending handoffs for every message.

4. What the approver sees

A held draft shows the evidence behind the reply on the draft card, in the draft editor and in Telegram:

  • Why it was held, for example "Held for review: Price / lead time from Price list — confirm before sending" or "Held for review: Used data from Report progress — confirm this customer may see it".
  • What was looked up: "Looked up: Report progress · “S-1234” · 1 row", with Show rows to see exactly what the AI received.
  • Where the values came from, for the values the app could match to a cell (up to 20 on the desktop, 8 in Telegram): a line such as "2026-10-21 ← Report progress · row 37, column D" with a Check link. A value it could not match has no line, so read the reply against the rows as well.
  • Data time, with a reminder that the sheet may have changed since. The link opens the sheet as it is now; the AI used the copy it read at that time.
  • If the AI also wanted to ask your team something, the question appears as "AI also wants the team to confirm: …". Fill in the answer by editing the draft before you approve it.

The Check link depends on the source:

  • Google Sheet, link with #gid=: opens the sheet in your browser with the cell selected.
  • Google Sheet, link without #gid=: opens the sheet; the position is shown as text ("first sheet, row 37, column D").
  • Published link: Google can't jump to a cell there, so it opens the published page and shows the position as text.
  • Local file: shows the row as the AI saw it, with the cell highlighted, and an Open file button that opens only the file you picked for this tool.

Telegram approval messages carry the reason, the lookups, the matched positions and the Google Sheets check links (local files get the position only). They never include the rows themselves. Link previews are turned off, so Telegram does not fetch your sheet. The web inbox shows the review reason and any pending question for now.

Keep customer data out of a public sheet

A Google Sheet shared as "Anyone with the link can view" can be opened by anyone who gets the link. If your working sheet holds customer details, don't share it. Make a second sheet that holds only the columns the AI needs, and share that one:

  1. Create a new Google Sheet, for example Report status (AI).
  2. In cell A1, pull in only the columns you need from your internal sheet: =IMPORTRANGE("https://docs.google.com/spreadsheets/d/<internal-sheet-id>/edit", "Samples!A:C") The first time, click Allow access. To pick columns that aren't next to each other, wrap it in a query: =QUERY(IMPORTRANGE("…", "Samples!A:H"), "select Col1, Col4, Col7")
  3. Share only this new sheet as "Anyone with the link can view", and paste its link into WhatsApp AI Pro.

The internal sheet stays private and keeps updating as usual. The public copy follows it, and the AI reads the public copy on your refresh schedule. Leave out names, phone numbers and anything else a stranger should not see. Hidden columns in the app keep a column away from the AI, but they don't hide it from someone who opens the public link.

Test it before customers do

In the AI hub (Dashboard in the left sidebar), go to the Takeover Settings tab, click Test and ask a question your table answers, such as "When will sample S-1234 be ready?". The sandbox uses your lookup tools and tells you when a real reply would be held for review instead of sent.

Frequently Asked Questions

Does my spreadsheet get uploaded to your servers?

No. A local file is read on your computer, and a Google Sheet is downloaded by your computer directly from Google. What does leave your computer: the rows the AI looked up for a reply are part of the AI request, which goes through our servers to an AI provider along with the rest of the conversation. When you add a tool, the description request carries your purpose sentence, the column names and column statistics, never cell values. See our Privacy Policy for what we keep. Drafts that used a table keep the looked-up rows on your computer, so the approver can see them.

How current is the data?

A local file is read again whenever it changes. Save the file and the next lookup uses the new version. A Google Sheet refreshes on the interval you chose (6 hours by default); click Refresh now after a big change. If a refresh is long overdue, the AI waits briefly for a fresh copy. If it can't get one, it answers from the old copy and holds the reply with its data time.

Can the AI change my spreadsheet?

No. Lookup tools are read-only. The AI searches with an ID, a phone number or words from the row, and gets at most 5 matching rows. When more rows match, it asks the customer for something more specific.

Can I connect a private Google Sheet?

Not directly. The sheet must be viewable by anyone with the link. Use the separate-sheet method above so the public copy only has what the AI needs.

What happened to the Shopify and WooCommerce connections?

They were removed in desktop 2.1.15, along with the previous inventory card. Existing connections are not carried over. Export your products or stock to a spreadsheet (or keep them in a Google Sheet) and add it as a lookup tool with the Inventory template.

Why did a reply with a price go to me even though Auto mode is on?

That is the rule for prices and lead times that come from a table. A wrong price or delivery date is a promise you'd have to keep, so a person approves it every time. Answer from your phone with auto-forward and approval takes seconds.


Related guides:

Related Articles