Use Case - Building an automated Survey Service

How to use the Outbound Call via Workflow flow action to conduct automated customer surveys

When a call terminates we want to make sure to catch the Customer's opinion about our Service. We can achieve this using the “Outbound with Workflow” feature in Nimbus. Every time when a handled call terminates on our Service, we will simply start a new outbound call that conducts the survey for us.

PRECONDITIONS

  • Contact Center - You require a Contact Center license to make use of the features described in this Use Case.
  • As you will be using Flow Actions, the Nimbus Power Automate Connector requirements also need to be met.
 

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.
 
 

Service Settings

  1. In Nimbus, create a dedicated Service called “Contact Center Survey Service”.
  2. The Service needs the following settings: 
    1. ✅A Workflow of type Audio/Video needs to be created in your Configuration to be selectable in the Settings. 
      → The workflow details are explained below.
    2. In the Modalities Service Settings “Outbound with Workflow” needs to be enabled. You can learn more about this on Outbound Call.

Workflow Details

  1. In our example, we create a new Workflows and name it “Outbound Survey Workflow”
  2. By using a “Collect Information” Workflow Activity we collect a DTMF value between 0 and 9. 
  3. We also store the collected value in a Parameters called "CustomerSatisfactionValue"
    ✅If you do not have a parameter yet, you can create one via the Configuration.
  4. Further in the flow, we simply announce on the input or – if no input was given – we encourage the Customer to call back if they still want to rate the Service in the future. Keep in mind, that you would then need to add the same workflow as inbound workflow in the Service settings.
  5. That's it.

Power Automate Flow

Flow 1: Starting the survey

Step Screenshot

The whole flow has two steps.

  • A Trigger Event “When a task changes state” that reacts to the Nimbus task.
  • A Flow Action “Schedule a new outbound call with workflow", which triggers the Workflow that will start the call to the Customer.
Start with the “When a task changes state” trigger and catch the Terminated event on your Service.

We only want to start a survey when an actual call between a Customer and Agent took place. 

Therefore we need to set the Trigger Conditions to 

@not(empty(triggerOutputs()?['body/lastConnectedUserId']))

Next, we use the Flow Action “Schedule a new outbound call with workflow using the Caller Telephone number as Destination.

  • Due Date Time = utcNow()
  • Destination = triggerOutputs()?['body/callerTelNumber']

 

 

 

💡Optional Tip - Associate your Survey with Customers:

If your survey should be non-anonymous, catch the identifying Customer information from the Nimbus task (see System Fields and Parameters) and relate it to the rating. By doing so you are able to store the results into your CRM of choice.


🌟All done: Don't forget to Save the flow and enable it.

Flow 2: Collecting the survey values

Now, depending on what you do in the survey workflow, you want to catch the survey values and save them somewhere for further analysis.

In our example we simply store the DTMF input in a parameter called “CustumerSatisfactionValue”. Therefore we need to build a Power Automate Flow to catch the Parameter Updated event. 

Step Screenshot
Start with the “When a task changes state” Trigger Event and catch the Parameter Updated event on your survey Service.

We only want to catch the paramater called CustomerSatisfactionValue. Therefore we set the trigger conditions to

@equals(triggerOutputs()?['body/updatedParameterName'], 'CustomerSatisfactionValue')

Initialize a variable of type integer to the flow.

  • The Value should be a rating between 1 and 10. 
  • However, the input given was DTMF and this a number between 0 and 9. We need to convert that number: 
    Value = add(1,int(triggerOutputs()?['body/updatedParameterValue']))
  • → Now we can store the rating of 1….10 wherever we want it to be.

 

For testing purposes we can use a Compose element to output the variable value.


🌟Congratulations: You have successfully implemented an automated Survey Service.

Follow-up steps

✅ TIP: You can use this Service throughout your entire Contact Center just by listening to all Services terminated events. 

✅OPTIONAL: Associate your Survey with Customers: If your survey should be non-anonymous, catch the identifying Customer information from the task (see System Fields and Parameters) and relate it to the rating. By doing so you are able to store the results into your CRM of choice.

 

Table of Contents