In this article, we will show how to black- or whitelist specific numbers to improve our routing decisions. Blacklisting numbers can be used to automatically reject incoming calls from e.g. spammers, while whitelisting can be used to specifically allow calls only from certain numbers, or to differentiate them e.g. as VIP callers which need to be handled specially.
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. |
Flow Overview
This Use Case will make use of the Nimbus Power Automate Connector. š”Our example will use a SharePoint list to blacklist numbers, but you can of course adapt this for whitelisting as well, or to use any other data source as long as it is reachable through Power Automate.
Show a preview of the flow...
INC Power Automate Preconditions
PRECONDITIONS
āExternal licensing costs
A Microsoft Power Automate subscription withĀ "Premium Tier"Ā license is required to set up the necessary connectors in your Flows.Ā Note that theĀ pricing for these accountsĀ is determined by Microsoft and outside of your Luware subscription.
āNimbus Licensing
Licensing: To use the Power Automate integration, at least one of your Nimbus services must be Enterprise Routing or Contact Center licensed. Additional licenses can be assigned via License Management in the Administration UI.
Configuration: Flow interaction requires an existing Nimbus service already provisionedĀ on your tenant. Power Automate Trigger Events react to Workflow Activities in your currently running NimbusĀ WorkflowsĀ ā as defined in your Modality Service Settings. If your service has no (valid) workflow defined, trigger events will not be recognized.
āUser Roles
You need either Team Owner or Administrator in Nimbus to set up Power Automate Flows. Check that your currently logged-in user account has one of the required Nimbus Power Automate Roles.
š”Tip: To keep impacts and licensing cost to a minimum we recommend setting up flows as a Tenant Administrator as you have full access to all services and their configuration items located within their respectiveĀ Organization Units. This also reduces the risk thatĀ Flow ActionsĀ and relatedĀ Trigger EventsĀ suddenly stop working, as Nimbus Configuration entities, permissions or related user roles change.
Learn more about thisā¦
The same user account UPN you use in Microsoft Flow is matched with the according User RoleĀ granted via NimbusĀ User Administration. Nimbus data is filtered via the Organization Unit placement of your logged-in user account. In effect, Services and Users outside of this OU placement are (not) shown in Flow Actions and Trigger Events to prevent accidental manipulation.Ā
The following table will give you a brief overview on which Nimbus User Role can manage Power Automate flows:
Nimbus User Role | Notes on Flow access |
---|---|
Partner Admin | ā Cannot use triggersĀ for services in the customer tenant with his own account. Also have limited visibility on live-data. |
OU Admin |
āĀ Can access the connector, but isĀ not recommendedĀ to manage live call-data with, as the view on services and user data is restricted by Organization Units. If the Admin role is moved or deprecated, flows may cease to function correctly. Ā š”This role is primarily meant for assisting on configuration tasks, e.g. managing flow-relatedĀ Address BooksĀ andĀ Workflows. |
Tenant AdminĀ |
ā Recommended!
|
Team / Service Owner |
ā Usable, but limited access to data entities withinĀ Organization UnitĀ rules of user account (reading up the path rule):
|
Supervisor / User | āĀ Have no accessĀ to the connector itself or any related configuration items and service settings. |
š Refer to Power Automate Roles for more details.
Define the parameter
First, we define a Parameter named "Blacklisted" with an empty default value which we will use in our Nimbus Workflow:
Create the Power Automate flow
ā Reminder: If you use Power Automate for the first time, make sure you have read the preconditions above.Ā
- Sign in to Power Automate atĀ https://make.powerautomate.com/Ā
- Head toĀ "My Flows"
- Click on "+ New Flow" and create a blank "Automated Cloud Flow"
- Give your new flow a speakingĀ name, e.g., "Check Blacklisted Numbers"
- In the text box underneath, search for "Luware Nimbus" and choose the "When a task changes state" trigger
- Click the "Create" button
Configure the trigger
In our example, we want the new flow to react specifically to the Workflow Started Trigger Event, which will trigger once at the very beginning when an incoming call is first received by a Nimbus service.
- Select the "When a task changes state" trigger.
- In the "Services" dropdown select the Nimbus service's UPN.
š” You can also select multiple services. - In the "Task Events" dropdown select "Workflow Started".
- In the "Advanced parameters" dropdown enable "Modalities" and "Directions".
- In the "Modalities" dropdown select "Audio".
- In the "Directions" dropdown select "Inbound".
Check if number is blacklisted
ā In this step, we will assume that you already have your list of blacklisted numbers created and made accessible to Power Automate. Our example will utilize a SharePoint List for this.
- Add the corresponding action to query your data source to the flow. In our case it is āGet Itemsā.
- Configure the query filter to look for the caller Telehone number System Field submitted by the trigger event.
-
Add an "Initialize Variable" action to store the value of the "Blacklisted" parameter, depending on the previous actions outputs.
š”In this example, we're using the expressionnot(empty(body('Get_items')['value']))
, which will set the value to true or false, depending on whether the previous step ('Get items') returned an empty array or not.
Update task
Next, we use the Flow Action āUpdate Taskā and set the "Blacklisted" parameter accordingly.
- Add the "Update task" action from the "Luware Nimbus" connector
- Fill in the "Task ID" dynamic value provided by the trigger
- Choose "Custom Context Parameters" from the "Advanced parameters" dropdown list
- Set the name of the custom parameter to "Blacklisted"
- Use the dynamic data from the previous step as the parameter value
Create the Nimbus workflow
ā Wait for Parameter: Our example Nimbus Workflow will not accept the call straight away but will first wait for the Power Automate flow to update our predefined parameter. This is achieved with the āWait for Parameterā Workflow Activity.
š” The wait time that you choose here ultimately depends on the average performance of your Power Automate flow.Ā
While you may not want to keep your regular callers waiting for too long, you will also need to give both Power Automate and Nimbus enough time to properly process and receive the information.
ā Your maximum wait time should never exceed 15 seconds, as Microsoft Teams will automatically reject the call if it hasn't been accepted by the Nimbus workflow within that time.
ā Check Parameter: The workflow will then check whether the parameter value has been set to āTRUEā via Power Automate.Ā
- If YES, we can immediately disconnect the call, as obviously a match in the blacklist was found.
- If NOT (either because Power Automate returned āFALSEā or nothing at all), then we will accept the call and continue going through the rest of the workflow as usual.