AI features
Storefront chat
The floating assistant on every store — what it knows and how it answers.
A floating chat widget sits in the bottom-right of every storefront page. It's the casual entry point — quick questions, recommendations, help finding something.
What it can do
- Answer product questions. "Do you have anything in linen under €70?" The assistant runs a catalog search and returns up to a handful of matches with a short summary.
- Look up your orders (signed-in shoppers). "Where's my last order?" It pulls the order from your history and reads back status + tracking.
- Speak your language. It detects your locale (the URL prefix) and replies in English or Dutch.
- Stay on topic. The persona is configured by the store — see Customize — so it sounds like this shop, not a generic chatbot.
What it does not do
- It does not modify your cart or your orders. For that, use the Shopping agent.
- It does not have admin tools. Anything that would mutate the catalog or someone else's data is unreachable.
Where chat history lives
- Signed in — your conversations are stored under your account at
/chat_threads/{threadId}. You can come back to a thread later. - Anonymous — your conversations live in your browser's
localStorage, signed with an HMAC key that's scoped to the thread. This prevents tampering and means we don't need a server-side anonymous account. - If you sign in later, the platform can adopt your anonymous history into your account (with your consent) so you don't lose context.
Implementation
Under the hood the chat is a Genkit flow (src/genkit/chat-flow.ts)
calling Vertex Gemini 2.0 Flash in europe-west4. The flow has a small
toolset (product search, order lookup) and a persona injected from the
tenant settings.
If the platform isn't configured with Vertex credentials (development environments), the chat returns a friendly "not configured" reply instead of throwing — so you don't see a broken widget.