SilentChat

Smart-Routing — Conversation lands with the right team

Last updated: September 17, 2026

Instead of simply assigning the next available agent to each conversation using round-robin or least-busy, SilentChat can classify the first visitor message into a topic and prioritize agents in the matching department. If the visitor writes in a different language, an agent with that language has additional priority.

How it works

For each new conversation (tenant has multiple active departments):

  1. Intent classification — the AI provider reads the first visitor message and returns one of the following buckets:

    • sales — prices, plan comparisons, demos, upgrades, "how much"
    • billing — invoices, payment methods, refunds, subscription changes
    • technical — integration issues, API errors, bugs
    • support — how-to questions, configuration help, generic "help" requests
    • other — everything else (e.g., greetings, ambiguous openings)
  2. Language detection — reuse from auto-translation (Plan #162); best-effort, fails silently on provider error.

  3. Filter pipeline:

    • Departments with matching intent tag → members as candidates
    • If no department matches → all online agents
    • From those, agents with user.language matching → top selection
    • If no language-matching agents → the intent pool without language filter
    • Fallback: the normal round-robin / least-busy strategy on the remaining pool
  4. Audit metadata — conversations.metadata.routed_intent + routed_language are stamped. The sidebar shows the two chips once Smart-Routing takes effect.

Activation

Settings → Departments → Switch "Enable Smart-Routing"

The switch is opt-in because each new conversation consumes ~250 AI tokens for classification (see token consumption below). Tenants with only one department see the switch, but the system automatically skips classification — single-team setups have no routing decision to make.

Intent tags per department

Each department gets a multi-select tile with the five buckets:

  • Sales department → tag sales (optionally also billing if sales also manages invoices)
  • Support department → tags support, technical
  • Billing team → tag billing

A department without tags does not participate in Smart-Routing — the normal round-robin logic remains active for it.

What happens with ambiguous openings?

Visitor writes "Hi" → classifier returns other. In this case, the intent filter is skipped, but the language preference still applies (if activatable). Thus, "Hi" in English is still preferentially routed to an English-speaking agent, even if the topic is not yet clear.

Token consumption

Per new conversation:

  • 1 intent classification call (~150 input + 8 output tokens) — against the intent_classify budget
  • 1 language detection call (~50 input + 10 output tokens) — against the lang_detect budget (often already cached by the auto-translation layer)
  • Total ≈ 250 tokens / conversation with a small IONOS model

Cache: If the same visitor comes with the same opener (e.g., refresh), the result is taken from Redis for 5 minutes — no additional LLM call.

Safeguards:

  • Plan limit check before each classification call
  • On error: fallback to normal round-robin strategy, no stranding
  • Single-department tenants automatically skip
  • Closed-set validation on provider response — hallucinations are neutralized as other

Sidebar display

In the conversation sidebar (accordion "Conversation details"), two chips appear under Smart-Routing:

  • Blue: detected topic (e.g., SALES)
  • Green: detected language (e.g., EN)

This way, the agent knows without clicking why this conversation was routed to them. If both chips are missing, this conversation went through the normal round-robin logic (e.g., because Smart-Routing was off or the classification silently failed).

Frequently asked questions

What if the classification is completely off? The agent can hand the conversation on at any time: "More actions" menu (⋮) in the conversation → "Hand over to a colleague …", then pick a person or department. The audit log records the original routing decision so you can analyze patterns later.

Are existing conversations retroactively classified? No. Smart-Routing only applies to new conversations. If you enable the feature mid-conversation, the effect is only seen in the next chat.

Can I add custom buckets? Not currently — the five buckets are hardcoded because the allow-list filter would otherwise let hallucinations through. Custom buckets are planned as Plan #165b for the future.

Can Smart-Routing be temporarily disabled for a department? Yes — either turn off the "Enable Smart-Routing" switch at the tenant level (all departments), or remove all intent tags from a single department (only that department).

Smart-Routing — Conversation lands with the right team — Help Center — SilentChat | SilentChat