Task Priority

Setting priority among queued tasks and learning about the impacts

Tasks in Nimbus of any modality in Nimbus usually get distributed via Task Queue and Distribution algorithms. Each task enters the queue with a certain (default “Normal”) priority which can be influenced on several areas of Nimbus.

  • As you configure your Distribution Service Settings you can set a default Task priority. 💡 This priority is used for all new incoming tasks.
  • The priority can then be influenced via Queue Activities in your Workflow. 💡For example, during special Opening Hours you may want to change the priority to high so customers get service quicker.
  • The Nimbus Power Automate Connector can also influence existing or new tasks. 💡This can be useful to identify VIP or Emergency tasks in your queue and give them priority.

Task Priority in a "Queue" workflow activity

Workflows use the Queue Workflow Activity to not only determine Task Priority, but also have “Distribution Type” setting, which determines how (many) users get a task invitation request. Especially in a multi-service environment, the "Priority" setting affects this "Distribution Type"

We'll explain this with an example below: 

Scenario
Setup
Outcome

2 Services A&B using a "Broadcast" Queue Activity Distribution Type setting in their Workflows.

Queue activity with “Broadcast” Distribution Type selected

Service A 

  • Broadcast
  • Calling Timeout - 30s
  • Task priority "Low"


Service B

  • Broadcast
  • Calling Timeout - 30s
  • Task priority "High"


Both services pool the same 10 users, all Active and Available for new tasks.

  1. A task reaches service A and enters with low priority.
    ⮑ Service A will block all 10 users with the call invitation.
  2. A second task for Service B enters with high priority. 
    ⮑ All users are still blocked for the 30s timeout from service A.
  3. User 1 then declines the (low) call.  
    ⮑ The user 1 immediately gets the second (high) call distributed.
    ⮑ All other users 2-10 are still blocked by the (low), previously declined call engagement. until it is handled.
    ⮑ Only user 1 finishing the (high) engagement may take the next (high) priority call.

💡Learnings: 

  • The "Broadcast" Queue setting is fixed to a 10-user batch.
  • In a Task priority “Broadcast” scenario the first call entering – even if lower priority – may block higher priority tasks, as Nimbus blocks users for previous tasks until handled.
 

Distribution Priority Settings

When configuring your Queue Workflow Activity you have access to the following options:

INC Distribution Priority

Configurable Property Task Priority  Behavior
Priority
1. Strict*
2. Highest
3. Very High
4. High
5. Normal (Default)
6. Low
7. Very Low
8. Lowest
9. Nothing Else*

* see notes below.
  1. New Tasks default to “normal” Priority: When a new task enters the to the queue, it gets a normal priority (5) assigned according to the service's Distribution Service Settings
  2. Whenever a “Distribution Priority” Queue Activity is reached, the task priority can be redefined. 
    💡 For example, the “Special” “Check Opening Hours” activity exit routes to “Distribution Priority” very low (7).
  3. Tasks are distributed are round-robin method. Effectively this means: 
    • A new task of higher priority over existing tasks will take precedence and be handled as soon as possible.
    • A new task of equal priority will be sorted in below already existing tasks of the same priority, as it entered the queue at a later point of time.
    • A new task of lower priority will be sorted "in-between" higher priority task rounds, using a weighted round robin method.

💡 When to select "Strict" or "Nothing Else" as priority?

Set "Strict" when tasks need to be put on top of your queue.  Set "Nothing Else" when tasks should only get distributed when your service queue is empty.
✅ Use this for emergency services and important VIP hotlines that always should get precedence over anything else in the task queue. ✅ Use this for non-time-sensitive tasks in when your maximum queue time is long enough for them to get handled eventually.
☝Other tasks can get lost due to potentially long queue times as new incoming “Strict” tasks always take precedence.   ☝ These tasks can get lost due to all other tasks taking precedence.  
 

🔎 Notes: Priority in other Nimbus areas

  • Nimbus Power Automate Connector: Whenever workflow-related Trigger Event criteria are met, Flow Actions can also be used to set a task priority dynamically. 
    ☝️ This new value will override the default priority set in the Distribution Service Settings.
  • Distribution Priority steers “WHEN" a task enters a queue, not the target itself. A service's Distribution Policy steers “WHO”. (e.g. among "Longest Idle" or "Most qualified") Nimbus users gets the task.
    💡 In a skill-based service distribution this can mean that even high or strict priority tasks may not get handled, if there is no Agent available to handle this task.
  • Task widgets (e.g. My Overview or Personal Dashboards) have a "Priority" column which indicates how high this task is ranked in the overall queue. 
    💡 A priority change may "displace" existing tasks to a new rank.
Tasks queued with different priority
 

Round Robin Task Distribution

As tasks with low or high priority could always outweigh and thus “starve” existing tasks out of a queue, a weighted round robin method is in place to mix tasks of different priority, which are equally distributed amongst available users.

INC Weighted Round Robin Method

Learn more about the weighted round-robin method

The Round Robin procedure distributes the calls in such a way that the ratio between the individual priority levels is always 2:1. Each time another "Round" is started, that round counter is applied to the "weight" of the remaining tasks.

The following example table assumes a configuration with 3 priority levels. There are 21 calls in the queue, with the following priority:

  • 12 calls with priority 1
  • 6 calls with priority 2
  • 3 calls with priority 3

Following the 2:1 rule, the calls are queue over time t as follows:

  1. Round 1: High Med tasks added in 2:1 ratio. No "Low" priority tasks in Round 1 as "Medium" task count outweighs the low task count.
  2. Round 2: High Med Low tasks added in 2:1 ratio. The "Low" priority tasks get a round-multiplier added to their weight, now outweighing "Medium" tasks and thus are added in a 2:1 ratio.
  3. Round 3: Same as Round 1.

🔍 Sources: Weighted Round Robin (Wikipedia Article)Please note that this example only works as long as no new calls are being processed. Calls with strict or no priority are not considered in this rule.

Legend:  Q: Calls in Queue | H: Handled | R: Remaining

 
Priority Q H R H R H R H R H R H R H R H R H R H R H R H R H R H R H R
1 (high) 12 2 10     2 8         2 6     2 4         2 2     2 0        
2 (med) 6     1 5     1 4         1 3     1 2         1 1     1 0    
3 (low) 3                 1 2                 1 1                 1 0
Round Counter   Round 1 Round 2 Round 3 Round 4 Round 5 Round 6
Time (t)   t1
tn

☝ Reminder: Tasks in a queue with either "Strict" or "Nothing Else" priority will ignore round-robin distribution.

 
 
 

 

 

Table of Contents