How a WhatsApp AI agent reads your PDF price list or menu, where it goes wrong, and the formatting that makes every price correct
Uploading a PDF feels like the end of the job: the agent has the prices now. Sometimes it is. Sometimes the agent quotes the price from the column next door, or says it does not know, because the PDF that looks tidy to a person is a jumble of text to a machine. Here is what happens to the file, and how to make it work.
Quick answer
The agent extracts the text from your PDF (not the layout), splits it into chunks, and for each customer question retrieves the chunks that match best and answers from them. That works well for lists where each line holds the item, its price and what is included. It fails on scanned images (no text to extract), on wide tables where a price sits far from its label, on footnotes ("*weekend surcharge applies") separated from the item, and on prices that only make sense with a heading three pages back. The fix is a plain-text version: one item per line with its price and conditions, which takes twenty minutes and removes almost every wrong answer. ReplyKit accepts PDFs and pasted text, and shows you which chunks it used for a reply.
What happens to the PDF
- Extraction. The text layer is pulled out in reading order. Layout, columns and table lines are lost; a two-column price table becomes a stream of words and numbers.
- Chunking. The text is cut into pieces of a few hundred words so that the relevant part can be found quickly.
- Retrieval. For each question, the chunks most similar to it are selected, typically a handful.
- Answering. The agent writes the reply using only those chunks, and says it does not know if nothing matches. The mechanics are in how retrieval works.
Where it goes wrong
| PDF feature | What the agent sees | Result |
|---|---|---|
| Scanned image or photo of a menu | No text at all | "I don't have that information" |
| Wide table: item in column 1, price in column 5 | Item and price far apart in the stream | Wrong price, or none |
| Prices as images or in a design font | Garbled or missing numbers | Wrong or missing price |
| Footnotes and asterisks | The condition lands in a different chunk | Price quoted without the surcharge |
| Section heading pages earlier | Chunk has "Large: 45" with no idea large what | Confident wrong answer |
| Old and new price lists both uploaded | Two prices for one item | Either, at random |
The format that works
Before, as the designer laid it out:
FACIALS 60 min 90 min
Hydrating* 180 240
Anti-ageing 220 290
*weekend +20
After, as the agent needs it:
Hydrating facial, 60 min: RM 180 (RM 200 on weekends).
Hydrating facial, 90 min: RM 240 (RM 260 on weekends).
Anti-ageing facial, 60 min: RM 220.
Anti-ageing facial, 90 min: RM 290.
One line per item and variant, the price in the line, the condition in the line, no asterisks. Paste this as a text source alongside the PDF, or instead of it. The same rules are in a price list the agent can read and, for menus, product descriptions the agent can use.
Checklist before uploading
- Is it a real PDF with selectable text, not a scan? If you cannot highlight the text in a viewer, the agent cannot read it.
- Is each price on the same line as its item and unit?
- Are conditions written out next to the price, not as footnotes?
- Is there exactly one current version uploaded? Remove the old one.
- Did you test five prices in the test chat after uploading?
If the answer to any is no, write the plain-text version. Twenty minutes, once, and the agent stops guessing. After upload, ask the agent five prices and compare; the test routine is in testing before going live.
Frequently asked questions
Can the agent read a photo or scan of my menu?
No. A scan has no text layer. Type the items and prices as plain text instead; a menu takes about twenty minutes.
Why did it quote the wrong price from my PDF?
Usually a wide table where the price sat far from the item in the extracted text, or a footnote condition in a different chunk. Rewrite as one line per item with the price in the line.
Should I upload the PDF or paste text?
Both is fine, but the plain-text version is what makes answers reliable. If you only do one, paste the text.
What if I update prices?
Remove the old source and add the new one, so there is one version. Two versions produce random answers.
How do I check it worked?
Ask the agent five prices in the test chat and compare with the list. ReplyKit also shows which chunks it used for each reply.
Prices the agent gets right
Upload PDFs or paste text, see which knowledge each reply used, fix gaps in minutes. 7-day free trial, no card.
Sources and further reading
- Harvard Business Review, The Short Life of Online Sales Leads (Oldroyd, McElheran, Elkington, 2011) · firms that responded within an hour were about seven times more likely to qualify the lead
ReplyKit is an independent product and is not affiliated with or endorsed by Meta or WhatsApp. This article is general guidance for running a small business, not legal, financial or regulatory advice.