Routing

You create routing rules for threads on the Routing Settings page.

Routing is a set of routes for segments. Each route is a sequence of route points (or one point) a thread can go through when searching for an available session.

A route point can be a chatbot, an agent/a group of agents grouped by the same attribute (skill, department, supervisor group) or any other set of agents including all agents (the Any agent option – however, such a point can be only the last one in the route). You can also configure a personal agent route point: in this case, the thread will be directed to the agent with the login received via the Personal agent segmentation parameter.

If you select the Groups and agents option as a route point, and there you select a whole supervisor group and also an agent (or agents) from another group, they will be visually separated as two route points: the first one will be the supervisor group, and the second one will be the list of additional agents.

You can select several skills and departments when creating a route point (the system will then process them with the OR condition).

Example:

The following route is set in the system:

Point 1 – The Claims skill
Point 2 – The Loans and Inquiries skills
Point 3 – Any agent

The following agents are configured:

Agent 1 with the Claims skill;
Agent 2 with the Claims and Loans skills;
Agent 3 with the Inquiries and Support skills;
Agent 4 with no skills assigned.

As a result, there are two points: point 1 of agents 1 and 2 and point 2 of agents 2 and 3.

Route Points

Each segment can only be assigned to one route. Once the route is defined, the system uses it to find an available session by consequently going through route points (starting with the first one) as follows:

  • The system searches for a relevant agent in the Active status that has an available session.
  • Once it finds it, it occupies this session.
  • A thread can be routed to an agent’s personal queue on any of the route points – from the first to the last ones.
  • If a route point has no available sessions, the thread moves to the next route point. If after the last route point the thread has not yet found an available session, it repeats the route. It happens until the thread is routed to an agent/bot.

If several threads fit to be segmented to one session in a route point, threads are routed based on the priority of the segment (from highest to lowest). If they have the same priority, the first one to be routed is the one created earlier.

Session Search Algorithm

The system uses the following algorithm to search for a session in each route point:

  1. Searching for at least one available session.
    • If there are no available sessions, the thread moves to the next route point.
    • If there is one available session, the thread occupies it.
    • If there are several available sessions, the system searches for an available session of an agent who worked with the client last.
  2. If this agent has no available sessions (or if this is the first time the client created a thread), the system searches for an agent that has the most available sessions. If there are several such agents, the system searches for the session that has been available the longest.

Chatbots in Routes

A chatbot can also be a route point. In this case:

  1. If the bot does not reply in a thread within the specified time or “refuses” to further process the thread (for example, when its script finishes or when it is unable to answer the client’s message), the thread is returned to the route and continues moving.
  2. After the bot processes the thread, it continues its route (and this thread cannot be assigned to the chatbot again two times in a row). However, it is possible to be routed to another chatbot.