AI ConfigRouting & Handoffs
AI Config

Routing and handoffs

Use the Routing & Handoffs page to move conversations between assistants and humans safely, with tested rules, guardrails, and business hours.

What you use this page for

Use the Routing & Handoffs page to control when conversations move between assistants and humans, how those handoffs are announced, and when they are allowed to happen.

The page has two tabs:

  • Routing Rules — define when to transfer a conversation based on keywords, intent, channel, and priority.
  • Handoff Settings — define how transfers behave: message style, templates, guardrails, and business hours.

Together they answer three questions for every conversation:

  1. Should this move somewhere else now? (Routing Rules)
  2. Is it allowed to move right now? (Guardrails and business hours)
  3. How do we tell the customer and the next agent what is happening? (Message template and response time)

You need tenant admin or equivalent configuration permissions to edit Routing Rules and Handoff Settings. Coordinate with support, sales, and operations leads before changing production behavior.

Follow this workflow when you first set up Routing & Handoffs or when you make major changes.

Decide your routing strategy

Start by deciding how conversations should move between assistants and humans across channels.

  • List your channels (SMS, chat, voice, email) and where each should start (for example, general support assistant).
  • Identify specialized intents that deserve their own assistant or queue: Sales, Support, Billing, Technical, General.
  • Define when AI escalates to humans (for example, refunds over a certain amount) and when humans can hand a conversation back to AI.
  • Sketch at least:
    • One default route per channel (where new conversations land).
    • One or two escalation paths (for example, Billing → Human billing queue).

You should end this step with a diagram or list of which assistants and teams own which intents and channels.

Prepare target assistants and queues

Before you create routing rules, make sure the destinations are ready.

  • In Assistants, configure:
    • A general assistant for broad questions.
    • Specialized assistants (for example, Billing, Technical, Sales) with focused training context and playbooks.
  • Align each assistant to its supported channels (SMS, chat, voice, email) so you do not route traffic to an unsupported channel.
  • Confirm each assistant behaves as expected using test conversations before sending routed traffic.

A rule is only as good as the assistant or queue it sends traffic to.

Create your first routing rules

Open the Routing Rules tab and create a small set of high-value rules before you attempt full coverage.

Focus on routes that have clear patterns and high impact:

  • Billing phrases such as invoice, refund, overcharged on chat or email.
  • Sales intent on voice calls for a sales-focused assistant.
  • Technical intent on SMS for a concise troubleshooting assistant.

Create the rules in this order:

  1. High-priority exceptions (for example, VIP billing customers).
  2. Main escalation rules (for example, Billing intent → Billing assistant).
  3. Fallback default rule (for example, everything else stays with the general assistant).

Keep them inactive until you have tested them in the next step.

Configure handoff behavior and guardrails

Switch to the Handoff Settings tab to decide how transfers behave and how often they are allowed.

Work through these in order:

  • Turn on agent handoff when you are ready for live transfers.
  • Pick a message style preset that matches your brand and channel tone.
  • Edit the handoff message template to:
    • Introduce the new agent or assistant.
    • Summarize why the handoff is happening.
    • Set expectations using {agent_name}, {customer_intent}, and {task_description} placeholders.
  • Set guardrails:
    • Start with max 3–5 handoffs per conversation.
    • Add a cooldown by messages (for example, 3–5 messages) and/or minutes (for example, 5–10 minutes).
    • Enable loop prevention to avoid back‑and‑forth like Billing → Support → Billing.

Start strict, then relax limits once you see stable behavior.

Set business hours and after-hours behavior

Still in Handoff Settings, configure when human queues should accept routed conversations.

  • Choose the correct timezone for your primary operations team.
  • For each weekday:
    • Enable the day.
    • Set start and end times for business hours.
  • Decide after-hours behavior, for example:
    • Keep AI in control and show a message like Our team is offline, but I can still help with....
    • Allow handoffs only to specific 24/7 queues.
  • Add holiday overrides for days your team is closed or operating on special hours.

This ensures the system does not route to humans when no one is available, and that customers get clear expectations.

Test rules and handoffs safely

Test before turning rules live on production traffic.

  • Use internal test numbers, email aliases, or staging channels to trigger each routing rule.
  • For each test:
    • Confirm the expected rule matches (intent or keywords).
    • Verify guardrails behave as expected (no rapid ping‑pong, loops blocked).
    • Check that the handoff message fills in {agent_name}, {customer_intent}, and {task_description} correctly.
  • Ask a few agents to review the incoming handoff messages and confirm they have enough context to act quickly.

Only activate rules for production channels after they pass this test checklist.

