(upbeat music) (gears whirring)
- Coming up, we take a look at how anyone can easily build
automated, no code, chatbot experiences
with power virtual agents, which gives you a fast,
intuitive, and AI-rich way to create intelligent bots
that make decisions and take actions.
So, we're joined today by Emma Archer
from the Power Virtual Agents team.
Welcome to Microsoft Mechanics.
- Thank you for inviting me.
- Thanks again for joining us today, Emma.
Now, before we get started and go further,
for those of you who are new to Power Virtual Agents,
it's Microsoft's newest member of the Power Platform,
our family of tools for low
to zero code modern app development, process automation,
business insights, and now, chatbots.
Now Power Virtual Agents:
this isn't your average chatbot creation service.
But what's different about this approach?
- A few things, Power Virtual Agents is a SaaS,
which means there's no set up involved,
you just sign up and start building your chatbot.
And we're not talking about building a simple Q&A chatbot,
it goes way beyond that.
Quite literally, anyone can build a chatbot,
our graphical user interface makes it super easy
to get started.
You can seed your chatbot with FAQ content
from existing websites, author topics with natural language
using entities, variables, and slot-filling
to jump to pertinent questions.
The chatbot can take actions based on specific conditions
using Power Automate and connectors
to connect to your backend systems.
And you can extend your chatbot
with Azure bot framework skills.
You can also publish, with a single click,
to different channels.
And you can monitor the chatbot's performance
and continuously make improvements over time.
- And what I really like about this approach
is that it really puts the power in the hands
of subject matter experts.
They don't have to be able to code, or be a developer,
or have data science skills.
But can we see one of these in action?
- Absolutely.
So, let me start by showing you the end customer experience,
and then I'll show you how to build one.
I have here a chatbot on the Contoso flooring site,
and it's designed to help customers get a cost estimate
for a new floor.
So let's go ahead and do that.
I'm actually interested in hardwood flooring.
And I am a returning customer,
so let me pop in my email address
so it can go ahead and look up my details.
And you can see it welcomes me back
and asks me to confirm that home address.
It's correct.
And now it's offering me the next available time slot.
And that works for me, so I'll go ahead and take it.
And everything's scheduled.
I now have an appointment with Beth
and I'll get an email confirmation.
- And this is a really natural set of interaction,
and kind of a natural experience and conversation.
Now the chatbot isn't just conversing,
it's also taking actions too.
So there's a lot here going on behind the scenes,
but how did you build it?
- The build experience is really the best part.
It's super easy to get started.
You just go to powervirtualagents.microsoft.com
and click on the start free.
And once you've signed up
you're going to land in the Power Virtual Agent's designer,
and you're ready to create your first chatbot.
You simply give it a name and click Create.
Now, I've already created a chatbot
so I can go ahead and get a headstart on the design
by ingesting content from an existing FAQ site.
So I'll just copy the URL, come into Topics,
Suggested, Get Started, paste that URL and click Start.
Now, it'll take a minute or two to ingest the content.
So, you can see here that the AI has successfully extracted
the content and created suggestions to review.
Now, I can either choose to promote en masse,
or more likely I'm going to review individually
and determine which ones need a tweak before I accept them.
- So how did you enable then
the natural language conversation aspect of that?
- We're using natural language understanding.
Power Virtual Agents is built on years of AI research
and applied science.
We have a universal language model
that we've trained with a huge amount of data.
It's been optimized for the way that people use language
when interacting with chatbots.
And that enables us to focus on what you mean
rather than what you type.
You can see here we have several trigger phrases
for our flooring estimate topic, and it's a good idea to use
between five and 10 to train the natural language model.
I'll type in a phrase
which is somewhat semantically similar.
I want to get a kitchen flooring quote.
And you can see that, even though my wording doesn't match
any of the trigger phrases, the chatbot understood
and successfully launched the correct topic.
- So it's pretty easy, then, to get started.
When you showed us the chatbot,
the experience on the website itself,
the customer's actually specifying a specific floor type.
But how is it able to recognize really
what the customer was requesting in this case?
- Well, our natural language understanding helps with that.
We have what we call an entity,
and that's basically a category of information
such as their phone number, city, zip,
or even a person's name.
And Power Virtual Agents
comes with a number of predefined entities,
and you have the ability to define your own custom entities,
which is what I've done here with flooring types.
You can see that I've specified the various options
that are available to get a quote about.
And I've added a couple of synonyms for hardwood.
So, how is this used,
this custom entity, within the topic itself?
Within our flooring estimate, in the question node
you can select the custom flooring type entity
from that dropdown list.
And you can also have the option to define what buttons
are available to the customer.
For example, if I perhaps don't want to show carpet
as an option, I can deselect it.
You can also see here a couple of conditional branches
for hardwood and laminate, but I have nothing for tile.
So I'll go ahead and add a conditional node for that
and it will create a new branch for me to populate.
- And all of this kind of helps make that bot interaction
more natural, right?
- It does, and now I've added my entity
to the topic dialogue tree, there's more I can do
with a capability called slot filling.
This gives the chatbot even more flexibility
in how it interacts with you.
For example, if the first thing you asked for
is a quote for hardwood flooring,
it can skip over that question about what type of flooring
and go directly on to the next one,
making the interaction appear more human.
- So this makes the process a lot more efficient
and the interaction itself is more intelligent.
And it was really able to see and also take actions,
and it was able to set up, in this case, an appointment
with a flooring specialist, but how did that all work?
- Great question.
This is where Power Automate comes in.
It makes it super easy to perform actions.
You can see we're in the flooring topic right now,
and because we have track between topics switched on,
you'll be able to see our progress across the topics
as we continue our conversation here in the test window.
I click hardwood and it asks me if I'm a returning customer,
and I say yes, and, at this point,
it's going to navigate us over to the other topic,
schedule an appointment for returning customer.
And this topic is calling two Power Automate flows.
The first takes the email address that I provide
and does a lookup to the Dynamic 365 instance
to find the customer information and confirm it back to me.
And the second is going to look up
the next available time slot for an agent
to do a home visit.
And you can see here, this is the schedule appointment flow,
and we can deep link into Power Automate
to make edits as needed.
- Okay, so now you've got everything built,
but how do I go about then publishing the chatbot?
- Once you're done with all the authoring
and testing of your chatbot,
you'll want to deploy it to the appropriate channels.
And you can see here the available choices,
the most common being custom website.
And you can navigate to Publish, click on the Publish button
to deploy the latest version of your content
to any of the channels that you've already got configured.
- Okay, so you've basically written once
and published anywhere using supported connectors,
but now you mentioned before
you can also look at the metrics
that are kind of behind the chatbot experience.
- That's right.
So, with Power Virtual Agents
you can monitor the performance of your chatbot
and determine what changes you need to make to improve it.
Probably one of the most important things.
On our analytic summary page here
you can see the total sessions for a selected time period.
A session basically starts when an end user starts chatting
with a bot, and it ends when a problem is either resolved,
escalated to a human agent, or abandoned.
The engagement rate is a breadth measure,
and it shows you what portion of the sessions
the chatbot had content for.
I.E. was able to trigger a topic for.
To review the unengaged sessions,
you can go to the sessions tab
and download the chat transcripts
to review what topics potentially you need to add.
The next three measures show you what portion
of engaged sessions were resolved successfully,
versus escalated to a human agent, versus abandoned.
And, obviously, the higher the resolution rate
the better performing your bot.
You'll want to focus in on the topics
that have a high escalation rate and a high abandoned rate.
And review the chat transcripts to determine
what improvements you can make to those specific topics.
- This is really good to see really how much easier it is
now to build these types of intelligent chatbots
from scratch, but what's next for you then and the team?
- So we're adding a multi-user capability
so you can bring in numerous content experts
to author the chatbot at the same time.
And we're also adding the ability to create the chatbot
in one of 20-plus languages.
And a lot more in the coming months.
- Thanks again so much for joining us today, Emma,
and really that introduction to Power Virtual Agents.
Now, if you're interested in testing this out for yourself,
you can go to powervirtualagents.microsoft.com.
Thanks for watching, everybody,
and we'll see you next time, goodbye for now.
(upbeat music)