Shopping assistant
A chat that answers shoppers from your own catalog and store pages, never from guesses.
The shopping assistant is a chat on your store. A shopper asks in Arabic or English ("I need a laptop for university under 500", "compare the first two", "what is your return policy?") and gets a short answer with product cards from your catalog and answers from your store pages.
The rule: facts come only from your data
The assistant never makes up a price, a stock state or a spec. This is built in, not a promise in a prompt:
- Guard first. Messages that try to change the assistant's rules ("ignore your instructions...") or that are not about shopping get a fixed polite reply. The AI model is not called.
- Find products with search. The assistant uses the same search as your store (the Arabic layer and the query parser, without the AI rewrite), with the shopper's budget as a price filter.
- Write the answer. The AI model gets product names, brands, categories, specs and your store pages. It never gets a price, a stock flag or a link.
- Check the answer. Before the shopper sees it, the answer is rejected if it has an amount of money, a percentage, a stock claim, a number or spec that is not in the products found, a discount or delivery promise that is not in your store pages, or a link, email or phone number that is not in your data. A rejected answer is replaced by a plain template answer.
- Cards come from data. Prices, stock and links on product cards and in the comparison table come from your catalog, the same as in search results.
If the AI is off, slow or over budget, the template answers still work, and the shopper still gets product cards.
Measured
On 200 scripted conversations and 43 prompt-injection attacks on the demo catalog (agent-recorded stand-in, not live Haiku 5.5): 0 invented prices, 0 invented stock states and 0 invented specs in 830 answers; 93.01% of answers showed a valid product card; 43 of 43 attacks were blocked. Source: eval/report.md.
Turn it on
- Plan. The assistant is an add-on on Growth and Pro, and included in Enterprise. Starter has no assistant. See Plans and billing.
- Settings. In the dashboard, open Assistant: turn it on, set the name shoppers see (default
Ask <store name>/اسأل <store name>), the greeting in English and Arabic, the tone, a Monthly AI budget (USD), and Hand over to a person (a WhatsApp number, a phone number or an email). - Store pages. Add your FAQ and policies (shipping, returns, warranty, payment) under Assistant > FAQ and policies. Up to 500 pages per store. The assistant answers policy questions only from these pages.
- Key. Make a public key with Also allow the shopping assistant (chat widget). A normal public key has search and events only.
- Widget. Add
data-assistant="on"to the JavaScript widget. The chat button shows only when the assistant is on for your store.
Hand over to a person
When a shopper asks for a person, or the assistant cannot help, it shows your WhatsApp, phone or email link with a short summary of the chat. A webhook assistant.handover is sent, so your team can follow up.
Limits
- 20 shopper messages per conversation, and 40 messages per hour per shopper session (then HTTP 429).
- Each answer is short (at most 450 tokens) and has an 8-second time limit.
- When the add-on bundle or the AI budget is used up, the chat says so politely and the shopper still gets search cards.
Privacy and transcripts
Conversations are saved so you can read them in Assistant > Conversations, with emails and phone numbers masked. They are deleted after your log retention period (default 90 days). See Security and your data.
API
POST /v1/assistant/chat(public key with theassistantscope): JSON, or a stream of events (delta,products,done).GET /v1/assistant/widget?locale=ar: is the chat on, and its name and greeting.GET/PUT /v1/assistant/settings,/v1/assistant/knowledge,/v1/assistant/conversations(secret key or dashboard).
Details are in the API reference.