Callnovo

Call Routing Software: How IVR and Intelligent Call Routing Get a Call to the Right Person

Call routing software has to answer who should take a call and whether they can take it now. See how IVR, ACD, queues and AI handoff work, then test yours.

2026年10月9日·13 min·Neil Fernandez — 运营经理
A human agent wearing a white headset smiles toward the camera in a call center, with colleagues at their desks behind her — call routing software

本文目前仅提供英文版本。查看英文版 →

You wrote the rule: Portuguese speakers go to the Portuguese group. Then a Portuguese-speaking customer lands with a Spanish-speaking human agent anyway and gets transferred.

Call routing software answers two questions for every inbound call: who should take it, and can that person take it right now. A rule answers the first. Live status, channel settings, and capacity limits answer the second.

This guide covers what comes after: rule order, where a call goes when nobody’s free, and what should arrive when an AI phone agent hands off to a person.

On this page

TL;DR: call routing software in one table

Matching a call to a group is the easy half. The hard half is what happens when nobody there is free, and what the person who answers can see.

The callSignal the menu collectsWhere the rule pointsIf nobody there is freeOn screen at pickup
”Where’s my package?”Tracking number, keyed inTracking groupHold, then a second tracking groupParcel history and delivery estimate
Portuguese speaker, Spanish-speaking teamLanguage choicePortuguese groupA bilingual group, never whoever is idleLanguage and reason for calling
2 a.m. local timeBusiness hoursA team on shift elsewhere, or a recordingA missed-call ticketWho called and when
Upset customerMenu choice, or what they told the AI phone agentComplaints groupA senior group, never the menu againWhat they already said

What call routing software is made of: cloud IVR, ACD, and the call queue

Three parts do three jobs. The menu asks and listens, the automatic call distributor (ACD) picks a person, and the queue holds the call when nobody can be picked.

What IVR means, and what it doesn’t

IVR stands for interactive voice response, and the meaning is literal. The phone system answers, plays a prompt, and responds to what the caller does next. An IVR is the phone menu that answers a call, collects input by keypad tones or speech, and passes it to the distributor, which picks the person.

Three things it isn’t:

  • It isn’t an auto attendant. That only transfers to extensions. A menu can look something up mid-call and branch on the result.
  • It isn’t the router. The menu collects and the distributor decides.
  • It isn’t necessarily AI. “Press 1 for orders” counts. So does a system that understands a spoken sentence.

How the menu listens is a setting. In Twilio’s <Gather> verb, input can be keypad tones (DTMF), speech, or both, and the default is keypad only. The default wait is five seconds, and speech is captured for up to 60 seconds (Twilio Docs, 2026). If the caller enters nothing, the flow continues, and in Twilio’s simplest example nothing comes next, so the call ends. “The caller did nothing” is a branch too. If you didn’t configure it, the platform’s default did.

Cloud menus versus the attendant on your desk phones

A cloud IVR is hosted with the rest of the contact center system, so it can query other systems mid-call. For an online store, that’s the order in Shopify or the ERP.

In our Latin America logistics case, callers key in a tracking number and HeroDash pulls the parcel’s route, status history, and delivery estimate from the client’s systems. It’s on the workbench when a human agent picks up.

The distributor and the queue

ACD software does the assigning. On HeroDash’s phone system, an inbound call enters a queue and the caller’s keypress points it at a skill group, such as pre-purchase or after-sales.

A human agent has to be added to a skill group to receive its calls. A new hire who isn’t in it won’t get them, whatever the rule says.

Five stops for one inbound call: phone number, phone menu, routing rule, skill group queue, human agent's screen. The first matching rule wins, and a call has four exits when nobody is free.

Intelligent call routing answers two questions. Most guides stop at the first

The two pages in our sample that say “intelligent routing” most often both describe it as AI working out what the caller wants. That’s one input. The engine that assigns the work runs on rules, live status, and capacity. In HeroDash, “intelligent” doesn’t mean an AI is deciding.

Microsoft splits it the same way: “Unified routing has two main stages: classification and assignment.” Classification adds information to the work item. Assignment gives it to a person based on skills, availability, and workload (Microsoft Learn, 2026).

