TaskRouter is a system for assigning tasks of any type to the people and processes that can best handle them.
As an example, imagine you are building a multi-channel sales and technical support system. Your agents possess unique skills, are based in different locations and operate on different schedules. For each incoming call, email or tweet, you need to determine the best agent to route it to while monitoring the dynamic availability of agents.
Systems of this type are difficult to build and to operate at scale; complex state data needs to be maintained, queried and updated frequently.
TaskRouter bears the burden of this complexity, allowing you to spend less time on infrastructure plumbing and more time engineering a great customer experience.
In this Quickstart tutorial we will build a simplified version of the example scenario in four parts. The tutorial is optimized to follow from start-to-finish:
Keeping it simple:
This tutorial assumes you have a Ruby development environment
Sinatra and the
library. If you don't have these yet, please see our post on setting up your environment.