Ask a store owner which question they answer most and the answer is some version of where is my order? It arrives on the website chat, in email, in an Instagram DM, in a WhatsApp message at 11pm. Each one takes a person a minute or two to open the orders screen, find the customer, read the fulfilment state and copy the tracking link into a reply. Multiply by every order and it is the job.
This post walks through what ConvertPilot does with that question, step by step, with the console in view. The point is not that an AI can write a friendly sentence. It is that the reply comes from the order record, that you can see why the agent said what it said, and that the agent knows when to stop and get a person.
Step one: the agent reads the order, not a script
On a Shopify store, ConvertPilot has access to the last 60 days of orders (Shopify shows this permission before you approve the install). On Wix it reads Wix Stores through Wix’s own APIs. When a customer who has written before asks about an order, the agent looks it up by the email on the conversation, or by the order number if the customer gives one, and reads three things: the items, the fulfilment state, and the tracking details if a shipment exists.
The reply is built from that record. In the demo workspace, Sarah Chen asks whether her last order shipped and the agent answers: Your order #10231 (Trail Runner Sneakers, Merino Socks) shipped and is marked fulfilled. A system line above it, Looked up order #10231, is written into the thread so anyone reading it later knows a lookup happened.
Step two: the trace behind the reply
Every AI message in ConvertPilot opens to a panel called Why this reply. For an order question it shows the details of the lookup, what the agent remembered about the customer from earlier conversations, the sources it used (the order, a shipping page it read, a rule you wrote), and the parts of your own setup that shaped the answer.
This matters more than it sounds. Support replies get forwarded, screenshotted and argued over. When a customer says “your bot told me it shipped”, the trace is how you check in ten seconds whether it did, and what it was looking at when it said so. It is on every plan, including Free, because a support tool you cannot audit is not one you can trust with customers.
Step three: the cases the agent does not answer
There is no order to read when the customer is writing from a different email than the one they bought with, when the order is older than the window the store shares, or when the question is really a complaint dressed as a status check (“where is my order, this is the second time this has happened”). The agent is written to recognise those, and to do something specific in each.
- No matching order. It asks for the order number or the email used at checkout and captures the contact, so a person can pick it up if the customer does not have them.
- Outside your rules. If the answer would need a refund, a replacement or an exception to a policy you wrote, it stops and hands the thread to your team with the history attached. The thread shows A human agent has joined the conversation and the agent stays paused until you hand it back.
- Frustration. Sentiment is read on every conversation and the agent can label a thread at-risk, so a customer who is losing patience is easy to find rather than getting another cheerful automated line.
What this looks like across channels
The lookup does not care where the question came from. The same order answer goes out on the website widget, by email, on WhatsApp, Messenger, Instagram, Telegram or SMS, and the thread lands in one inbox with the channel marked on each message. The customer’s profile carries the orders, the labels the agent applied (VIP, repeat buyer, at-risk) and any notes your team left, so the next question, on whichever channel, starts from the same context.
| Situation | What the agent does | What your team sees |
|---|---|---|
| Order found, fulfilled | Replies with items, state and tracking | System line: looked up order, no action needed |
| Order found, not yet fulfilled | Replies with items and the current state; no invented delivery date | The thread, unread badge only if the customer replies |
| No order matches the email | Asks for order number or checkout email, captures the contact | Lead captured, thread open for follow-up |
| Refund or exception requested | Hands off with the full history | Thread waits for a person, agent paused |
| Customer is frustrated | Answers plainly, can label the thread at-risk | At-risk label and negative sentiment in the analysis panel |
Setting it up
- Install from the Shopify App Store or the Wix App Market, or paste the widget script on any site. On a plain site the agent answers from your pages and knowledge base rather than an order feed.
- Write the rules that must never vary: your returns window, who pays return shipping, what to say about delays. Training rules are trigger and response pairs; the knowledge base holds the facts.
- Set your online hours. Outside them the widget shows your away message, and the agent keeps answering order questions from the record.
- Open the trace on the first few replies. If something in your setup produced an answer you do not like, the panel tells you which rule or page to change.
The measure of an order-status agent is not how often it answers. It is how often it answers from the record, and how cleanly it steps aside when there is no record to answer from.
Every screen in this post is in the product tour, cut from the real console. The Free plan includes the order lookup, the trace and the handoff on website chat and email.