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"
|
|
💡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 |
* see notes below. |
|
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) a "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.
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:
- 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.
- 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.
- 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.