Skip to content

Caller Routing Guide

Caller Routing lets the agent change tack based on who's on the line. Instead of one script for everyone, you write rules: if they sound frustrated, skip the small talk; if they're price-shopping, send the price list; if they've called before, acknowledge it.

Routing is optional. Agents run fine without a single rule. It earns its keep when the same caller types show up week after week and you already know how each should be handled. Set it up in the Agent Studio under "Caller Context", or as callerPersonas from the API.

How it works

You define a list of caller types. Each one has three parts:

  1. Caller type: a short label for this kind of caller.
  2. Trigger phrase: what they say (or the sentiment they express) that tells the agent this is that type.
  3. Approach: how the agent should adapt its behavior for that kind of caller.

These caller types are handed to the agent as guidance, not as a scored routing engine. As the call unfolds, the agent watches for language that matches a trigger and leans into the matching approach for the rest of the conversation.

Good examples

Appointment booking

Anxious patient

  • Trigger: "I've been putting this off" / "I hate going to the dentist"
  • Approach: Be extra reassuring. Acknowledge the feeling. Offer gentle options like numbing or sedation.

Price shopper

  • Trigger: "How much does a cleaning cost?"
  • Approach: Answer directly. Mention insurance. Don't push booking. Offer to email a price list.

Customer support

Frustrated repeat caller

  • Trigger: "This is the third time I've called about this"
  • Approach: Acknowledge the frustration first. Pull up full history. Skip questions they've already answered.

Confused user

  • Trigger: "I don't understand where the button is"
  • Approach: Walk through step-by-step. Confirm each step. Offer to send a screenshot or screen-share.

Sales outreach

Just browsing

  • Trigger: "Just looking around" / "Checking out options"
  • Approach: Don't push. Offer to send a self-serve demo link and follow up next week.

Ready to buy

  • Trigger: "Our current tool just broke" / "We need this by end of quarter"
  • Approach: Skip qualification fluff. Book an immediate call with a senior rep. Offer expedited onboarding.

Tips

  • Pick 2–4 distinct types. More and the agent starts mis-classifying.
  • Make types genuinely distinct. "Frustrated caller" and "Angry caller" overlap too much. Pick one.
  • Triggers should be phrases they actually say. Not sentiment you imagine. Real wording from transcripts is best.
  • Approaches are coaching, not scripts. The agent paraphrases. You're giving guidance, not a verbatim line.
  • Start conservative. Add routing rules only when you see a specific caller type showing up repeatedly in your logs and you know how you'd want them handled differently.

When routing fires

The guidance stays in front of the agent for the whole call, not just the greeting. So a caller who starts neutral but gets frustrated mid-call can still be met with the "Frustrated" approach. The agent uses its own judgment about which type fits the moment, so as the conversation shifts it can change the approach it leans on.

Putting it together

A complete routing block for a dental booking agent:

yaml
persona:
  callerPersonas:
    - type: "Anxious patient"
      detectedWhen: "I've been putting this off; I hate the dentist; I'm nervous"
      approach: "Be extra reassuring. Acknowledge the feeling. Offer numbing or sedation options."
    - type: "Price shopper"
      detectedWhen: "How much; what does it cost; price; cheap"
      approach: "Answer directly. Mention insurance. Offer to email a price list instead of pushing a booking."

Next steps

  • Skip routing at first. Launch the agent, let it handle every caller the same way, and listen to 20–30 calls.
  • Once you hear a pattern ("three callers this week said the same frustrated thing"), add one caller type. One at a time.
  • Revisit monthly. Your caller mix shifts as your business grows.