Roll out gradually and monitor

Turn routing into an operational control surface, not a one‑time project.

  • Activate a small set of rules first (for example, only Billing on chat and email).
  • Monitor:
    • Handoff volume by rule and channel.
    • Blocked handoffs due to guardrails.
    • Resolution rates and agent feedback.
  • Adjust:
    • Rule keywords and intent if they are too broad or too narrow.
    • Priorities when multiple rules match the same conversations.
    • Guardrail limits if agents see too much noise or too many escalations are blocked.

Expand coverage to more intents and channels once results are predictable.

How the Routing & Handoffs tabs map to your work

Use the tabs in the UI as two lenses on the same flow: when to move, and how/when it is allowed to move.

Routing Rules decide when a conversation should transfer to a different assistant based on:

  • Trigger keywords — comma‑separated phrases in conversation content.
  • Trigger intent — a dropdown (Sales, Support, Billing, Technical, General, None).
  • Target assistant — which assistant or queue should own the conversation.
  • Channels — SMS, Chat, Voice, Email.
  • Priority — which rule wins when multiple rules match.
  • Active/inactive — whether the rule is live.

Think of this tab as your routing map: which signals (keywords, intent, channel) send conversations to which destinations, and in what order.

Create and manage routing rules

Use a consistent pattern when you create or edit rules so they stay understandable over time.

Name and scope the rule

On the Routing Rules tab, add a rule and start with:

  • A descriptive name like Billing chat escalations or Sales voice warm transfers.
  • The channels this rule should affect (for example, Chat and Email, but not Voice).
  • A priority that reflects importance:
    • Lower number or higher value, depending on UI, for more specific or sensitive rules.
    • Ensure exception rules run before broad defaults.

Ask yourself: If two rules matched, which one should win? Set the priority accordingly.

Define triggers (keywords and/or intent)

Use triggers to match the right conversations without catching everything.

  • For keywords, enter a comma‑separated list of phrases customers actually use:
    • Good: refund, wrong charge, invoice issue
    • Risky: billing alone (may be too broad with unrelated mentions)
  • For intent, choose from the dropdown:
    • Use Billing, Sales, Support, Technical, or General when the classifier is accurate for that category.
    • Use None if you want the rule to rely only on keywords.

Combine intent and keywords for high‑risk paths. For example:

  • Intent: Billing
  • Keywords: refund, dispute, chargeback
  • Destination: Billing assistant on chat and email

This catches serious billing cases without over‑routing generic questions.

Select the target assistant

Choose the target assistant that should take over if the rule matches and guardrails allow.

  • Send Billing conversations to a billing assistant tuned for invoices and payments.
  • Send Sales conversations on voice to a sales assistant or human sales queue.
  • Keep low‑stakes or general questions with your general support assistant.

Verify the target assistant supports the rule's channels; do not route SMS to an email‑only assistant, for example.

Activate and review overlap

When you activate a rule:

  • Review other rules for the same channels and intents.
  • Ensure priorities reflect your intent:
    • Enterprise billing rule should outrank General billing.
    • After-hours billing rule (if implemented separately) should outrank general billing during that time window when applicable.
  • Run a few manual tests to confirm:
    • The right rule fires.
    • No unexpected rules match the same conversation.

Keep a short internal list of “golden test cases” (sample messages) that you reuse when you tweak rules.

Tune handoff guardrails and business hours

Guardrails and business hours determine whether a proposed transfer is actually allowed.

Guardrail patterns that work well

Use these starting patterns, then adjust based on data.

  • Standard support queue

    • Max handoffs per conversation: 3
    • Cooldown: 3 messages or 5 minutes
    • Loop prevention: enabled
    • Max handoffs per hour: set only if your team is small and sensitive to spikes.
  • High-touch billing escalations

    • Max handoffs per conversation: 2 (AI → Billing assistant → Human billing)
    • Cooldown: 5 messages or 10 minutes
    • Loop prevention: enabled
    • Max handoffs per hour: tune based on your billing team size.
  • Technical troubleshooting

    • Max handoffs per conversation: 4–5 (AI hands to specialized technical assistant, then possibly to human)
    • Cooldown: 2–3 messages to allow quick experiments.
    • Loop prevention: enabled, to avoid bouncing between tiers.

If agents complain about “ping‑pong” between assistants or teams, increase cooldowns and make sure loop prevention is enabled in Handoff Settings.

Configure business hours without surprises

Business hours prevent handoffs from sending customers to empty queues.

Set timezone and core hours