A note on scope: the mechanics below are how HeroDash’s assignment engine handles tickets, chats, messages, and callbacks on missed calls. Phone systems name these pieces their own way, so look each one up in yours.

Question one: who should get this call

A rule is a set of conditions and a destination. In HeroDash the conditions can be the channel or number, brand, business hours, country, tags, and custom fields. They sit in two groups, “all of these” and “any of these,” and the rule matches when either group is satisfied.

Rules run top to bottom. The first match executes and nothing below it is read. If none match, the default rule takes the work. So rule order is configuration. Twilio’s TaskRouter documentation says the same: “If a Task matches multiple filters, only the first matching filter is evaluated.” It adds: “Like switch statements, you should always include a default_filter” (Twilio Docs, 2026).

Here’s the mistake in a few lines you can run:

RULES = [  # evaluated top to bottom; the first match wins
    ("Any call in business hours", lambda c: c["open"], "general_queue"),
    ("Portuguese tracking", lambda c: c["lang"] == "pt" and c["intent"] == "tracking", "pt_tracking"),
]
DEFAULT = "after_hours_team"  # where a call goes when no rule matches

def route(call):
    for name, matches, group in RULES:
        if matches(call):
            return group
    return DEFAULT

print(route({"open": True, "lang": "pt", "intent": "tracking"}))    # general_queue
print(route({"open": False, "lang": "es", "intent": "complaint"}))  # after_hours_team

The Portuguese rule is correct and never runs in business hours, because the broad rule above it matches first.

Question two: can that person take it right now

A matched rule names a person or a group. HeroDash’s assignment engine then runs four checks:

  1. Status. The person has to be in an available state. On a call, in a meeting, at lunch, in training: skipped.
  2. Channel switch. Each person has their own switches: one for chat channels, one for email, one for phone.
  3. Capacity limit. Live chat counts open conversations. Slower channels count tickets awaiting a reply.
  4. A slot. Two requests arriving together can’t take the same slot, and a slot is released if a later step fails.

Work through this list when a correct rule didn’t reach someone. Start one step earlier, with rule order.

Troubleshooting tree with five checks: a broader rule sits above, the person's status is not available, their channel switch is off, they are at capacity, or the default rule took the work.

Skills-based routing and how a group picks one person

Skills based routing, usually hyphenated, sends work to a group defined by what its members can do: a language, a product line, a type of request. In Amazon Connect, queues are tied to human agents through a routing profile, which sets each queue’s priority and delay (AWS Docs, 2026).

Inside a group, HeroDash offers five strategies:

StrategyHow it picksLimit
RandomAny eligible memberNo control over the spread
Round robinEach member in turnIgnores who’s better at what
PriorityLowest number first; the next tier gets work when the first is fullBackup sits idle until then
WeightedBy proportions you setIndividuals only, not skill groups
Manual claimPeople pick up work themselvesNothing moves until someone claims it

Sticky assignment is on by default: the engine first tries whoever handled this contact last time, then falls back to the strategy if that person is offline or at capacity.

The logistics team shows it working. Spanish and Portuguese calls used to land in one pool, and a Spanish-speaking human agent who picked up a Portuguese speaker could only transfer. The new menu collects reason and language, then feeds Spanish tracking, Portuguese tracking, and complaints groups: 40 people, 2,500+ inbound calls a day.

When nobody can take the call: what call queue software has to decide

When a rule matches but nobody in the group is free, the call has four exits: hold in queue, overflow to another group, hear an after-hours message, or become a missed call.

ExitWhat the caller hearsDecide in advance
Hold in queueMusic, ideally a position or an estimateThe longest hold before the next exit
OverflowUsually nothing; the call movesWhich group, and whether it can finish the work
After-hours messageA recordingHours on the number; who covers the night
Missed callRinging, then nothingWhere the callback ticket is assigned

Overflow deserves the most thought. A group that can’t finish the call turns one hold into two.

In HeroDash, business hours are set in the rule. Outside them the phone doesn’t ring; the customer hears the after-hours prompt. That’s a per-number setting, so night coverage is a staffing choice. A medical device manufacturer selling in more than 120 countries passes calls from one team’s shift to a team in another time zone, on the same local number. A missed call creates a ticket, and that ticket goes through assignment like any other.

