Within Microsoft’s Omnichannel for Customer Service we can enable post-call surveys. In this post I will investigate how we can configure these surveys on the voice channel.

With the chat / messaging channels we can use a Customer Voice survey as a post conversation survey. Voice channel surveys operate differently, for these we create a copilot studio Bot (PVA). At the end of voice conversations, calls are transferred to this Bot which will collect the customer’s views.

There are three scenarios for conducting post-call surveys …

Automatic – implicit: On every call when the agent disconnects the customer will be transferred to the post-call survey bot.

Automatic – explicit: The IVR Bot will ask the customer if they’d be happy to take a survey after the call. Only if consent is given will the call be transferred to the post-call survey bot.

Agent – initiated: During the call the agent will ask the customer if they will participate in a survey. If the customer agrees, the agent manually transfers the call to the survey bot.

The steps involved in configuring surveys include;

Step 1 – Create post call survey Bot.

Step 2 – Connect Survey Bot to Omnichannel.

Step 3 – Enable post-call survey in channel settings.

Step 4 – Amend your IVR Bot, to escalate to the survey. (Optional!)

Step 5 – Configure human initiated survey. (Optional!)

Step One – Create Post-call Survey Bot
You will want to create a Bot specifically for collecting survey data. (I strongly suggest you don’t try and use your IVR for both purposes!)

You are going to need a voice enabled Bot that is connected to Omnichannel for Customer Service. Currently that implies a “classic copilot” Bot.

Below you can see that I have clicked “Create Bot” in my copilot studio. Next, I give the Bot a name and click on the “Edit advanced options” button.

Screen 1 - Create Bot

Within the advanced settings you should find a link to configure voice capabilities.

Screen 2 - Voice Settings

Notice how the heading for your Bot has changed to “Create a classic copilot”! This is because currently voice enabled Bots are only supported using the classic PVA experience.

At this point you will need to ensure you’ve selected the correct language for the Bot before clicking “Create”.

Screen 3 - Voice Settings 2

Now I have my Bot I amended the greeting topic, by adding whatever survey questions I required. I kicked off by saying “How did we do today?”. This was a multiple-choice question.

Tip: In a later revision instead of a simple multiple-choice question I created an “entity”. An entity can be a closed list of options and can include synonyms. So, I found doing this gave a better customer experience.

Screen 7 = Greeting in Survey

I then added a condition, depending on the response given I thank the customer in different ways. Plus, if they say our service was poor, I added an extra question to ask them why. But all my “branches” result in the same next action … we hang up the phone as the survey is over.

Screen 8 - Survey Questions

Tip:
If your Bot is unable to understand a response from the customer the “Escalate” topic maybe triggered. You might want to edit the escalate topic to thank the customer and hang up. As I suspect we wouldn’t want the escalate to try and connect with an agent again!

Step Two – Connect Survey Bot to Omnichannel
Begin by using the “Agent transfers” option and selecting “Dynamics 365 Customer Service”.

Screen 4 - Connect to Omnichannel

Now you simply click enable to connect your Bot to Omnichannel. A screen will be displayed where you will need to select your environment and enter an application id. You will need a new application id, usefully there is a like which will take you into Azure to create an id. So just create a new application id and then paste the details into your Bot.

Screen 6 - Regsiter for Omnichannel

After a couple of seconds your Bot will be enabled, and you can continue to add it into your channel settings.

Tip:
Once you have created your Bot and connected with Omnichannel don’t forget to publish it!

Step Three – Enable Post-call Survey in Channel Settings
It is possible to have multiple survey Bots, you might do this if you need to support multiple languages. As the settings to define which Bot to use for the post-call survey are within the language option on the channel.

Below you can see that I have selected channels in my “customer service admin center”. I have then selected the phone number I want to add my survey into. And also selected the relevant language.

Within the settings for the language, you can see I have enabled a post-call survey and selected my survey Bot.

Screen 9 - Channel Settings

Step Four – Amend Your IVR Bot
This step is optional! But if you decide to use the “Automatic – explicit” approach then you’ll want your BOT to ask the customer if they are prepared to complete a survey at the end of the call.

Tip: I struggled a little with Microsoft’s instructions for setting up “automatic – explicit” surveys. I think the approach documented for setting the va_SurveyConsent variable wasn’t 100% correct. Here I will document my approach, in the hope it helps you.

You can see that I have added a question into my Bot … I did this in my greeting topic, but you could position it anywhere that is logical for your Bot. (Maybe in the escalate topic!)

My question prompts for a Boolean variable I called “va_surveyconsent”. Based on the result of this I call an action called “Set survey consent”. I’m simply setting it to my “local” variable called “va_surveyconsent”. I think the action is then setting the pre-defined global variable of “bot.va_SurveyConsent”. I guess this is needed as within a classic PVA Bot we cannot set variables. Hence, I assume the action is using the Bot Framework to take care of the variable for me.

screen 11 - survey consent

Below you can see that I have added the “Set survey consent” action for both branches of my condition. Both set a value to the Boolean variable I used in my question. And then acknowledge this to the customer with a message.

Screen 12 - Consent action

I made one additional change in my workstream. (This might not be essential!) I added “va_SurveyConsent” as a context variable. Something that I suspect could be useful if you want to use the fact that the customer has agreed to a survey in your routing logic.

Below you can see that within my voice channel workstream I have scrolled down to the advanced option and added my context variable. (Tip, I suspect this is case sensitive so enter exactly as shown.)

Screen 13 - Context Variable

Step Five – Configure Human Initiated Survey
The logic for human initiated surveys is actually pretty simple. We first create an advanced queue named something like “Voice Survey Queue”. (As shown below)

Screen 14 - Advanced Queue

Next we add one “user” to the queue. Your Bot for the virtual survey.

Srceen 15 - Queue Users

Now you just need to instruct your agents to manually transfer customers to this queue if they’d like to trigger the survey!

Below you can see how my agents can select the transfer option and then manually transfer someone to my “Voice Survey Queue”. They’d obviously do this right at the end of the conversation with the customer!

Screen 16 - User experience

Viewing Survey Responses
You can use the analytics option on your Bot to view the survey responses and download into Excel. I think the results might update roughly once per hour, so you could have to wait to see the latest results.

The conversation between the human and the BOT is held in a chat transcript field. That is fine but if using Excel you might need to be creative on how to extract the data you need.

Screen 10 - Analytics

Possible Enhancements!
Viewing the survey responses in the BOT analytics is useful but I would suggest that writing the data back into your Dataverse might be preferable. As then you could view the results linked to conversations or contacts etc. And maybe create a dashboard or two.

I may publish a second post explaining this concept in more detail soon!!

Sentiment Alerts!
Whilst testing I had sentiment alerts configured for the supervisors.

When completely a survey I left a negative response, I found that the negative words could trigger a sentiment notification alerts to my supervisors.

I guess because the real-time sentiment analysis is still being applied as the customer is talking to the Bot. Whilst these alerts are valid the supervisors are unlikely to be able to react and therefore the notifications seemed to serve no useful purpose.

I doubt there is a way around this, other then just turning off the sentiment notifications! But I have mentioned this behavior here so you are aware this could happen.

Hopefully you have found this post useful and now understand the basics of setting up a voice survey. Enjoy!

Leave a comment

Trending

Website Powered by WordPress.com.