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.

By Ritchie, ReplyKit · Published 5 October 2026 · 6 min read

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 PDFWhere it goes wrongThe format that worksChecklist before uploadingFAQ

What happens to the PDF

  1. 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.
  2. Chunking. The text is cut into pieces of a few hundred words so that the relevant part can be found quickly.
  3. Retrieval. For each question, the chunks most similar to it are selected, typically a handful.
  4. 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 featureWhat the agent seesResult
Scanned image or photo of a menuNo text at all"I don't have that information"
Wide table: item in column 1, price in column 5Item and price far apart in the streamWrong price, or none
Prices as images or in a design fontGarbled or missing numbersWrong or missing price
Footnotes and asterisksThe condition lands in a different chunkPrice quoted without the surcharge
Section heading pages earlierChunk has "Large: 45" with no idea large whatConfident wrong answer
Old and new price lists both uploadedTwo prices for one itemEither, 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

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.

Start free
Written by Ritchie, ReplyKitPart of the small team in Malaysia that builds and runs ReplyKit. Writes about WhatsApp automation, AI customer service and small business lead response.

How we know this. ReplyKit extracts PDF text, chunks it and retrieves the relevant lines for each question; the failure cases listed are the ones we see most in customers' uploads. Product figures in this article (limits, prices, per-reply costs) are taken from ReplyKit as it runs today and are re-checked when we update the page. Where we cite outside research, the source is linked below. We sell ReplyKit, so read our product claims with that in mind; we say where a different tool or no tool is the better choice. About ReplyKit.

Sources and further reading

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