Use Case - Routing after-hours calls to Standby Duty numbers

Setting up service workflows to route incoming calls to a shared list of standby duty users

In this Use Case, we want to set up a simple logic in our service workflow to route incoming calls outside of working hours to standby duty numbers.

PRECONDITIONS

  • You require service owner rights to to create and update and share an excel list on Teams. 
  • Nimbus Power Automate Connector must be set up and preconditions must be met (Licensing, User Roles).
  • A Nimbus service is set up and ready to receive calls.
 

INC Icon Legend Accordion

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.
 
 

Create Parameters

In Nimbus, create the following Parameters:

Name
ID
Default Value
StandbyDutyNumbers StandbyDutyNumbers  
TransferToOncallAgent TransferToOncallAgent -1

Create the Workflow

In the Workflow, we want to route the Closed -node from the Check Opening Hours activity to the on-call Agent.

💡 The workflow overview below demonstrates the path we are interested in during this Use Case. Other paths and activities are excluded to make it easier to understand.

Example workflow with Standby Duty based on a Parameter
Description
Activity

1. Add a Collect Information activity to the flow.

2. Set Max digits to 1

3. Save the choice to the TransferToOnCallAgent parameter.

💡 Expected results:

  • If the Customer presses any key, it will be stored into the parameter you created for this workflow.
  • A Power Automate flow can then react with “Parameter Updated” Trigger Event and update the StandbyDutyNumbers value via Flow Action, e.g. according to a shared list → covered in the steps below.
 

 

1. Connect the "Input Received" output to a Wait For Parameter activity.

2. Select the StandbyDutyNumbers parameter.

3. Set the waiting time to 5 seconds (depending on how much time the Power Automate Flow needs to update the parameter, you can adjust the waiting time accordingly).

💡 Expected results:

  • This workflow activity will wait for Power Automate to update the StandbyDutyNumbers parameter value:
  • When the parameter is updated within defined “Max Waiting time” the Updated exit will be taken.
  • When the parameter is not updated by Power Automate within the defined waiting time, the Timeout Reached exit will be taken.
 

1. Connect the "Updated" output to a "Standby Duty" activity.

2. Set Destination Type to Custom Parameter

3. Set Custom Parameter to StandbyDutyNumbers 

Set the transfer to the OnCallAgent custom parameter.

4. Define via Max. Attempt Cycles how many times Nimbus should try to call the phone numbers specified in the StandbyDutyNumbers parameter.

5. Specify a prompt text to play to the Agent when answering the call.

6. Specify a Confirmation DTMF for the Agents.

💡 Expected results:

  • This activity will call the phone numbers listed in the StandbyDutyNumbers parameter one by one. 
  • If an Agent does not answer the call within the defined RONA timeout, then Nimbus will call the next number on the list. 
  • Nimbus will ring the phone numbers specified in the StandbyDutyNumbers parameter 3 times (Max. Attempt Cycles = 3) OR until one destination accepts the call and confirms taking it by pressing the number 1 (Confirmation DTMF = 1).
 


 

 

 

Create and Share the Standby Duty Agent List

In the MS Teams Channel of your service, create a list - in our example "Standby Duty Agents" - with at least three data columns:

  • TitleText column, containing the name of your Agent(s)
  • OnCallYes/No column, controlling whether an Agent is currently oncall.
  • MobileText column, containing the well-formatted mobile number of the Agent
  • CallingOrder: Choice column, defining the order of the phone numbers to be dialed

💡 Expected results: The Power Automate flow will retrieve all Agents having OnCall checked and it will add the mobile numbers of the Agents to the StandbyDutyNumbers parameter in the order defined in the CallingOrder column. 

☝ Please Note: Please note that you can add up to 10 phone numbers to the StandbyDutyNumbers parameter. With the example below, following would be added to the StandbyDutyNumbers parameter: +4134567898;+4156478987;+4145678987

 
A shared list with (up to 10) OnCall Agents
 

Create the Flow to Fill the StandbyDutyNumbers Parameter

Now it's time to create the Power Automate flow.

Overview of the Power Automate flow

 
 
  1. Visit the Flow landing page: https://make.powerautomate.com/ 
  2. Head to "My Flows"
  3. Click on "+ New Flow" and create a blank "Automated Cloud Flow"
  4. Give your new flow a speaking name, e.g. "Get Standby Duty Agents"
  5. In the text box underneath, search for “Nimbus” and choose the "When a task changes state" trigger
  6. Click the "Create" button.    
     
  7. Configure the trigger as follows:
Field What to fill in
Service Item Select the UPN  of the service
Task Events Select Parameter Updated
Trigger conditions

On the Settings page of the trigger add the following trigger condition to make sure the flow only gets triggered when the SMSPhoneNumber parameter is updated:

@equals(triggerBody()?['updatedParameterName'],'TransferToOncallAgent')

Next we will initialize a variable that will store the list of phone numbers.

  1. Add a Variable "Initialize variableaction to your flow.
  2. Configure the action as follows:
Field What to fill in
Name StandbyDutyNumbers
Type String
Value <leave empty, as is>

Next we will retrieve the standby duty Agents from our Standby Duty Agents SharePoint list.

  1. Add a SharePoint "Get Itemsaction to your flow.
  2. Configure the action as follows:
Field What to fill in
Site Select the SharePoint site containing the Standby Duty Agent list.
List Name Select the Standby Duty Agent list.
Filter Query

OnCall ne 'false'

 

☝We are intentionally using OnCall ne 'false' instead of OnCall eq ‘true’ because of a bug with the Get Items action.

Order By

CallingOrder

 

☝We are immediately ordering the retrieved items based on the CallingOrder column of the SharePoint list.

Top Count 10

Next we will add the Mobile numbers from the retrieved items to the StandbyDutyNumbers variable separated by semicolons.

  1. Add a Variable "Append to string variableaction to your flow.
  2. Configure the action as follows:
Field What to fill in / 🌟 = SharePoint dynamic content 
Name StandbyDutyNumbers
Value 🌟Mobile

Finally we are updating the StandbyDutyNumbers parameter in Nimbus with the list of phone numbers.

  1. Configure the action as follows:
Field What to fill in / 🌟 = Nimbus dynamic content 
Task ID 🌟 Task ID
Custom Context Parameters

Click on and add

[
                                                                                                                                                                                                                  {
                                                                                                                                                                                                                    "name": "StandbyDutyNumbers",
                                                                                                                                                                                                                    "value": @{take(variables('StandbyDutyNumbers'),sub(length(variables('StandbyDutyNumbers')),1))}
                                                                                                                                                                                                                  }
                                                                                                                                                                                                                ]

☝With the above expression we are removing the last semicolon from the end of the string:

+4134567898;+4156478987;+4145678987;

will be changed to 

+4134567898;+4156478987;+4145678987

All other fields <leave empty, as is>

 

Table of Contents