Chat assistants — a team of specialists, not one model
The chat in your admin is not one AI. It’s a small team. There’s a generalist who handles day-to-day operational questions, a menu strategist who knows pricing and positioning, a recipe coach who knows your pantry and your draft dishes, a marketing voice who writes captions in your venue’s voice, a growth strategist who reads competitor data and customer reviews, and an analytics analyst who reads your sales data. By default the chat runs as a single generalist — turn on multi-agent mode and a quiet coordinator picks the right specialist (or two, if the question spans two lanes) for each question. You see ↳ Routing to Menu Strategist… (or ↳ Routing to Generalist + Analytics Analyst… when two specialists answer together) appear above the reply so you always know who’s speaking. The chat answers in whatever language you wrote in — English, Italian, Thai, all the same to it.
What it does
A general-purpose AI is fine for general-purpose questions. It handles “what’s the Margherita selling for”, “is the Carbonara sold out” and “how do I add an ingredient” without breaking a sweat. But when the question gets sharp — “should I rename the carbonara to something more evocative for the new menu?” — the generalist drifts. It doesn’t have a strong opinion about menu psychology. It tries to be useful and ends up vague.
Specialists fix that. Each one is a fresh assistant, narrowed in scope, with its own personality and its own set of tools. The Menu Strategist will rename your carbonara with conviction because that’s all it does. The Marketing Voice will write a launch caption in your house style because it’s been told only to do that and it’s been given the venue’s voice notes + the last three posts that worked. The Recipe R&D Coach knows your pantry and the inspiration inbox and won’t try to sell you a marketing strategy.
A small coordinator model sits in front of the team. It reads each user message, decides which specialist is the right fit, and routes the question. The coordinator is cheap — it costs a fraction of a cent per question — and very fast. From your side, the chat feels like one assistant; you don’t pick the specialist, the coordinator does, and the result appears with a brief one-line note above it (“Routing to Menu Strategist…”) so you always know who answered.
When the coordinator can’t decide — your message is ambiguous, or you’re asking something multiple specialists could handle — it falls back to the Generalist or asks a clarifying question. Multi-agent mode is opt-in and reversible at any moment from the super-admin settings: flip it back off and the chat returns to the single generalist it’s always been.
The rule
The team is opt-in. Off by default, on with a single toggle, off again the moment the owner decides. When it’s on, the chat tells you which specialist is answering. When it’s off, the chat is one assistant exactly like it always was.
The specialists
Six assistants are live today. Each has a name, a personality, and a focused set of tools — the tools are the actions the assistant can run on your behalf (look up a dish, change a price, save a recipe inspiration, list competitors, summarise reviews, read sales analytics).
Generalist
The catch-all. Handles operational day-to-day questions about your menu, your inventory, your suppliers, your recipes, your waste tracking, your prep tasks. Has access to every tool the rest of the team has between them — it’s the fallback when no specialist clearly fits. Always enabled (you can’t turn the Generalist off; without it the chat would have nothing to fall back to).
Best for: “is the Margherita sold out”, “add a 12g sea-salt pinch to the carbonara recipe”, “what suppliers haven’t sent invoices this week”.
Menu Strategist
Pricing, dish positioning, what to feature on the menu, what to rename, what to hide. Reads your menu items and recipes; can change prices, toggle the recommended star, mark items hidden or sold-out. Doesn’t write captions or draft posts — that’s the Marketing Voice’s beat.
Best for: “the lasagne hasn’t sold in three weeks — what should I do”, “rename the carbonara to something more memorable”, “which of my pastas is underpriced compared to my pizzas”.
Recipe R&D Coach
New dish ideas, recipe inspiration, save-this-link from your phone, candidate development. Reads and writes the Recipe R&D inbox. Knows the dishes you’ve drafted and the ones you’ve discarded, so it remembers what didn’t work as well as what did.
Best for: “save this Instagram reel as a candidate”, “what should I do with the bottarga we just got from the supplier”, “are there any candidates I’ve forgotten about in the inbox”.
Marketing Voice
Brand voice, dish descriptions, social captions, ad copy. Reads your menu, your knowledge base (your house voice notes, your venue story), and your own social activity so drafts stay grounded in what’s actually resonating. Doesn’t change prices or recipes — that’s a different lane.
Best for: “write a caption for the Pizza Tartufata launch”, “rewrite this dish description for the autumn menu — it sounds too dry”, “what’s the right tone for an apology post after the closure last weekend”.
Growth Strategist
Competitor positioning, social engagement, review sentiment. Reads competitor data (Instagram, Facebook, Google Reviews), your own social metrics, scheduled posts, and your review backlog. Read-only — it tells you what’s happening and what it would do, it doesn’t execute. Pair it with the Marketing Voice to actually publish.
Best for: “how am I doing on social compared to Appia”, “what reviews need a reply”, “what are guests complaining about lately”, “what’s the most engaged competitor near us posting about this week”.
Analytics Analyst
Sales performance. Reads closed-order data and answers grounded in concrete numbers — top sellers, revenue trends, daypart and day-of-week patterns, average ticket, per-dish trajectories. Read-only — it tells you what the data shows and what it would do, it doesn’t change prices or post anything. Pair it with the Menu Strategist when a reading suggests a price or menu move.
Best for: “what was our top seller last week”, “how much did we make this month compared to last”, “are we busier at lunch or dinner”, “is the carbonara picking up or fading”, “what’s our average bill — is it going up”, “should I close on Mondays”.
How to turn it on
Multi-agent mode is a super-admin setting. Open Super Admin → AI Settings → Chat Agents and flip the Multi-agent mode toggle to on. A short explanation paragraph appears below the toggle, then the Coordinator card and the Specialists grid.
From the same screen you can:
- Pick the coordinator’s model. The default is a cheap, fast routing model — good enough for the decision and almost free per turn. If a better routing model ships later, change it here without redeploying anything.
- Toggle the routing announcement. When on, every answer is preceded by a one-line “Routing to
…” so you know who’s speaking. Turn it off if you want the chat to feel like a single assistant from the user’s side. The team rotates underneath; you just don’t see it. - Enable or disable individual specialists. The Generalist always stays on (it’s the fallback). Any of the others can be turned off — the coordinator will simply skip them and route to the next best option.
- Pick each specialist’s model. Marketing Voice might want a creative-tuned model; Menu Strategist might want a structured one. Each specialist has its own model picker; leave unset to use the platform default chat model.
Save the section and the change is live from the next chat turn onwards. Existing in-flight conversations finish on whichever model they started — switches don’t yank a turn mid-stream.
To turn it off, flip the toggle back. The chat returns to its previous single-agent behaviour. Nothing is lost; conversation history is the same data either way.
How it talks to your team
When multi-agent mode is on AND routing announcements are on, every answer starts with a small italic line:
↳ Routing to Menu Strategist…
Then the specialist’s reply streams in normally. The line is informational only — there’s nothing to click. Its job is to tell you who’s answering so you don’t wonder why the tone shifts between turns (“did the AI just become more decisive?” — yes, because a different specialist is on the mic).
If you’d rather the chat feel monolithic, untick Announce routing in the Coordinator card. The team still rotates; the operator just doesn’t see the seam.
What each specialist can actually do
Each specialist has a list of tools — the actions it can run on your behalf. Tools are things like “look up a menu item”, “change a price”, “list scheduled posts”, “summarise reviews”, “save a recipe inspiration”. Underneath each specialist’s card in the configurator is a Tools disclosure that shows the exact tool list for that assistant.
The same tool can appear in more than one specialist’s list — the Generalist has all the tools (which is why it works as a fallback), while each specialist has a tighter subset. For example:
- The Menu Strategist has the menu read + write tools, the recipe read tool, and the knowledge-base search — but not the social or competitor tools.
- The Marketing Voice has menu reads, knowledge-base search, AND a small set of your-own-social reads (overview, scheduled posts, recent posts) — so its captions stay grounded in what’s actually been published lately. No write tools — drafts are still saved through the Composer.
- The Growth Strategist has the full competitor read set (listCompetitors, getCompetitor, getCompetitorInsights, getCompetitorRecentPosts, getCompetitorRecentReviews), your own social reads, and your own review reads (review backlog, sentiment summary). Strictly read-only — the Growth Strategist surfaces patterns and recommends, but it doesn’t post or reply for you.
- The Analytics Analyst has the sales read set — top sellers (by quantity or revenue), revenue over a window with optional daily or weekly breakdown, daypart and day-of-week performance, average ticket with delta vs the previous period, and per-dish trend with rising/falling/flat direction. Plus the menu search tools so it can resolve a dish name to a record before reading its trend. Strictly read-only — the Analytics Analyst surfaces what the numbers say; price moves and menu edits still go through the Menu Strategist.
- The Recipe R&D Coach has the Recipe R&D inbox tools — save a link, save a free-text idea, list the inbox, read a single candidate.
If you want to narrow what an assistant can do for a specific teammate, that’s a separate setting — see the AI agents per teammate page for the per-user override layer.
Worked example
Marco runs an Italian trattoria in Bangkok. He’s been using the in-app chat for six months — the generalist version — and he likes it for “is the carbonara sold out” but finds it weak for strategy questions.
He flips on Multi-agent mode in the super-admin settings. The default toggle for Announce routing is on, so he leaves it. He saves.
He opens the chat and asks: “What should I rename the carbonara to? It’s not selling well.”
The chat displays:
↳ Routing to Menu Strategist…
Looking at your menu, the carbonara is sitting between three pastas with stronger names — “Tagliatelle al Tartufo Nero”, “Pici Cacio e Pepe”, “Bigoli all’Anatra”. Plain “Carbonara” reads generic next to those. Three directions that fit your house voice:
- Carbonara di Cinta Senese — leans on your guanciale supplier (Cinta Senese is your premium pork breed), strong terroir cue.
- Carbonara del Casaro — anchors on the Pecorino (you list “Casaro” as the cheesemaker on the dish card), brings the cheese forward.
- Carbonara come a Roma — heritage move, comforts diners who already know the dish.
If I had to pick, I’d go with option 1 — it matches the naming pattern of the rest of your menu and gives a regular a reason to try it again.
Marco reads it, picks option 1, and the Menu Strategist (still with him on the same turn) commits the rename via its Change menu item name tool.
Next turn, he asks: “Write a launch caption for the new name in our voice.”
The chat displays:
↳ Routing to Marketing Voice…
[a caption that uses the venue’s house voice, references the Cinta Senese guanciale by supplier, and ends with the venue’s typical sign-off]
Marco copies the caption into Composer, schedules it, and goes home. Two specialists worked on the same dish in the same chat session, each one in their own lane. The coordinator did the routing; Marco never had to pick.
Two specialists on one question
The team can now answer in parallel. When your question spans two lanes the coordinator routes to both specialists at once and then weaves their answers into a single reply. You see a routing line like ↳ Routing to Generalist + Analytics Analyst… and then a single coherent paragraph that uses each specialist’s contribution where it fits.
A worked example. Marco asks the chat: “What’s in the carbonara and how much does it cost us?” That’s two questions in one — an ingredients lookup belongs to the Generalist, the cost lookup belongs to the Analytics Analyst. The chat shows:
↳ Routing to Generalist + Analytics Analyst…
The carbonara is built on guanciale, egg yolks, Pecorino Romano, freshly cracked black pepper, and bucatini — your house version goes guanciale-heavy at 35 g a plate. At the current portion size and your supplier pricing it costs 38 baht in food, which gives you a 84% gross margin at the menu price of 235 baht.
Both specialists ran in parallel; the coordinator stitched the answer together in Marco’s voice. The cap is three specialists per turn — beyond that the coordinator picks the three most relevant and ignores the rest.
If one specialist can’t reach its data, the chat acknowledges it briefly and gives you what it does have. Example: “The carbonara is built on guanciale, egg yolks, Pecorino, pepper, bucatini. I couldn’t pull the cost data right now — try again in a moment for the margin number.” You never get a generic “something went wrong” page.
In your language
The chat replies in whatever language you write in. English, Italian, Spanish, Thai — whichever you use, the answer follows. If you mix languages in one question, the answer leans on the dominant one. Tool inputs and the internal data the system reads stay in English (the menu is stored once, not translated), but everything you see in the reply matches you.
That means you can ask “Mi spieghi cosa c’è nella lasagna e quanto costa?” and get a reply in Italian — even if the chat normally talks to a colleague in Thai on the next message.
What it doesn’t do (yet)
- More than three specialists at once. The coordinator caps at three per turn. If your question spans four or more lanes the chat picks the three closest and answers from those — usually that’s enough.
- Custom specialists. The configurator shows a disabled “Add specialist” placeholder. The schema already supports arbitrary specialists, but the editor for prompts + tool lists isn’t built yet — when it ships, you’ll be able to spin up “Pastry Chef Coach” or “Inventory Forecaster” without us writing code.
- Edit a specialist’s system prompt. Each card shows the slot key — the prompts themselves live in the codebase today. Operator-side prompt editing is queued for the next phase of the team’s polish work.
- Long windows on the analytics tools. Bigger windows cost more reads, so the analytics queries cap at 90 days (180 days for the headline revenue number, which uses a fast index). If you need a year-long view, the standalone Analytics dashboard is still the right surface — the chat is for quick reads, not deep dives.
- Telegram bot fan-out. The bot in Telegram still runs the legacy single-agent path. The fan-out you see in the in-app chat is queued for the bot in a follow-up.
Related features
- AI agents per teammate — narrow which specialists each teammate sees and which tools each specialist can use for them.
- Audit log — turning multi-agent mode on/off and changing the coordinator’s model are recorded so you can see who flipped what.
- Knowledge base — the venue knowledge the Marketing Voice and Generalist read to stay grounded in your venue’s voice.