Routing model for digital channel from version 3.60.0
FROM VERSION 3.60.0
Overview
The new routing model replaces and improves the current interaction distribution logic for digital channels from XCALLY Version 3.60.0.
Main Key Points:
Based on FIFO (First-In, First-Out) logic
Introduction of priority weight (0-10) for digital channel queues → this allows prioritization of specific queues across all digital channels
Configuration of distribution priority for messages belonging to existing (open) interactions versus new interactions.
Introduction of Least Recent strategy for digital channels interactions
Improved log routing-combined and routing-error with more useful information
Requirements
The routing model uses the required BullMQ container for interaction queue management → discover how to check Redis installation (on Advanced wiki).
This implementation improves efficiency and overall performance. Consider that the system performs Redis emptying every 90 daysThe microservices have to be installed before upgrading to version 3.60.0
New Client Experience required. The new inserted configurations are available only on the new interface (except for email channel, available on old client)
Differences between routing logics
Routing Logic before Version 3.60.0 | Routing Logic after Version 3.60.0 |
|---|---|
|
|
|
|
Video Tutorial
Routing Queue Settings
In this routing model, admin can define these settings for queues:
Queue name
Strategy:
Beep-all
Round Robin Memory
Least Recent (since the last accepted notification) ON NEW EXPERIENCE
Weight to define queue priority. It is configurable with a range value from 0 (default) to 10.
So when an agent is idle to manage an interaction (no busy, no max capacity reached on the channel, no in pause status) the message belonging to the queue with the highest priority takes precedence (max 1 popup per channel per agent)
Cross channel weight: each queue is assigned a weight that represents its priority level. A higher weight means higher priority.
The system compares the weights of all queues across all digital channels:
The queue with the highest weight takes precedence.
This comparison happens across all channels, not only within the same type of channel
Use case for queue weight Agent1 is assigned to 3 queues with different priority:
|
|---|
Agent timeout: maximum time to wait before moving on to the next agent (in seconds)
send Queue Position Message (only for OpenChannel and WhatsApp queues) ON NEW EXPERIENCE : if enabled, the system sends a configurable message to the customer indicating their position in queue.
The message is sent once, when entering the queue.optional description
Routing Account Settings
On Account/Website level, under Settings/Routing section, admin can define these settings:
FROM VERSION 3.60.0 ON NEW EXPERIENCE Prioritize replies: enable response priority for new messages belonging to already open interactions:
If ON: response messages are distributed to agents before new interaction messages.
If OFF: responses are distributed with FIFO logic, with the same priority as new messages.
FROM VERSION 3.60.0 ON NEW EXPERIENCE Define a wait for assigned agents timeout. It defines the maximum time a response message can remain assigned to an agent who previously managed the interaction but is currently busy, logged out or paused:
If OFF: the timeout is disabled. The message stays in the agent’s queue indefinitely
Remember that the system performs Redis emptying every 90 days, so the Redis job remains maximum for 90 days assigned to agent and exits routing
If ON: the timeout is configurable using hour/minute/second selectors, up to 7 days. You can therefore enter this setting using the unit of measurement that best suits your needs.
FROM VERSION 3.60.0 ON NEW EXPERIENCE Timeout action configured to define what happens when a response message timeout is reached:
Send back to last assigned queue (FIFO): the message returns to its last assigned queue and is redistributed via FIFO. This action is only possible if the interaction has already been routed to a queue at some point before the last reply is received.
In case of transfer, the queue considered is the last one that has managed the conversationEnd routing: the message exits routing and is moved to the Unread Messages list
FROM VERSION 3.49.0 the Interaction inactivity timeout field allows you to indicate time (in minutes) after the last Agent’s message, interaction has to close automatically. The status of the interaction should automatically update to Closed
An interaction is considered inactive when the last message is from the agent. When an interaction is closed for inactivity (because more than the configured minutes have passed), the system disposition ‘Closed for inactivity’ is used
Default settings after release update
When you update your server to version 3.60.0, you will view these default settings:
Queue level
Weight: 0 by default
Strategy: configuration inserted before the update
Queue position option: disabled by default
Account level
Wait for the assigned agent: configuration inserted before the update.
If enabled, timeout value with the unit of the measure for the best customer experience (es. 600 seconds will be inserted as 10 minutes)
If a value greater than 7 days was previously entered, the system automatically sets a maximum of 7 days. The first time you access the section, an alert will be displayed with the setting error.
Timeout action: redistribute in the original queue (FIFO) by default