Microsoft have recently published updates to the voice channel which allow us to use the newer style Copilot BOTs in voice scenarios. In this post I will explore some of the voice specific extensions.

Classic Copilots are great! But the newer approach includes many capabilities that will make it much easier for us to create ever more complex IVRs.

FYI: After you have upgraded your voice channel in Omnichannel for Customer Service using these newer style BOTs for voice IVRs and post call surveys becomes mandatory.

My first tip is to always create new voice BOTs using the provided template. On my first attempt I didn’t use the template! With that BOT, after I enabled voice, I found I was missing some of the required system topics. Since then, I have created several BOTs using the template and all have worked correctly.

To use the template, open your copilot studio, select the required environment. Then click create and locate the template shown below.

Now simply give your BOT a name and click create … after a few minutes your BOT will be ready.

As with the old classic BOTs you will need to connect the BOT to your Dynamics environment. To achieve this, first use the settings option and change the authentication to “no authentication”. (As shown below.)

After disabling the authentication, use the channels options. Select to connect to Dynamics and simple click connect. Now … after you publish you BOT it will be able to use as an IVR in your workstreams. (Or as a post call survey BOT!)

In the rest of this post, I will try and reference many of the new features. I will be listing some of the voice specific enhancements which I have found useful. This list might not be comprehensive but will include my favourite new features!

One of the first options to review might be the new voice settings. In the BOT settings you will find a section for voice settings. I am going to guess that you may be happy to leave many of these settings unchanged! But some may be really useful.

I have found enabling a silence detection timeout maybe useful. Imagine someone just doesn’t respond to your BOT, after “n” seconds it might be useful for the BOT to react.  (Or at least just terminate the call!)

Tip: Once selected a system topic called “Silence detection” maybe triggered. You may wish to amend the messaging or actions in this topic.                                                                                                                                                                                                   

Other settings you might want to experiment with are speech collection options.

The “utterance end timeout” setting controls how long the BOT will pause after speed. Basically, after a pause of this length the BOT will assume someone has finished speaking. If the setting is high then the user may notice the BOT waiting. But if it is too low then they may find the BOT assumes they’ve stopped talking if they take a breath!

The speech recognition timeout limits the time the BOT will listen. The default is 12 seconds. But you could increase or decrease as required. Maybe you want to collect a lengthy description in your BOT and 12 seconds isn’t enough.

We can customize how the BOT speaks by adding SSML tags. (aka Speech Synthesis Markup Language.) This controls pauses between words, emphasis or prosody. (aka pitch, rate and volume.)

You can use the SSML tags dropdown to add various options.

With the prosody tag we can control the rate, pitch and volume being spoken. Meaning it might be useful. The possible settings for each are listed below.

You can also enter other tags manually. You might find it fun to experiment with this … I wasted hours playing around!! 😊

Here are some simple examples I tried (to get you started) ….

Top Tiptry asking copilot to give you the SSML tags in the style you’d like.

I found it useful to allow (or not) barge-in on my messages. Sometimes you will want the BOT to speak a complete message. Other times you’ll be happy for the customer to interrupt the message, triggering the next action.

Tip: I have found that not allowing barge-in helps me cope with background noises which might “encourage” the BOT to skip ahead if barge-in is allowed.

Dual Tone multi-frequency (or DTMF) is the technology used with touch-tone phones. By using DTMF we can create an IVR where someone can press “1” for Sales, “2” for Service etc etc.

I typically enable DTMF and voice. So, a user can press “1” or say “Sales”. (etc)

I find allowing the customer to press buttons on their keypad gives a quick and reliable way for them to navigate the IVR. But speech recognition is also useful, as it can be essential for someone who is driving or has accessibility needs.

Below you can see that I have added a multiple-choice question. By selecting to assign DTMF keys to options I can select which keypad option relates to which IVR option.

Another useful option is synonyms. See below that I have clicked on the option in my question, I can now select the “edit synonyms” option.

I can now add multiple synonyms. Meaning in my example the user could press 1, say sales or “need, purchase or buy”.

We can also use the properties option on questions to control other options connected with the behavior of the question and more.

In the question behavior I will often set the “ask every time” option. I do this an BOTs tend to try to skip ahead, if they think they already know the answer to a question. I typically want to force the question to happen!

Entity recognition option allows me to tell the BOT to read out the options or not. Sometimes the options and key-pad clicks are obvious from the wording of my question. Other times I will want the BOT to read the options to the customer. (It would say something like … “You say Sales or press 1 etc etc.)

The voice option allows you to manage if the user can barge-in. (aka give their answer before the BOT has finished reading the question, sometimes useful if the option list is long!)

You can also control how silence is handled for this question.

Another useful option is the number of reprompts. Say you have 3 IVR options and someone presses number 4. Then the question would be repeated. But if they keep entering the wrong answer you might decide enough is enough!! (And trigger the escalate option which might then simply transfer to your agents.)

Another useful option is the DTMF trigger option. Say your BOT reads out a list of options, maybe you’d want to allow the customer to have the options repeated. You could then create a topic with a DTMF trigger that would repeat the options.

Assuming you create your BOT from the template (as I have suggested) then a sample topic called “Main Menu (preview)” will be added. This has a DTMF trigger. Meaning whenever the customer presses “#” the options are repeated.

You might find this link useful as it expands on the DTMF concepts …

DTMF support for your voice-enabled copilot – Microsoft Copilot Studio | Microsoft Learn

Another option that has changed is the transfer to an agent action. As we can now decide if we want to transfer to an agent (in Omnichannel) or to an external number.

As you can see below, when I use the transfer action I can now select agent or external number.

Tip: I can still add a message to the agent, which is useful to explain why the transfer has been triggered.

We also have three new system topics. “Silence Detection”, “Speech Unrecognized” and “Unknown Dial Pad Press”.

Silence detection is triggered when a duration has passed without the user providing any response. You will need to have configured the silence setting I mentioned earlier for this topic to be triggered.

The template BOT includes examples of how these topics might be used. You could just stick with its setup or amend them as requires.

In the voice template BOT silence detection simply says goodbye and ends the call.

Speech Unrecognized is triggered when the user’s speech input cannot be recognized. In the template BOT this topic simply asks the customer to try again.

Unknown Dial Pad Press is triggered when a user’s dial pad input doesn’t match any existing dial pad settings. In the template BOT this contains the same message as speech unrecognized. As it simply asks the customer to try again.

Hopefully my observations around the options available to use with the new style voice BOTs have been useful. I’m sure more options exist that I haven’t covered! So watch out for future post as I might return to this topic. Enjoy. 😊

Leave a comment

Trending

Website Powered by WordPress.com.