We want to flag numbers in our CRM and treat such callers in a special way. In this article we cover two similar scenarios:
- Whitelist Routing: caller is flagged as "isVIP" and we want route such VIP Members to a special service.
- Blacklist Routing: caller is flagged as “isOnBlacklist” and we want to route the caller to an announcement.
Show a preview of the flow...
PRECONDITIONS
Power Automate Premium subscription for the "Sharepoint Connector" element - you can of course also store your lists into other data storages.
- For this Use Case we assume you have already a whitelist of "Known VIP Callers" at hand for lookup during the flow.
- The scenario below is written with a "Whitelist" and according VIP variable / parameter in mind. You can build a blacklist routing scenario with the variable named " isOnBlacklist" accordingly, performing the same steps below again but checking first if it's a blacklist
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 Parameters in Nimbus
- Create a custom context parameter called “CallerIsVIP” for your service
- Create a workflow and and a "Check Parameter" activity.
- Select "Custom" parameter type and your new “ CallerIsVIP ” Parameter activity.
💡 For testing purposes, it is convenient to route each exit to an announcement.
- Assign the workflow to the service.
Create Flow to Retrieve CRM Data
✅ In this step we assume you have already a whitelist of "Known VIP Callers" at hand for lookup.
- Start a new Flow with the Nimbus trigger " GetOnNewTasks " Trigger Event.
- According to your CRM add the corresponding "Get Item / Get Element" to the flow and save the output in a "Compose" element.
💡 In our example, we use simple Sharepoint list to look up and identify the callers.- We filter on “MicrosoftCallerID".
- Filter = Nimbus MicrosoftCallerID
-
Set Top count to 1 which returns only one item.
- Top Count = 1
- We filter on “MicrosoftCallerID".
-
Add a “Compose” element and rename it to “FirstItem” and store the values of the CRM into it:
- Inputs = outputs('Get_items')?['body/value'][0]
- Inputs = outputs('Get_items')?['body/value'][0]
- Add a “Variable” and set its value to the List-retrieved value (the caller information retrieved from your list or CRM):
- Name = CallerIsVIP
- Type= String
-
Value= outputs(’FirstItem’)[‘IsVIP’]
Update the Nimbus Task
Add a Nimbus “UpdateTask ” to the end of your flow and set the values to:
- RequestID = triggerOutputs()?['RequestID']
-
CustomContextParameters
- Name 1: CallerisVIP
- Value 1: variables('CallerIsVIP ')
🌟 At this point the Flow is complete. If you also want you can also do a blacklist scenario in the next step.
Optional: Blacklist
✅ If you also want to perform the blacklist scenario - we recommend adding a 2nd "Check Parameter" activity to your Workflows including its own blacklist Parameter and according Flow with a separate list.
- Repeat the steps above, but add the 2nd "Check Parameter" activity after the first Check "No match" exit. That way you ensure that VIPs are checked first and routed accordingly.
- Afterwards, check your "Blacklist" in a separate flow and route these callers separately (e.g. an announcement).