Within Microsoft’s Omnichannel for Customer Service app with the voice channel we can use a Power Virtual Agent as an IVR BOT. These are powerful, but I have found that as the BOT makes statements or asks questions customer can skip ahead. This can be useful but sometimes we want to ensure the customer hears certain messages in full. In this post I will explain how we can control when a BOT can be interrupted.
I am sure everyone has been confronted with a long message in an IVR. “Press 1 for x, press 2 for y … press 42 for z”. As a user it is sometimes useful to just click (or say) the option you require before the BOT has finished talking.
But on other occasions there maybe messages the organization needs you to hear, for example a compliance statement saying these calls will be recorded etc.
I have also observed a difficulty using BOTs in noisy environments! IVRs used to rely on us just click buttons on the phone keypad but now it is the norm to be able to speak to an IVR BOT. Which is great but if I use my phone in a noisy area, I have found background noise can accidently interrupt the BOT. I have also found the BOT then becomes quite confused as it could be unintentionally hearing all sorts of random information.
In this post I will explain how I have tackled these situations.
In my greeting topic I have several messages I want to ensure are read in full. Not least the one that says “Please be aware calls maybe recorded for training and quality purposes.”.
Normally in our Power Virtual Agent we’ll simple insert a message action. Maybe something like I have shown below. These are very useful but if whilst reading a message someone speaks to the BOT it will take whatever is said as an input for its next question and skip the message. As mentioned sometimes that is useful but not always!
Below you can see that instead of adding a message action in my Power Virtual Agent I have used the “Call an action” option and selected “SendUninterruptableMessage” action.
I now select the variable “UninterruptibleMessage (String)” and simply key in the text I want to use for my message. This will be read out by the Power Virtual Agent in the same was as a normal message would be.
Any “agent” can get confused sometimes!
I had a particular problem whilst demonstrating my IVR … I was busy explaining how the BOT worked as it loaded. It heard me “rabbiting” on and tried to interpret what I was saying. Which, of course, it couldn’t.
To help avoid situations when the BOT can’t understand what is being said, I like to always configure a system fallback. As this topic will be triggered if the BOT gets “stuck”.
You do this from the settings option on your Power Virtual Agent, as shown below.
Once you have added the fallback topic a default system topic will be created for you. I have shown this below. The standard behaviour is to try and escalate you to an agent.
For me, it wasn’t logical to try and escalate to an agent when the whole purpose of my IVR was to transfer customers to agents!
Plus, sometimes, I found that the BOT managed to hear something it couldn’t understand almost straight away. So, customers were being greeted with “One moment. Let me get you more help with …”.
Making my greeting an uninterruptable message, as explained above, helped! But I still occasionally manged to trigger the fallback topic.
In my scenarios instead of the fallback topic trying to escalate to an agent I decided that re-loading the greeting topic and effectively starting again gave a better experience.
With my simple BOT I didn’t have many questions, so this approach worked well for me. You might find that a different fallback logic works for you. But the take away here is that we can customize the fallback logic.
Hopefully this has been a short and simple blog post. But also, one that will help you understand some ideas on how to “polish” your IVR BOT. Coping with interruptions and deciding what might happen if the BOT gets “confused” is important when considering the experience of your customers. Enjoy!