Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Out of the box, VICIdial dials fast — but it doesn't know who should take each call. Custom routing logic fixes that mismatch, pairing leads with the right agent based on skill, performance, and timing to lift contact and conversion rates by 15–30%.
Custom routing logic turns VICIdial into a high-converting dialer by matching each lead to the right agent, at the right moment, based on real-time signals — agent skill, lead history, time zone, disposition patterns, and channel behavior — instead of relying on VICIdial’s default round-robin or straight ratio distribution. Out of the box, VICIdial is a powerful predictive dialing engine, but its default call distribution treats every lead and every agent as interchangeable. Custom routing rules close that gap, and in most implementations they lift contact rates by 15–30% and conversion rates by a similar margin, simply by removing the mismatch between who picks up the phone and who takes the call.
This article breaks down what custom routing logic actually changes inside VICIdial, which routing models perform best, and how to implement them without breaking your existing campaign structure.
Routing logic is the rule set that decides which agent receives which call. In a stock VICIdial install, this decision is handled by two mechanisms:
Both work fine for small, homogenous campaigns. They break down the moment a call center has multiple lead sources, multiple agent skill levels, or multiple products being sold from one dialer instance — which describes most mid-size and enterprise VICIdial deployments.
Custom routing logic replaces or layers on top of these defaults using VICIdial’s vicidial_list, vicidial_agent_log, and campaign-level scripting hooks, along with external logic run through the Non-Agent API or a middleware layer that intercepts the call before it hits an agent’s screen.
VICIdial’s default distribution model answers one question: is an agent available? It does not answer the more important question: is this the right agent for this lead?
That gap shows up in three measurable ways:
Each of these is a routing failure, not a dialing failure. The call connects — VICIdial did its job — but the conversion opportunity is lost because the pairing was wrong.
Skill-based routing tags both leads and agents with attributes — language, product line, certification, region — and routes based on the closest match. In VICIdial, this is typically built using custom fields in the lead table combined with agent-level skill flags, then enforced through a custom dial plan or an external routing script that pulls from the vicidial_agent_log table before assignment.
Performance-based routing sends leads to agents ranked by historical conversion rate for that specific lead type. Instead of a flat queue, agents are weighted dynamically: an agent closing 40% of mortgage-refinance leads gets a higher share of that campaign’s calls than an agent closing 15%. This requires pulling disposition data on a rolling window (commonly 7–30 days) and feeding it back into the routing decision in near real time.
Lead-scoring routing ranks incoming leads by likelihood to convert — based on source, time since inquiry, form completeness, or third-party enrichment data — and pushes the highest-scored leads to the top-performing agents first. This model is especially effective for aged or purchased lead lists, where lead quality varies widely and blanket dialing wastes agent time on low-probability contacts.
Time-zone routing holds calls until they fall within an appropriate local calling window and pairs that with local presence dialing — displaying a caller ID matching the lead’s area code. This alone typically improves answer rates, since local-looking numbers get picked up more often than out-of-area or toll-free numbers.
Continuity routing, also called sticky agent routing, re-routes a returning lead back to the agent they spoke with previously whenever that agent is available. This preserves rapport and context, which matters most in longer sales cycles — insurance, real estate, B2B services — where trust is built over multiple touches rather than a single call.
Implementing custom routing logic generally follows five steps:
vicidial_lists and agent profiles.The clearest indicators that custom routing logic is working:
Most teams see the clearest gains within the first two to four weeks, once the routing layer has enough fresh disposition data to weight decisions accurately.
Does custom routing require modifying VICIdial’s core code?
No. Most custom routing logic is built through campaign-level configuration, custom lead fields, and external middleware that interacts with VICIdial’s database and Non-Agent API — the core codebase stays untouched, which keeps upgrades safe.
Will custom routing slow down call pacing?
Not if implemented correctly. Routing decisions need to resolve in milliseconds to avoid dead air; this is why most production implementations use lightweight middleware rather than heavy real-time queries against large tables.
Is custom routing worth it for small call centers?
It depends on agent count and lead volume. Below roughly 5–10 agents, simple rules like time-zone routing and local presence often deliver most of the benefit without the overhead of full performance-based routing.
How is this different from VICIdial’s built-in “Preferred Agent” feature?
Preferred Agent is a single-attribute feature limited to sticky-agent behavior. Custom routing logic combines multiple signals — skill, performance, lead score, time zone — into one weighted decision, which Preferred Agent alone cannot do.
VICIdial’s dialing engine is not the bottleneck in most underperforming call centers — the routing decision is. Custom routing logic replaces blind, availability-only distribution with rules that account for who the agent is, who the lead is, and what has happened between them before. That single change, layered correctly onto VICIdial’s existing infrastructure, is consistently the highest-leverage improvement available to teams trying to convert more of the calls they’re already making.