Call routing is the set of rules that decides where each inbound call goes and who answers it. It makes two decisions. The first sends the call to a queue or another destination, based on the number dialed, the time of day, the caller's menu choice or what your systems know about the caller. The second picks which agent in that queue takes the call, usually whoever has been idle longest or whoever has the skill the call needs.
Every rule that moves callers into a queue of their own improves the match and shrinks the pool that answers them. With 240 calls in the busy hour and a six-minute average handle time, one shared queue answers 80 percent of calls within 20 seconds with 29 agents on the phones. Split the same calls into four skill queues and you need 36.
| Same 240 calls an hour, six-minute handle time | Agents on the phones for 80 percent in 20 seconds |
|---|---|
| One queue that every agent answers | 29 |
| Two skill queues of 120 calls each | 32 |
| Four skill queues of 60 calls each | 36 |
The figures come from the Erlang C model behind our call center staffing calculator, and the section on splitting queues below shows the working. Building and testing the flow itself is covered in call center call flow examples.
What is call routing in a call center?
Call routing in a call center is the logic that sends each call first to a queue and then to an agent. The phone system reads the number dialed, the hours and what the caller enters. The automatic call distributor (ACD) then holds the call in its queue until a suitable agent is free and decides which agent gets it.
The ACD can route on what it knows about the caller and about the agents. In their review of call center operations, Gans, Koole and Mandelbaum describe three ways a center can recognize a Spanish-speaking caller before anyone answers: a separate toll-free number (the dialed number, or DNIS), the caller's own number matched against customer records (ANI), or a menu choice. On the agent side, each agent's log-in tells the ACD which call types that agent is qualified for (Gans, Koole and Mandelbaum, 2003).
When nothing more specific is set, the default is simple. In Amazon Connect, contacts in a queue go to "the agent who has been idle longest," and callers waiting for an agent are answered "on a first-come, first-served basis" (how routing works).
What are the types of call routing?
Call routing types fall into two groups. Five decide where the call goes: the number dialed, the time of day, a menu choice, data about the caller and overflow. Five decide which agent answers: longest idle, round robin or fixed order, skills, priority and predictive routing. Most centers run several from each group at once.
| Routing type | What decides it | Fits when | What it costs | The number that shows trouble |
|---|---|---|---|---|
| Number dialed (DNIS) | The number the caller dialed: one per brand, location, language or program | Lines have different callers, hours or staff | Each number is another flow and another report to keep current | Service level and abandonment per number |
| Time of day | Hours, holidays and closures, in each line's time zone | Coverage changes by hour, day or site | A missing hour can close the line or strand callers in an empty queue | Calls offered outside staffed hours |
| Menu (IVR) | The key the caller presses or the reason they say | Reasons need different people and callers can tell them apart | Each option adds listening time and a chance to choose wrong | Transfers between queues, by menu option |
| Caller data | The caller's number or account looked up in your systems: language, tier, an open case | You know who is calling before they speak | A failed lookup needs a default path | Share of calls where the lookup failed |
| Overflow | The wait passing a limit, a full queue or nobody logged in | Spikes and thin shifts | Overflowed calls reach people or systems that know less | Overflowed calls per interval and how they ended |
| Longest idle | The agent who has waited longest since their last call | One pool takes the same calls | Ignores skill and experience | Occupancy by agent |
| Round robin or fixed order | A rotating list, or the same order every time | Small teams, or agents who should be tried first | A fixed order overloads the people at the top | Calls per agent per hour |
| Skills-based | The skill or proficiency a call needs, matched to agents who have it | Calls truly differ by language, product or license | Splits the pool, so the same service level needs more agents | Service level per skill, and the wait for the rarest skill |
| Priority | Some calls answered ahead of others | Transfers, callbacks, urgent or high-value callers | Lower-priority callers wait longer at busy times | Longest wait among the lowest-priority calls |
| Predictive | A model that scores agents for each interaction from past results | Large queues with plenty of history and one clear goal | Needs that history and a fair test against your current method | The goal metric against a control group |
On Genesys Cloud, the skills methods differ in how much proficiency counts. Best Available Skills looks at "the 100 agents with the longest time since last interaction" and gives the call to the one with the highest average proficiency, while All Skills Matching takes the longest-idle agent who has every required skill and ignores the rating (routing and evaluation methods). Priority is measured in time there. Under the conversation score method, one priority point equals one minute, so a call with priority 3 is placed in line as if it had arrived three minutes earlier. That makes priority values easy to reason about: set each one to the minutes of waiting you want that call to skip.
Genesys Cloud also sells predictive routing, which uses machine learning to match "each interaction with the available agent that is best able to handle it." It comes with comparison tests against the standard and bullseye methods on the same queue, which is the check to insist on before any model takes over a queue (about predictive routing).
What does splitting one queue into skill queues cost?
Splitting one queue into several smaller ones raises the number of agents needed for the same service level, because each small queue needs its own spare capacity for random bursts of calls. In the example below, 240 calls an hour need 29 agents in one queue and 36 when split four ways, for the same 80 percent answered within 20 seconds.
| Setup | Calls per hour in each queue | Agents per queue | Agents on the phones | Occupancy | Scheduled at 30 percent shrinkage |
|---|---|---|---|---|---|
| One shared queue | 240 | 29 | 29 | 83 percent | 42 |
| Two skill queues | 120 | 16 | 32 | 75 percent | 46 |
| Four equal skill queues | 60 | 9 | 36 | 67 percent | 52 |
| Four uneven skill queues | 120, 60, 40, 20 | 16, 9, 7, 4 | 36 | 67 percent | 52 |
Every row carries the same work: 240 calls of six minutes each add up to 1,440 minutes of handling in an hour, or 24 erlangs, which means 24 agents busy at any moment on average. The difference is the spare capacity on top. The shared queue needs 5 agents above its 24 erlangs, while each of the four small queues needs 3 above its 6, or 12 in total. Gans, Koole and Mandelbaum describe the same trade for a support center serving several languages: a separate pool per language avoids hiring multilingual agents, and the cost "is a loss of economies of scale that a single, large pool of agents would provide."
You see the cost in occupancy. Agents in the four-way split spend about two thirds of their time on calls instead of 83 percent, and the busy hour needs seven more people on the phones and ten more on the schedule. The smallest queue also swings the most. In the uneven split, callers to the 20-call queue wait 31 seconds on average for an answer with four agents, against 17 seconds in the shared queue.
These figures use Erlang C, the same math as our staffing calculator with its default shrinkage of 30 percent and occupancy ceiling of 85 percent; enter 60 calls and 360 seconds to check one of the small queues. Erlang C assumes calls arrive at random, every queue has the same handle time and nobody hangs up while waiting. The same review warns that its predictions "can also turn out to be highly inaccurate because of violations of underlying assumptions." Read the gap between the rows as the direction and rough size of the effect, then rerun it with your own interval data.
How do you keep skill matching without separate pools?
Give most agents a second skill, and let a queue borrow agents once a call has waited a short time. In a simulation study of skill-based routing, Wallace and Whitt found that when each agent has two skills in the right combinations, performance is almost as good as when every agent has every skill. Most ACDs can also widen the pool for a waiting call.
That result holds where handle time doesn't depend on the call type or the agent, so check your own handle times by skill before you count on it (Wallace and Whitt, 2005). The platforms offer a few ways to widen the pool:
- Backup queues with a delay. In Amazon Connect, a routing profile lists the queues an agent serves, each with a priority and a delay. In AWS's own example, agents take Tier 3 calls only once those callers have waited 20 seconds and nothing is waiting in the Tier 1 and Tier 2 queues (queue priority and delay examples).
- Requirements that relax over time. Amazon Connect routing criteria run in steps, each with an expiry, and when every step has expired the call goes to "the longest available agent who has the queue in their routing profile" (set routing criteria). Genesys Cloud's bullseye routing works in rings, adding agents with lower proficiency or dropping skills from the requirement when no agent in the inner ring is free within the set time (bullseye routing).
- Agents shared by rule. Genesys Cloud's conditional group routing "expands the available agent pool incrementally," bringing in agents from other queues when rules on measures such as estimated wait time are met (conditional group routing).
Set the wait before the pool widens shorter than your answer-time target. If the target is 80 percent in 20 seconds and backups join after 60 seconds, every call they answer has already missed it, so they cut abandonment and the longest waits without moving the service level. Going too short has its own cost: Amazon's documentation notes that an expiry set too short can keep a call from reaching the next most proficient agent when the first one misses it. A step aimed at one preferred agent also holds the call for that agent until the step expires, even when the agent is offline, so keep those expiries brief.
How do you write call routing rules?
Write the rules down per phone number and then per queue, before anyone changes the admin console. For each number, record its hours, how the caller's reason is captured and which queues it feeds. For each queue, record who answers first, who helps after what wait, when calls overflow and where calls handed back from outside come in.
| Decision | What to write down | The gap to look for |
|---|---|---|
| 1. Numbers | Every number callers use, and the flow each one runs | Old numbers still printed on invoices or listings, routed to nothing |
| 2. Hours | Open hours, holidays and closures for each number, in its time zone | Holidays entered for this year only |
| 3. Caller's reason | The menu option, spoken reason or data lookup, and the default when none comes through | No default when the lookup fails or the caller presses nothing |
| 4. Queues | The fewest queues that keep apart the calls needing different people | One queue per menu option, whether or not the skills differ |
| 5. First agents | Who answers each queue first | One person holding the only skill for a queue |
| 6. Backup agents | Who joins each queue, and after what wait | Backups who join after the answer-time target has passed |
| 7. Priority | Which calls go ahead, and by how much | So many calls marked priority that the order barely changes |
| 8. Overflow | The trigger (wait, queue size, nobody logged in) and where the call goes | Overflow to a voicemail box nobody owns |
| 9. After hours | Where calls go when you're closed, and how urgent calls reach someone | An on-call number that belongs to someone who left |
| 10. Way back in | The number that transfers from outside dial (an AI agent, a partner, an answering service) and the priority it gets | Transfers that dial the main number, so the caller hears the greeting again and joins the back of the line |
| 11. Reports | The report that shows each rule working | Service level reported only as a blend of every queue |
Fill it in from what is configured today rather than from the last diagram, then mark the rows you want to change. Which call type should land where first, and when it should transfer, is mapped call type by call type in the inbound call center guide.
How do you know your call routing is working?
Read the numbers queue by queue rather than as one blend. A healthy average across queues can hide one small queue that misses its target every afternoon. Watch transfers between queues, service level and abandonment by queue, the wait in the smallest queue and how evenly occupancy spreads across agent groups.
- Transfers between your own queues, by menu option. Many transfers out of one option mean callers choose it for the wrong reason, or the option sends them to the wrong team.
- Service level and abandonment by queue and half hour (service level, call abandonment rate).
- The longest wait in the smallest queue during its busiest half hour, since small queues swing the most.
- Occupancy by agent group. One group at 90 percent while another sits at 60 suggests the split no longer matches the calls (occupancy).
- Callers who call back within a few days of a transfer, which points at the queue that took the first call.
Routing calls to a Telvana agent
An AI agent joins your routing as one more destination with its own phone number, so the rule that sends calls to it is an ordinary transfer or forward in the phone system you already run. Most teams start with one of four: an option in the phone menu, an overflow rule, the after-hours path, or the agent's own number published for one program (connecting your phone system). Callers who choose the menu option are answered right away, and callers who would rather wait for a person keep their place in line (hold-queue relief). The overflow and after-hours rules cover nights, weekends and spikes (after hours and overflow).
When a caller needs a person, the agent transfers the call to the number you choose as an ordinary call, and the person who picks up can read the transcript and summary in the portal afterward. Point that number at a direct line or a priority queue, row 10 of the worksheet, so the caller doesn't wait behind new calls. Pricing is from $399 a month, based on call volume, plus a one-time setup fee.
Frequently asked questions
What is call routing?
Call routing is the set of rules a phone system and its ACD use to send each inbound call to a queue or other destination and then to an agent. The rules can use the number dialed, the time, the caller's menu choice or customer data. The agent is usually picked by who has been idle longest or who has the skill the call needs.
What is skills-based routing?
Skills-based routing sends each call to an agent who has the skill the call needs, such as a language, a product or a license. The call's requirement comes from the number dialed, a menu choice or customer data, and each agent's skills are set in the ACD. It improves the match but splits the agent pool, so it needs more agents for the same service level unless agents carry more than one skill.
What is the difference between call routing and call forwarding?
Call forwarding sends calls from one number to another number or device, usually all of them under one condition, such as busy, no answer or after hours. Call routing chooses among many queues, destinations and agents for each call, using rules about the time, the caller's reason and who is available. Forwarding is one action a routing rule can take.
What is ACD routing?
ACD routing is the part of call routing done by the automatic call distributor: holding calls in queues and picking which available agent gets the next one. Common methods are longest idle, round robin, fixed order, skills-based and priority routing. On Amazon Connect the default is the agent who has been idle longest, with waiting callers answered first come, first served.
What is AI call routing?
The term covers two different things. Predictive routing uses a machine learning model to pick the agent most likely to get a good result on each interaction, based on past results. Speech-based menus let callers say why they are calling instead of pressing keys (conversational IVR). Both decide where a call goes. An AI agent that answers and finishes the call itself is a destination those rules send calls to.
How many queues should a call center have?
As few as the differences in skills require. Each extra queue needs its own spare agents, and in the worked example above, splitting 240 calls an hour into four queues raised the busy-hour requirement from 29 agents to 36. Merge queues whose calls the same people can take, and let backups join after a short wait where skills overlap.
Find the first rule to hand an AI agent
Book a demo with your routing rules or a sketch of your main number. You'll hear a Telvana agent take one of your call types, and we can work out which rule, whether a menu option, overflow or after hours, should send it calls first.