Distribution Policies
Nimbus requires a distribution policy to define escalation over time for ringing calls. A distribution policy can consist of multiple distribution levels. Each distribution level defines skill criteria, acting like a filter to pool and select (available) users for call distribution.
Prerequirements
Contact Center - Please note that distribution policies are a Contact Center feature . Both services and users need the Contact Center license.
To use this feature you need to make sure the following criteria are met:
- Skills and Responsibilities need to be created first.
As for all data entities, their visibility follows Organization Unit constraints.
- At least once service needs a Contact Center license applied in the Service Administration and configured for skill-based distribution.
- Users need to be Contact Center licensed to enable their Skills and Responsibilities tab and according Responsibility Profiles .
- Finally, Users need to be added as Agents or Owners of the service. This is done via Permissions tab, located in the Service Administration
The distribution order algorithm
To achieve skill-based distribution and policies, we to cover the following steps:
- Create Skill Categories - Your users need to be defined for targeted call distribution. As you define Skills and Responsibilities you freely define these criteria of selection first, e.g. a specific Language or Product proficiency.
- Assign Skills and Responsibility to Users - this must be done for each of your Contact Center users individually.
- Create Distribution Policies - Multiple levels of distribution can be part of a policy. Think of a filter that escalates the levels during an incoming call, based on your skill and responsibility criteria.
- Apply the Policy to your Services - Lastly, in order to take effect in call routing, a policy needs to be assigned to a Contact Center licensed Service type.
This sounds complex. Is there an example? Yes, we've prepared a concept page that explains the Distribution Order algorithm behind Nimbus in more detail.
Click on the tabs learn more.
The first step before using skill and responsibility based-routing should always be a look at your organizational structure. Ask: what kind of expertise is important when handling incoming calls? How should our users (Agents) be categorized accordingly? Then go ahead and do the following:
- Define Skill Categories - such as "Language Skills" or "Product Expertise". You may also define soft-skills or adjectives without levels, such as "First-Responder".
- Optionally define Skill Levels according to your chosen category. This allows for escalation levels so you can require certain skills or widen the user pool by gradually lowering skill requirements of long-waiting calls.
- Optionally define Responsibilities to apply to any category of skills. Responsibility levels can be used to distinguish skill importance, e.g. based on on time of day, workload, out-of-office status or for "high-demand" situations where users with certain skills are more responsible than others.
- Optionally define Responsibility Profiles for your users to select from. A profile automatically groups skills and responsibility levels together and lets you define corresponding levels for each profile and user.
In our example we defined 2 skill categories with levels. Responsibility is enabled for the "Expertise" skill which will be explained further below.
Information on this configuration can be found on Skills and Responsibilities .
We recommend to coordinate this with your (future) Service Team owners and their respective Organization Units, so avoid unnecessary duplicates of skills, categories and profiles within your Nimbus Tenant.
After setting defining all your skills and responsibilities you want to define your individual Contact Center users (Agents).
- Optionally assign the additional responsibility profiles for each user where needed. By default each user has two system profiles: Duty (which considers all skills) and Off Duty. Users will able to select further responsibility profiles you defined from the Nimbus frontend (based on their respective Organization Units).
- Define skill and responsibility levels for each user. With further profiles you can define these levels individually for each user.
In our example we defined two users with varying levels of skill and expertise. A highly skilled user (e.g. a programming expert) may be busy with other tasks during the day, but shall answer questions while being "On Call" at weekends.
Usually you do not change skills on users very often, as they remain consistent. Skill-based responsibility however may be a different for each user depending on their selected profile. Make sure that the naming and meaning of your profiles is clear and understandable for your users (examples could be: "Night Shift, Weekend Duty", "High Load").
After defining your Agents it's time to apply policies to your services. These policies define, how Agents are pooled and selected during an incoming call.
Rules for the selection order algorithm
In order to be selected, defined Nimbus Contact Center users must fullfill all the required criteria
- Users must have the all required skills.
- (Of the required skills) one skill level must match for the user to be selectable.
- (When responsibility is enabled for a skill), one of the required responsibility levels must match as well.
- The user must be available (e.g. not in RONA state, Busy in another call)
- If multiple available users match the requirements above, the order algorithm defines the priority as follows:
- Best Qualified: Prefers highest skill qualification (even if higher respond
- Longest Idle: Prefers longest idle team over both responsibility and skill level.
- Define a distribution policy with a clear name (e.g. Regular day service policy) and an order algorithm (see info above).
- Define the distribution levels with one or more profiles of escalation.
- Each profile determines the required skills AND their required responsibility ranged.
- Assign the policy within your Service Settings so it takes effect immediately on the next call.
In our example we defined a policy with two levels, both excluding the "Junior" expertise level, but lowering the responsibility and language requirements on the 2nd level at the 30 second mark.
Once assigned to your Contact Center service the call will be distributed according to the order algorithm.
- All skill-defined users are pooled. Users must be available (not in other calls, not busy in meetings, etc.)
- The rules of selection are applied (MUST have all skills, MUST be in any allowed responsibility level)
- On equal match the users are selected based on the order algorithm setting (Longest Idle, Best Qualified)
In our example we explain the algorithm via the two levels defined in our distribution profile earlier:
Level | Selection Criteria |
---|---|
1 |
|
2 |
|
You can also read our Use Case - Setting up a Contact Center which guides you through all these steps in a basic end-to-end scenario.
Creating Distribution Policies
Requirement: Before you can create and configure a distribution policy, make sure you have defined Skills and Responsibilities to continue with the next steps.
General Policy Details
- Within the Configuration (Admin) , head to " Distribution " > " Distribution Policy "
- Create a new policy and pick a name that either reflects the intent (e.g. for general-purpose response teams) or a special division (e.g. Sales Team).
- Assign an Organization Units that also will determine, where this policy is visible / applicable.
Define the Distribution Order that should apply for the distribution algorithm when multiple agents meet the same criteria:
Order Description Notes Longest Idle (default) Will prefer the Agent which are longest available, even with more qualified agents present. If a selected Agent is currently unavailable due to any reason (call decline, RONA, IM presence) the Agent is selected.
This is done regardless of skills or qualifications meeting the policy criteria.
Best Qualified
Will prefer the Agent which is most suitable for the task.
- User skills and their levels are compared against each other.
- If more than one skill is available, they are treated with same priority
- On equal match, longest Idle will be used as fallback.
- Higher responsibility will be ignored
Preferred and Last User Routing
OPTIONALLY you can also enable "Preferred User Routing" within your policy. You can think of this as a list of users that will always be the first line of defense in your service, regardless of the distribution levels that follow.
To configure this:
Optionally Enable "Preferred User Routing" → further options become available
Option Description Preferred User Routing This feature requires your preferred users to be defined via Power Automate Flow, using the Nimbus Connector "UpdateTask" flow action. Note that preferred users need a Contact Center license applied in order to be selectable.
Preferred User Routing works as follows:
- Attempts to connect preferred users within the defined → Waiting Time.
- Applies the order algorithm among all defined preferred users:
- First: Priority – there can be users with the same priority, as defined via "UpdateTask" flow action
- Then: Longest Idle
- Preferred users will stay on top of the distribution list in all following levels. The "Order" setting of the policy (e.g. "Best Qualified") does not apply as preferred users can be from outside the team and not necessarly require defined skills. → Instead, their own order (priority, longest idle) applies.
KNOWN LIMITATION Per default, Agents of a service only get tasks distributed when they are considered "selectable", as defined per User States rules. Selectability can also be influenced via Distribution Service Settings . For preferred users these settings for "Available when away / busy" are currently ignored.
Learn more...
Preferred User Routing Limitations
KNOWN LIMITATION Service "Conversation Distribution" settings are currently ignored on preferred users which are not assigned to that particular service.
Example:
- For the service's distribution policy "preferred users" are enabled. Users are configured as follows:
- User A is preferred in the service
- User B is the usual skilled user in the service
- Distribution Service Settings are set to "Busy = Not Selectable"
- Scenario: As a call gets distributed, both users are "Busy" in their MS Teams client:
- Preferred User A will get an invitation being in Busy presence.
- When turn of User B comes, they will not get an invitation being in Busy presence.
Waiting Time
(hh:mm:ss)
Applies when "Waiting Time" toggle is enabled.
Defines the time at which preferred users are considered first before distribution levels come into effect.
- Default: 00:00:10
- Min: 00:00:05
- Max: 23:59:59
During this time, users are considered as "Level 0", also reflected as such in the Nimbus frontend UI where applicable.
After the time has expired, preferred users will be pooled with other users from Distribution Level 1...x users, and still preferred in the selection.
When waiting time is disabled, the 1st distribution level criteria are applied immediately, but preferred users are also taken into consideration.
Optionally Enable "Last User Routing"
Option Description Last User Routing This feature requires "Preferred User Routing" to be enabled.
You can use this option standalone without Power Automate involvement last users get automatically added to the list of preferred users.
Last User Routing works as follows:
- The last user will be automatically added to the list of preferred users with priority "-1" (top priority above even preferred users).
- Attempts to connect last users within the defined → Waiting Time. A "Last User" is any user with a successful user session being established between same caller and same service. This includes:
- Inbound (Audio/Video Call or Chat) → Accepted
- Outbound Service Call / Call On Behalf → Connected to Destination
- Anonymous callers are not tracked and thus not associated with "Last Users".
Last User Routing Threshold
(dd:hh:mm)
Time until a user is not considered as "Last User" anymore. After the threshold is passed the top-priority is cleared.
- Default: 07:00:00
- Min: 00:00:05
- Max: 30:00:00
- If Waiting Time toggle is set to false, skip waiting, proceed directly with 1st Distribution, but take preferred users into consideration.
Additional Notes
- The "Distribution Order" setting in your General Policy details (Longest Idle / Best Qualified) applies only for "non" preferred users. Once you define a user as "preferred" they are taken out of the regular distribution pool and treated according to their own order algorithm.
- User States and system flags such as RONA or Off-Duty States can prevent Preferred- or Last User Routing, meaning regular distribution levels will come into effect if none of the preferred / last users are currently available.
- If users get their Skills and Responsibilities removed they can still be be considered for "Preferred / Last User" routing, as Priority / Longest Idle state apply.
- Note that preferred users do not need to be assigned agents of services, but need to have the Contact Center license applied in order to be selectable. If users get their license removed, they remain on the preferred list for any ongoing session. However they can not be selected as "preferred" for future sessions.
Distribution Level definition
- Within the "Levels" tab of a policy you can add additional levels (e.g. to escalate your Agent selection) or remove them down to one.
For each level you can specify the following details:
Description Name Name of the level, mainly required for reporting reasons. Activation Time
(hh:mm:ss)Call waiting time until this policy level should activate.
The Distribution Order algorithm will always start at the 1st level (00:00:00) for any incoming call.Skills / Responsibility Levels - Adds one or several Skills and Responsibilities as requriement to the according level entry.
- You can then adjust the sliders to allow for a smaller or wider range on that particular skill.
We recommend to start with the experts (higher levels) first and gradually expand the user pool by widening the filter criteria.
Add further levels (columns) and skills (rows) as needed and adjust the skills / responsibility sliders.
Save your policy with a descriptive name (e.g. based on the skillsets required).
Related Notes
- Only one level and its search criteria applies at a time. Previous levels are disregarded once the next "Activation time" is reached.
- If a task was not accepted by an agent, the check will be performed again according to the currently active distribution level, until the next "Activation Time" is met.
- When the last level is reached within a policy, it remains active until the task is canceled - either by caller abort, task cancelled in workflow, queue timeouts, etc.
- With multiple agents available, the "Order" is applied (→ configured in "General" tab)
Assign the policy to a service
Your policy will not apply until assigned to a service.
- Head to the Service Administration > Choose any Contact Center licensed service> "Distribution Tab"
- Ensure the User Assignment Type is set to "Skill-based".
Services using different User assignment types cannot use this feature.
- Assign the Distribution Policy you created in the previous step.
Note that this is a setting exclusive to administrators. Nimbus portal users and team owners may not change the policy.
Is the policy not visible for assignment? Make sure to check the Organization Units on both the policy and service each and reassign if needed.
Can't change Distribution Policy and/or User Assignment Type? Please read if all requirements at the top of this page are met.
Related Pages and Concepts
- Define and assign Skills and Responsibilities.
- Learn about Responsibility Profiles.
- Learn about Organization Units relationships.
- Learn about Service types and their difference in Features.
- Assign (skilled and responsible) users to your service via the Agent Service Settings.