Multilingual Email Orchestration
Hospitality · 2020-Present
Thousands of emails, six languages, one team
A support inbox for a consumer business is a firehose: refunds, cancellations, billing questions, password resets and order changes arrive all day, in whatever language the customer happens to speak. A human agent can write a careful, correct, on-brand reply - but not hundreds of them an hour, and not fluently across six languages. The pressure to go faster is exactly where quality slips: the wrong template, a promised refund that the account doesn't actually qualify for, a curt reply in a language the agent half-speaks.
The temptation is to hand the whole thing to a language model and let it answer. That fails for the reason every support team already knows: a model that writes fluently will also invent confidently - quoting a policy that doesn't exist or a balance it never looked up. The real job is narrower and harder: draft a reply that is grounded in this customer's actual account facts and approved policy, in the right language, fact-checked before a human ever sees it, with the agent always in the loop.
Lightweight for most, heavy only when needed
The other half of the problem is cost. Running a large model on every inbound email - including the spam, the out-of-office bounces and the trivially-templated replies - is wasteful. A well-built system is layered: cheap deterministic rules and small local classifiers handle triage, language and routing for free, and the expensive model is reserved for the two things that actually need it - writing the draft and checking it.
This demo is a faithful, downscaled reimplementation of that layered design on a synthetic corpus. It runs the full nine-stage pipeline: clean, triage, detect language, classify product and issue, enrich from a simulated backend, draft, QC, and route to an agent. It proves grounded multilingual drafting with a verification pass and a human-in-the-loop agent inbox; it deliberately simplifies the CRM integration, the real send, multi-tier model routing and the breadth of languages and products - all labelled in Architecture → Out of scope. The client is not named.