From first question to placed order, without leaving WhatsApp

The problem
Customers message the shop on WhatsApp because it is where they already are. Every one of those messages was answered by hand, one at a time, by someone who also had a shop to run.
The questions repeat: where is my order, do you have this in medium, how much is it, can you send a photo. Each one means opening the shop's admin, finding the answer and typing it back.
Outside office hours nothing is answered at all. A customer asking about an order at ten in the evening waits until morning, and a customer who was ready to buy waits with them.
Answering from memory is where it becomes expensive. A price that has changed, a size that sold out an hour ago: one wrong answer costs the sale and the trust in the same move.
What we built
dev-UP built an agent that runs the whole conversation on the shop's own WhatsApp number: order status, browsing the catalogue, sizes and photos, placing the order, and asking for a discount.
Every answer is taken from the shop's live data at the moment the message arrives. Products, prices, stock and orders are read straight from WooCommerce over its REST API, with the same mapping in place for Shopify and a spreadsheet fallback for a shop on neither platform. Product photos come from the shop's own media library, so there is nothing to upload and nothing to keep in sync.
The decisions that carry risk are made in code, not by the language model. Whether an order belongs to the person asking is settled by a rule, three ways: the WhatsApp number the message came from, an email address together with the order number, or a surname together with the delivery address. The model is only ever handed the orders that person has already proved are theirs.
A human stays in the loop where a human belongs. A discount request arrives on the manager's phone as a WhatsApp message with approve, deny and adjust buttons, and the customer receives a code only once it is approved. Refunds, complaints and damage escalate the same way, and the agent stops talking until a person has replied.
It answers in Dutch or English, decided per customer rather than guessed from the language their address happens to be in. The whole thing runs on n8n, on infrastructure the shop controls, so the workflow is theirs to keep, read and change.

The result
- Prices, stock and order status are read from the shop's live systems on every single message, so the agent cannot quote a figure that has since changed
- A customer is only ever shown an order they have proved is theirs, and that check is a rule in code rather than a judgement the model is trusted to make
- Discounts stay a human decision, taken from the manager's own phone in two taps, and no discount exists that a manager did not approve
- Refunds, complaints and damage reach a person instead of an automated reply, and the agent stands down until that person answers
- One build serves a WooCommerce shop, a Shopify shop, or a shop on neither, because changing where the data comes from is a setting rather than a rewrite
- The workflow runs on the shop's own n8n instance, so the shop keeps what was built for it
Related case
Every member question answered, at any hourHave a similar problem to solve?
Tell us what your team does by hand today and we'll map the most practical next step.
Book a discovery call
