Use Case - Building a Priority Service in Enterprise Routing

Distribute priority calls quicker than non-priority calls without making use of the Distribution Priority activity.

This use case illustrates how to distribute "priority" calls quicker than "non-priority" calls without making use of the Workflow Activities - Distribution Priority activity which is only available in Contact Center license.

In this example, we want to prioritize customers residing in a specific country. The condition to be a priority call can be defined upon to your needs. You can combine this with Use Case - Distinguishing external from internal calls to give external calls a priority.

PRECONDITIONS

You require service owner rights to to create the services and build the power automate flow.

  • A main service is set up
  • A priority service is set up
 

Show Icon Legend

💡 = A hint to signal learnings, improvements or useful information in context. 🔍 = Info points out essential notes or related page in context.
☝ = Notifies you about fallacies and tricky parts that help avoid problems. 🤔 = Asks and answers common questions and troubleshooting points.
❌ = Warns you of actions with irreversible / data-destructive consequence. ✅ = Intructs you to perform a certain (prerequired) action to complete a related step.
 
 

Prepare Nimbus

Create these Parameters in the system:

Name DefaultValue
PriorityServiceQueuePosition 0
MainServiceQueuePosition 0
TransferToPriorityService No

Build the Workflow

Overview of the workflow

 
 
Description
Screenshot

We start with "Accept Conversation" to get calls into the service

 

 

Add a "Check Parameter" activity and check on the value that determines if the call has priority.

In our example we check if the Customer.Country has a specific value.

  • For No Match or Not set route directly to the queue of the current service, as this is the main queue.
  • For isPrioCall route to the next activity

 

For the priority calls we need to check the availability in the current service.

  • For Direct Available route directly to the queue of the current service, as someone will reply immediately.
  • For No One Available or In Time Available we want to look at the queue positions in the main service and the priority service

 

Add a "Get Queue Position" activity to the flow and save the position value into the parameter "PriorityServiceQueuePosition"

 

 

Add a "Get Queue Position" activity to the flow and save the position value into the parameter "MainServiceQueuePosition"

💡 This activity will be needed as a Trigger Event for the power automate flow.

 

Add a "Check Parameter" activity to the workflow and check on "TransferToPriorityService"

  • For No Match or Not Set route directly to the queue of the current service.
  • For TransferToPriorityService route to a transfer activity

 

Add a final "transfer" activity which routes to the Priority Service.

 

Build the Power Automate Flow

The Power Automate flow is very quick to set up. We want to check if the PriorityServiceQueuePosition is lower than the MainServiceQueuePosition.

  • If Yes, then we set the TransferToPriorityService parameter to "Yes" so that the call is routed to the priority queue within the workflow.

 See the flow overview

 
 
Element & Setting
Screenshot

Begin with a GetOnUpdatedTask element

 

 

Add a "Initialize Variable" step to the flow. Initialize the custom "PriorityServiceQueuePosition" Parameter created earlier within Nimbus.

 

 

Add a "Initialize Variable" step to the flow. Initialize the custom "MainServiceQueuePosition" Parameter created earlier within Nimbus.

 

 

Add a "Condition" step to the flow and set it to the following.

💡 We need to listen to the trigger of the second Get Queue Position activity in the workflow. We want to make sure that the Update parameter name is the name of the second parameter

  • @triggerOutputs()?[ 'body/UpdatedParameterName' ]
  • is equal to
  • "PriorityServiceQueuePosition"

AND

  • @variables( 'PriorityServiceQueuePosition' )
  • is equal to
  • @variables('MainServiceQueuePosition')

 

In the IF YES case add a "UpdateTask" Nimbus Flow Actions to the flow.

Set the CustomContextParameter TransferToPriorityService to Yes

In the IF YES case add a "UpdateTask" Nimbus Flow Actions to the flow.

Set the CustomContextParameter TransferToPriorityService to No

✅ You are now ready to test the flow.

Table of Contents