Holds continue after pickup. After more than 10 seconds on mute or hold, the workbench warns: “The customer has been on hold beyond the configured limit.”

Timeouts are where exits get lost. If a target times out with no next target or filter, Twilio says, “the Task will fall out of the Workflow and be canceled.” The default filter doesn’t catch it (Twilio Docs, 2026).

AI IVR and conversational IVR: where the AI stops and a person takes over

The front door can be a keypad menu, a conversational menu, or an AI phone agent. Each should pass the call to a person at a defined point, with what the caller already said attached.

Front doorUnderstandsWhen it can’t finish
Keypad menuDigitsPasses the call to a group
Conversational menu, or smart IVRA spoken sentenceFalls back to the keypad or a person
AI phone agentA multi-turn conversation, with order lookupsHands the call to a human agent

Automation fits calls with a looked-up answer, such as where a package is. That’s IVR self-service, whether the caller presses keys or talks.

One cross-border car parts seller runs this way. HeroDash AI Voice answers first in English or Spanish and checks order status in the seller’s ERP. One human agent covers 8:00 to 17:00 PT and takes complex after-sales problems, emotionally charged complaints, and exceptions with no standard process.

When to hand off

Write the triggers down before launch. Our list for a product-recall hotline has five:

  • The caller is upset.
  • The caller reports possible injury or property damage.
  • The caller’s details can’t be verified.
  • A region-specific policy applies.
  • The caller has called before about the same unresolved issue.

None of these asks the AI to judge the claim. They tell it to stop.

What should arrive with the call

Whatever the customer already keyed in or said shouldn’t be asked again.

Should arriveComes fromIf it’s missing, the human agent asks
Who’s callingTheir number matched to a contact in the CRM”Can I get your name and email?”
Order, tracking, or serial numberKeyed or spoken in the menu”What’s your order number?”
What they chose or saidThe menu path, or the AI conversation”How can I help you today?”

In HeroDash, screen pop is part of the phone feature set. Its AI agents can pass a conversation to a human agent at any point, with the conversation carried over so the customer doesn’t repeat it.

One setup step gets skipped. After you build the knowledge base, write the prompt, and set the greeting, the AI phone agent still has to be bound to a phone number. Until then nothing answers.

Billing follows the handoff. Keypad menus aren’t billed as AI usage. AI minutes before a handoff count; after it, the bot charge stops and only carrier charges continue. Our guide to AI-led escalation handling compares how vendors bill that moment.

IVR containment rate and call deflection: useful numbers, wrong targets

IVR containment rate is the share of calls that end inside the menu without reaching a person. It counts a caller who finished a task and one who gave up as the same result. Chase it and the menu that traps people scores best.

Call deflection has the same flaw. It’s good when the job gets done in the other channel. The logistics team texts a link to people who only want to change a delivery time, and no person is tied up.

Containment can climb while customer satisfaction falls, so pair each number with the one that exposes it.

Number people targetWhat it can’t seeRead it next to
Containment rateWhether the caller finished or quitMenu abandonment; repeat calls within 7 days
Deflection rateWhether the task got done in the other channelCallbacks from deflected callers

You can check your own number. From last week’s calls, count C, calls that ended in the menu; A, the ones where the caller hung up before completing anything; and R, the ones who called again within 7 days. Honest containment is (C − A − R) ÷ total calls. If that’s under half your reported figure, the menu is ending calls without solving them.

The medical device manufacturer measured time in the menu. Its support line replaced a menu tree with three steps: say what you need, enter the device serial number, get matched on device type, language, and urgency. After one year, time in the menu fell from 3 minutes to 30 seconds and first-contact resolution rose from 58% to 87% (case study).

Expect the calls that reach people to get harder. SQM Group, which sells first call resolution (FCR) benchmarking, puts the industry average at 71% from post-call surveys, with no sample size given (SQM Group, 2026). It notes that as simple issues move to self-service, the remaining calls are more complex.

IVR software and routing setups compared, and where Callnovo.ai fits

The solutions on the market fall into four setups.

Auto attendant on a business phone systemCloud menu plus ACD in a support platformAI phone agent in front, human agents behindOutsourced human agents on the same platform
SignalsDigits, time of dayDigits, speech, caller’s number, order lookupsAll of that, plus the conversationSame as the platform
Nobody freeVoicemailQueue, overflow, recording, callback ticketAI answers at any hour; handoffs need staffed hoursA shift in another time zone
Priced byLine or userSeat, plus carrier chargesAI minute, plus seats and carrier chargesStaffed seat or resolved contact

