Queues Groups

What’s about?

The queue groups feature is used when the supervisor decides to increase the priority of different queues and he can use this feature to set a priority to several queues globally.

Video Tutorial

https://app.guidde.com/share/playbooks/1Z6Vxia3VB7v1h5UT4BCVB?origin=3wPlti10dEfOGQjG7BKQvB2q4IC3

 

Requirements

Queues Groups feature has been developed on New Client Experience and has been updated to the latest interface starting with version 3.42.0.
On old installations, to use this kind of feature, it's necessary to run the script below on the same machine you already use (to add rules to the proxy).
To update the NGINX configuration, run the following script (as root):

This script is only for all in one or standalone installations, if you have HA, DR, reverse proxy etc you need to contact our support team

curl -u 'public:bs4#)W]h8+VK),RV' --silent --location https://repository.xenialab.com/repository/provisioning/Scripts/motionV3_nginx_update_for_x_client | bash

If you installed the server before Thursday, July 27, 2023, this script must be launched.

To avoid issues, we recommend launching the script while agents and users are not logged in to the system and consider that, by running it, a new NGINX configuration file will be installed while the old client configuration file will be saved as a backup at the path indicated in the script. Any custom changes made by the user will not be automatically carried over.

Keywords

First of all, you need to know what is meant by:

  • Penalty: you can define Agent Penalty to set his priority in the queue (< penalty value means > priority in receiving interactions). Penalty makes the algorithm understand the order in which agents are to be contacted.
    Agent1 with Penalty1 has priority on Agent2 with Penalty3

  • Priority: numeric value from 1 to 10 used to determine the assignment of incoming calls. Queue Priority lets the system know to which queues the calls should be routed first. (> value means > priority in receiving interactions)

  • Timeout (that in this case works as add after): a numeric value representing the seconds after which agents in a certain voice queue are added to the list of agents available to handle incoming calls to a specific inbound route (e.g. at the beginning 0'' calls are assigned to Queue1, after 30'' timeout the system adds to the list also agents of Queue2)

  • Inbound Route configurable in XCALLY by associating a public phone number to make e.g. the contact centre reachable by voice calls. It’s possible to add more Voice Queues (with a relative list of agents with skills to manage the customer) on a single route

 

Team1 (timeout 10''):
John → Penalty=2
Bill → Penalty=1
James → Penalty=3
Team2 (timeout 10''):
Peter → Penalty=2
Mark → Penalty=2
James → Penalty=1

Scenario

When a call arrives on Team1, the system contacts firstly Bill (lower penalty) after 10'' without answer, it calls John after 10'' without answer it contacts James
If James works also on Team2 with Penalty=1 → James must answer on Team2 firstly and then on Team1.

If the supervisor reaches the required SLA on Team1 and not on Team2, he has to increase the priority at the inbound route level to pass calls to a certain team first (in this case Team2).
Therefore by giving priority to a queue at the inbound route level (in the case of ring all strategy), calls pass first from the indicated inbound route with higher priority.

To assign priority, the supervisor should enter each queue. To simplify this operation, it’s possible to use Queue Groups.

Configuration

Queue groups are the feature that allows setting a priority to several queues at the global level.

When calculating priority, the priorities of the different queues are added to the priority entered at the queue group level.

  • To create a new Queue Group, you can click on the Voice → Queue Groups option and choose +Add

image (1)-20241105-100951.jpg
  • You need to indicate the Queue Group Name:

Consider that Queue Group name must be unique, otherwise the system shows you an error

  • Then by clicking on 3 dots of the created queue group, you can edit it, associate queues, associate routes or delete

  • By selecting edit, you can change name or associate queues and routes directly from the topbar icons

  • By clicking on Associate queues, you can select the different queues that you want to associate (also filtering by name with search field), with relative priority and timeout

  • Finally, by choosing Associate Routes, you can view all internal/inbound routes associated to the specific queue group (so it is a display-only modal):

 

  • So when a route will be associated to this queue group, based on the set timeout, the system will call agents in the queue to be executed + agents in the queues previously contacted without reply. (E.g. system calls before Agents in Support Queue → after 10'' without reply it calls Agents in Sales Queue + Agents in Support Queue)

If two agents (one belonging to Support and one belonging to Sales) are available at the same time, the call is received by the agent belonging to the queue with higher priority.

 

Configure Route with Queue Group Application

  • After creating Queue Group, you can configure route (inbound or internal). The same queue group can be associated to different routes.
    On Dialplan Actions, you can add Queue Group Application

 

 

Application Queues Group requires:

  • Queue Group to consider (by choosing it from the dropdown menu)

  • Global Priority: priority associated to the group associated with the route. By default, queue priorities are applied, but if you indicate global priority at queue group level, it works like a “multiplier” for queues that belong to it. (value from 1 to 10 - default 0)
    If supervisor notices that fewer calls are coming in on a route, he can decide to increase group priority → with same queues and same agents, route with the higher global priority receives calls first

  • Options: you can insert Asterisk options (for more details you can explore Dial - Asterisk Documentation)

  • Music On Hold from the list of audios, which will be reproduced to the caller (default none)

  • Timeout: it works like timeout of normal queues: when it expires, system switches to next application inserted in dialplan (default 300 - required field)

  • flag (true/false) Answer (default true)

Example of Global Priority

Scenario

You create 2 Queue Groups QG1 and QG2, associated to relative queues:

 

 



Queue Group QG1, related to 3 queues:
- Support1 [Agent1, Agent2] : Priority 3 - calls executed at sec 0''
- Support2 [Agent3, Agent4] : Priority 2 - calls executed at sec 10''
- Support3 [Agent5, Agent6] : Priority 2 - calls executed at sec 20''
You create an inbound route on phone 0111234 and on action flow you insert Queue Group application, choosing the option QG1
The 3 queues will be contacted with indicated timeout, starting from Support1
→ Sec. 0'' = Support1 with Agent1, Agent2
→ Sec. 10'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4
→ Sec. 20'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4 + Support3 with Agent5, Agent6
Queue Group QG2, related to 3 queues:
- Support1 [Agent1, Agent2] : Priority 3 - calls executed at sec 0''
- Support2 [Agent3, Agent4] : Priority 2 - calls executed at sec 10''
- Support3 [Agent5, Agent6] : Priority 2 - calls executed at sec 20''
You create an inbound route on phone 021234 and on action flow:
You insert Queue Group application, choosing the option QG2
The 3 queues will be contacted with indicated timeout, starting from Support1
→ Sec. 0'' = Support1 with Agent1, Agent2
→ Sec. 10'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4
→ Sec. 20'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4 + Support3 with Agent5, Agent6

If supervisor notices that fewer calls are coming in on 021234 route, he can decide to increase group priority of QG2, so route with the higher global priority receives calls first (and queue group priority works like a “multiplier” for queues below which sums queue priority+global priority).

 

Agent’s priority for simultaneous presence on multiple queues

 

Moreover, you can work on Agents priority:

Scenario
If you have agent James entered at the same time on 2 different queues (of 2 different queue groups) and you want to give priority to a Support3 Queue, you can enter the agent penalty, indicating it is lower on the priority queue:

  • James with Penalty 1 on Queue Support3

  • James with Penalty 3 on Queue Sales3

In this way James will receive calls firstly on Queue Support3

Related topics