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 setting in their Workflows.

Service A : Broadcast, Calling Timeout - 30s, priority "Low"


Service B: Broadcast, Calling Timeout - 30s, priority "High"


Both services pool the same 10 users, Active and Available

  1. A first (low) call to Service A will block all 10 users with the call invitation.
  2. A second (high) call to Service B enters the queue. All users are still blocked for the 30s timeout.
  3. The first (low) call is declined by 1 user, which then immediately gets the second (high) call distributed. 
  4. All 9 users are still blocked by the (low) call engagement until it is handled.
  5. Only the 1 user finishing the (high) engagement may take the next (high) priority call.

💡Learning: The "Broadcast" Queue setting is fixed to a 10-user batch. In a Priority scenario the first call entering – even if lower priority – may block higher priority tasks.

 

Distribution Priority Settings

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

INC Distribution Priority

Configurable Property Description Behavior
Priority
  • Strict*
  • Highest
  • Very High
  • High
  • Normal (Default)
  • Low
  • Very Low
  • Lowest
  • Nothing Else*

* see notes below.

  1. When a new task enters the to the queue, it gets a default priority assigned according to the service's Distribution Service Settings
  2. When the “Distribution Priority” Queue Activities step is reached, the priority can be redefined. 
    💡 For example use “Special” Opening Hours cases to re-define the priority again.
  3. The order of tasks is distributed via 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?

“Strict” tasks will always be put on top of your queue. 
 ⮑Other tasks can get lost due to potentially long queue times as “Strict” tasks always take precedence.  
✅ Use this for emergency services and important VIP hotlines that always should get precedence over anything else in your queue.


"Nothing Else" tasks will only get distributed when your service queue is empty. 
 ⮑These tasks can get lost due to all other tasks taking precedence.  
✅ Use this for non-time-sensitive tasks in when your maximum queue time is long enough for them to get handled.

 

Priority in other Nimbus areas

  • Whenever certain workflow Trigger Event criteria are met, certain Flow Actions from the Nimbus Power Automate Connector can also be used to set a task priority dynamically. ⮑ This is overriding the default priority set in the Distribution Service Settings.
  • In general, tasks are always distributed according to a service's Distribution Policy (e.g. among "Longest Idle" or "Most qualified" Nimbus users first). 💡 Priority does only affect WHEN a task gets distributed, the policy determins WHO receives it first.
  • In all Nimbus views with a task list (e.g. My Overview or Personal Dashboards with "Task" widgets) "Priority" column indicates how high this task is ranked in the queue. With this setting, tasks may now "displace" existing tasks to a new rank.
A set of Nimbus tasks shown 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