Where Callnovo.ai fits

Two gaps show up when a team runs the first three alone. One time zone means a recording at night. A “route by language” rule needs a group that speaks the language.

HeroDash covers the platform side. Its plan terms say: “Phone features are not split by plan: any plan that carries voice gets the phone feature set in full.” That includes multi-level menus, screen pop, and call recording. For text tickets, see our ticket triage guide.

Our pricing page lists the Voice Pro plan at US$40 per agent per month on an annual contract, or US$48 billed monthly, with multi-level voice menus included. If you also staff with Callnovo human agents, the platform bills monthly at the annual rate. The AI Receptionist is US$0.15 per minute, with a US$200 monthly minimum. Rates for human agents are on the same page.

A Callnovo.ai human agent wearing a headset talks with a caller while working on a laptop at a plain desk

Callnovo.ai human agents work in 65+ languages and take calls on the same platform, so the language rule has someone at the other end. Our multilingual support teams also staff the night shift; see the guide to multilingual call center services.

IVR for small business doesn’t need all of this. Start with a two-layer keypad menu and one explicit exit for when nobody’s free.

When you shouldn’t buy this from us

  • You get a handful of calls a day. A menu adds a step and saves nobody time.
  • You distribute sales leads. Lead scoring and pay-per-call attribution are a separate product category. We don’t build for it.
  • You want to self-serve tonight. Numbers, extensions, and skill groups in HeroDash are set up with our support team.

IVR best practices: an 11-point checklist and three test calls

Menu

  • Order options by what callers want to do, not by department.
  • Keep it to two layers.
  • Before Black Friday, move the most-asked request to the first layer.
  • Configure the no-input branch. Twilio’s <Gather> waits five seconds by default.

Rules

  • Give every rule set a default rule, and check where it points.
  • Never put a broad rule above a narrow one.

Nobody free

  • Write down each skill group’s exit: overflow group, recording, or callback ticket.

Handoff

  • Confirm the AI phone agent is bound to the number.
  • Write the handoff triggers as a list and test each one.
  • Call every path yourself before launch.
  • Place the call-recording notice where your local law requires it.

Then call your own number three times.

  1. What happens when you press nothing? If the call drops or loops, the no-input branch is running on a platform default nobody chose.
  2. What happens when the matched group has no free person? If you hold with no estimate and no way out, the group has a queue and no exit.
  3. Key in an order number, then have a colleague transfer the call to you. What’s on your screen? If it’s blank, your customers are giving that number twice.

Routing isn’t hard. It’s specific. Callnovo.ai runs it on HeroDash with human agents behind the rules, but those three calls work on any platform.

References

  1. Twilio Docs, TaskRouter: Workflow Configuration, 2026.
  2. Twilio Docs, TwiML Voice: Gather, 2026.
  3. Microsoft Learn, Overview of unified routing, 2026.
  4. AWS Docs, How routing profiles work, 2026.
  5. SQM Group, FCR Metric Operating Philosophy, 2026.
常见问题

买家最常问的问题

What does IVR mean in a phone call?
IVR stands for interactive voice response. It's the automated menu that answers a phone call, plays a prompt, and reacts to what the caller presses or says. It collects details such as an order number, then passes the call to the system that picks a person.
How much does an IVR system cost?
It's usually part of a per-agent phone plan, with carrier charges and AI minutes billed separately. Our pricing page lists the HeroDash Voice Pro plan at US$40 per agent per month on an annual contract, or US$48 billed monthly, with multi-level voice menus included. The AI Receptionist is US$0.15 per minute.
What are the four types of routing?
Most platforms offer rule-based routing on conditions such as business hours, skills-based routing to a group that can do the work, round-robin distribution inside a group, and capacity-based assignment that skips anyone who's full. The type matters less than where a call goes when nobody's free.
What is the best call routing software?
No single product is best. Test each candidate on three things: whether rules run in a visible order with a default rule, where a call goes when the matched group has nobody free, and what the human agent sees when a transferred call arrives.