Attribute-Based Routing is a process used by contact center applications to distribute tasks according to a set of defined characteristics.
Attribute-Based Routing intelligently steers contact center tasks. For example, you can specify in the workflow how you want to route calls and then send voice callers to the most qualified agent based on the attributes you defined. Some examples of attributes include:
TaskRouter is Twilio's Attribute-Based Routing engine. TaskRouter can route any interaction, whether it originates from Twilio or another system.
When a call, lead, chat, SMS, support ticket, messaging app request, or even machine data comes in, TaskRouter dynamically assigns the incoming task to the person and process that can best handle it. TaskRouter does so using the attributes you apply, such as the skills required by the agent and the task priority.
With TaskRouter, you can define the characteristics of each task using any number of attributes. You can also easily write syntax to route those tasks based on combinations of attributes, including escalation and fallback rules, so you don't have to write custom code.
Example applications for TaskRouter include:
With an attribute-based routing system like TaskRouter, customer support agents and other workers are matched to tasks based on their skills. As an admin, you can specify what agent skills are required to take work from each queue and also update worker skills at any time. TaskRouter will immediately update the state and routing logic with no code changes required.
Attribute-based routing engines let teams get away from the administrative work of manually routing tasks and back to what's most important — creating great customer experiences. And of course, it's easier for them to create great customer experiences when they are given tasks that match their skill set.
Attribute-based routing also makes it easier for workers to multitask, since you can specify how many different tasks each agent can handle concurrently, with different limits per channel. For example, a worker might be able to handle three simultaneous chats, a voice call and a chat, or only one voice call at a time. The engine notes a worker's capacity and their activity to determine if they are available for a new task. By using incremental escalation to constantly keep track of every task in the system, wherever it is in the queue, you can define escalation logic to incrementally expand the set of agents who can be assigned to each task.
Lending platform LendUp implemented TaskRouter to intelligently route customers' calls to different specialists. For example:
Using TaskRouter, LendUp can write its own call-routing logic, and let TaskRouter do the heavy lifting.