Every WhatsApp AI agent for lead qualification product page reads the same way: subscribe, connect your number, deploy an agent in minutes. None of them say what it is actually like to run one, in nine languages, against real inbound leads, for a year. So this is the version we did not find anywhere else, because we are not selling a platform. We are describing the one we run.
Kavya is AskQuorum's own WhatsApp assistant. It qualifies our own inbound leads, in whichever of nine languages a prospect writes in, before a human ever joins the conversation. This is the architecture, the parts that were genuinely hard, and what we would tell ourselves before we started.
What Kavya actually does
A visitor messages the WhatsApp number linked from this site. Kavya opens with a disclosure that she is an AI system, not buried in a menu but in the first message, because that is what Article 50 of the EU AI Act requires and because it is also the honest thing to do regardless of what the law says. From there she asks the questions that would otherwise take a human fifteen minutes to establish: what the prospect is trying to build, roughly what stage they are at, and what would make this conversation worth a follow-up call. When a conversation clears that bar, it hands to a human. When it doesn't (a recruiter, a vendor pitch, someone testing the bot) Kavya says so plainly rather than pretending to escalate.
The nine-language problem
Supporting one language well is a prompt-engineering problem. Supporting nine well is a routing problem, and it is the part that took actual engineering time.
The failure mode we hit early: a visitor starts in French, the model's confidence in French drops mid-conversation on an ambiguous phrase, and it silently drifts into English: polite, fluent, and wrong. A prospect who opened in their own language and got answered in a different one reads that as "this company didn't actually build a multilingual product," which is the opposite of the point.
The fix was to make language a sticky, explicit piece of session state, set once from the opening message and never re-inferred mid-conversation unless the user explicitly switches. Every downstream component (the qualification questions, the disclosure text, the handoff message) reads from that one piece of state rather than each independently guessing. This is the same principle the rest of the site's nine-language switcher runs on: one source of truth for "what language is this," read everywhere, guessed nowhere twice.
Guardrails against hallucination
A qualification conversation is a narrow, well-scoped task, which is exactly what makes hallucination containable rather than an open research problem. Three things do most of the work:
- A closed question set. Kavya asks from a fixed set of qualification questions rather than improvising new ones, which bounds what she can get wrong to "asked the wrong follow-up," not "invented a fact about our pricing or capabilities."
- No claims about capability, pricing or timeline. Those questions get a templated "let's get you talking to someone who can answer that properly" response and a faster handoff, not an improvised answer.
- Explicit "I don't know" as an allowed output. The failure mode we actively designed against is a model that would rather produce a plausible-sounding wrong answer than admit uncertainty. Kavya is instructed, and evaluated, on saying she doesn't know over guessing.
The human handoff
The handoff itself is a state transition, not a vibe. A conversation moves to "needs a human" when it clears the qualification questions, when the prospect asks something outside the closed set twice, or when the prospect explicitly asks for a person. Each of those is a checkable condition, not a judgment call buried in the model's discretion. That matters, because the failure mode of an uncheckable handoff rule is a bot that either never escalates (a bad experience for a real prospect) or escalates everything (a bot doing nothing).
What broke
Two things, honestly:
Session state getting lost across WhatsApp's own message-delivery quirks: a message arriving out of order, or a user resuming a conversation days later, occasionally reset language state to the default. The fix was the same sticky-state principle above, made durable across sessions rather than only within one.
A greeting template that didn't carry the disclosure with it. Early on, the AI-system disclosure lived in a separate step that could, in rare cases, fire after a templated welcome message rather than as part of it, exactly the compliance gap Article 50(5) exists to close. It is fixed now: disclosure is generated in the same pass as the greeting, in the same language, never as a follow-up message.
What it costs to run
We are not publishing per-conversation figures here (see the note below on why), but the honest, general-purpose numbers worth knowing if you are scoping something similar: production-grade agents serving real users typically run $500–15,000 a month depending on volume and model choice, with actively-used production agents commonly landing in the $3,200–13,000 a month range once you include model costs, hosting and monitoring. Those are market observations from published vendor pricing in 2026, not an AskQuorum quote. Treat them as a planning range, not a promise.
The gate we are being upfront about
We do not publish Kavya's operating figures (conversations handled, language mix, response time, conversion to a human conversation) in this post. Not because they don't exist, but because we are not going to estimate or invent them to make this stronger, and we would rather ship the honest architecture version than a padded one. If real figures become available, we will add them here with a visible update date rather than rewriting history.
Talk to Kavya, then talk to us
The best way to evaluate any of this is to try it, not to read about it. Message Kavya on WhatsApp and see how a real multilingual qualification conversation actually runs, in whichever of the nine languages you'd rather use. If you're building something similar, see how we structure a build like this and what a scoped engagement looks like, then tell us what broke on yours. We've been running ours for a year and most of the interesting failures were not the ones we expected.
Common questions
Kavya is the WhatsApp AI assistant AskQuorum built and runs for its own inbound leads, holding qualification conversations in nine languages before handing a conversation to a human.
Nine: English, Spanish, Simplified Chinese, Arabic, French, Portuguese, German, Japanese and Russian, the same nine the rest of askquorumai.com is available in, selected by the same detection logic.
No. Kavya's job is qualification and first response, not closing. Every conversation that clears the qualification bar is handed to a human, and Kavya is built to recognise when a handoff is the right answer rather than continuing to reply.
Yes. Kavya discloses that it is an AI system at the start of every conversation, in the language of that conversation, which is what Article 50 requires. See our full breakdown of that obligation.