In Handoff Settings, first:

  • Choose the timezone for the primary team handling routed conversations.
  • For each active day (for example, Monday–Friday), enable the day and set:
    • Start time when humans begin accepting routed conversations.
    • End time when handoffs to humans should stop.

If you have multiple regions, pick one timezone as the “source of truth” and document how other regions map to it.

Define after-hours behavior

Decide what should happen when a routing rule matches outside business hours.

Common patterns:

  • AI-only after hours
    Keep AI in control and show a message like Our team is offline right now, but I can still help with common questions and log issues for follow-up.

  • Limited after-hours queue
    Route only critical intents (for example, Billing for outages) to a 24/7 queue; keep everything else with AI.

Align this behavior with your SLAs so customers are never promised a human response you cannot deliver.

Add holidays and special days

Use holiday overrides for days when your regular schedule does not apply:

  • Company-wide holidays.
  • Partial days (for example, closing at 3pm for an all‑hands meeting).
  • Regional holidays if they affect key teams.

For each override, specify:

  • The date.
  • Whether you are closed or operating on special hours.
  • What should happen to handoffs (often same as after-hours behavior).

Common pitfall: forgetting to update business hours and holiday overrides when your support schedule changes. When in doubt, check Handoff Settings before assuming routing is broken.

Settings you will touch most

You do not need to memorize every field. These are the controls admins use most often when tuning routing and handoffs.

routing.ruleNamestring

Descriptive name for a routing rule, such as Billing chat escalations or Technical SMS triage. Make names specific enough that operators can guess what the rule does from the list view.

routing.triggerskeywords + intent

Combination of comma‑separated keywords and a high‑level intent (Sales, Support, Billing, Technical, General, None) that activates the rule. Use both for high‑risk or high‑value paths.

routing.priorityinteger

Priority that decides which rule wins when multiple rules match. Use higher priority (or lower number, depending on the UI) for more specific or sensitive rules so they override broad defaults.

handoff.enabledboolean

Global toggle to enable or disable automatic handoffs. Use this as an emergency stop if guardrails misbehave or if you need to pause routing during an incident.

handoff.messageTemplatetemplate string

Template for the message customers see when a handoff occurs. Include placeholders like agent_name, customer_intent, and task_description to give both the customer and the next agent clear context.

handoff.guardrailslimits

Group of settings that cap how many and how often handoffs occur: maximum per conversation, cooldown by messages/minutes, loop prevention, and optional hourly limits. These protect humans from overload and prevent confusing back‑and‑forth.

handoff.businessHoursschedule

Timezone, weekly schedule, after-hours behavior, and holiday overrides that control when handoffs to humans are allowed. Always review these when you change support coverage.

Troubleshooting routing and handoffs

Use these checks when behavior does not match expectations.

Symptom: conversations are not routing at all

  • Confirm the relevant Routing Rules are active and scoped to the correct channels.
  • Check that keywords and intent actually match real customer messages.
  • Verify that agent handoff is enabled in Handoff Settings.
  • Look at business hours:
    • If you are outside business hours and after-hours behavior keeps AI in control, no handoff will occur.

Symptom: too many or noisy handoffs

  • Review trigger keywords and remove overly broad terms.
  • Tighten intent selection (for example, only Billing instead of General).
  • Decrease max handoffs per conversation and increase cooldown.
  • Confirm loop prevention is enabled to avoid ping‑pong between assistants.

Symptom: customers see confusing or empty handoff messages

  • Open Handoff Settings and review the message template:
    • Check that placeholders like {agent_name}, {customer_intent}, and {task_description} are spelled correctly.
    • Add a short, plain‑language explanation of why the handoff is happening and what will happen next.
  • Make sure human response time matches your real SLA so expectations are accurate.

Symptom: handoffs during closed hours or holidays

  • Double‑check the timezone and weekly schedule in business hours.
  • Review holiday overrides for the current date.
  • Confirm after-hours behavior is set as expected (AI-only vs limited queues).

Operate and iterate over time

Treat Routing & Handoffs as an ongoing control panel, not a one‑time configuration.

  • Review metrics and agent feedback weekly for the most active rules.
  • Archive or deactivate stale rules that no longer match your products or teams.
  • Align with assistants and playbooks:
    • When you add a new assistant or playbook, revisit routing rules that should send it traffic.
  • Document changes in your internal runbooks so on‑call leads understand:
    • When handoffs occur.
    • How to override AI if needed.
    • Where to report misrouted conversations.

When you make meaningful routing or handoff changes, communicate them to operations and support leads with example conversations. This reduces surprise and speeds up feedback on whether the new configuration works.