EngagerBot

Introduction to Bots in Microsoft Teams

– [Jethro] Hey, my name is Jethro Seghers and I am a Senior
Customer PM for Education. In this session of 30 minutes we're going to talk about the introduction to bots in Teams. If you wanna reach out
to me you can do that through using Twitter and my
Twitter handle is @jseghers. What we're going to look
for in this 30 minutes is four things. First of all we're going to look at bots and why bots are important
in the collaboration and communication methodology of today. We're really going to
deep dive in the use cases that you will see for bots in education both for K12 and higher
education you're going to see that using bots and new
chat-related technology is actually beneficial. So we're going to do
a deep dive into that. I'm also going to show you how easy it is to create
a bot from scratch in less than 30 minutes. So that way you can actually use this as a step-by-step guide to
go back to your organization and start working with bots.

And then finally we're going to look at what additional
information there is for you to see how we can actually use bots and how you can do it in a very easy way. So let's get started
first with what are bots and when we think about bots we always think about
very complex algorithms but in reality they're just
automated intelligent programs and they're actually providing
us a number of things but most importantly it's information in a natural and comprehensive language. So we're going to use pretty
much our natural language, the way that we do conversations, the way that we normally
would ask a human being to provide information and
bots are intelligent enough to both understand what we're asking but also provide it in an
equally as comprehensive language back to us. Of course we only want information that is interesting to
the user based on queries or status updates that
are related to the person who is requesting the information. And then finally it needs to
be in an easy to find location.

It can't be something
that you have to look for before you can start
asking those questions. So those four components really make up what a modern bot is and that is something that we're going to start
exploring in this session. But why are we using bots? When we look at it how were we
used to finding information? And y'all are going to recognize it if we look for information
either if it's on the internet or it's on a specific website, what you're going to see is
that we always need to look with search terms.

It doesn't matter if
it's on Bing, on Google, or even more complex search
like SharePoint search or even a website search you
have to know how to use search, you have to know what the operators are. You need to know really
how to use that search to find the information
that is relevant to you. Additionally, what is also a problem is that the search engine doesn't really know anything about you. They don't know your user context so they're only going to
be able to provide you generic information based
on your search term. That way of technology, that way of finding
information has changed. When we look at how we
find information now we are using more our natural language and it doesn't matter if you
have Alexa, Google, Siri, or even Cortana, what we're going to do is ask those virtual assistants, those bots to provide us with information. It could be, hey Alexa what
is the recipe for an apple pie or hey Cortana, when does my plane leave? We're not going to go anymore to the scheduling of the airline to find when that information is.

When we need to know how
long traffic is going to be on our way to the airport, we're not going to go to
traffic.com, provide in our source, provide in our destination, and do the calculation on our own. No, nowadays you can
actually get the information just based on a status update. Maybe you've seen it but if you have a meeting
in Outlook for example actually Cortana is going to tell you be careful your appointment
is at that location, traffic is heavy. It takes about 25 minutes to get there you might wanna take off and just make sure you get there in time.

And this is of course
our virtual assistants but we also see more and more on websites that popup coming with a
let's call it a sales bot or a marketing bot where
they're going to ask is there anything I can do for you? What are you looking for? People who write these bots
don't want you to go in and use the search box because we know once we have to search
for something they leave, we go away from that website. So that's not something
that we're looking for. So the way that we're finding information, the way that we're looking
for information has changed. We're looking at it more from
a conversation perspective. And good bots, bots for example that are a
part of Microsoft Teams as well are going to accommodate
that in a very specific way.

So if we know that people find information in a more conversational way,
what are some of the use cases that we're going to see
specifically in education? Well, you can actually, and this is just to trigger some ideas, to give you some ideas of what we've seen both in universities and
in K12 school districts where a more conversational
approach is being used. So let's start with the students first because there's a lot of information there that we can provide through bots and also students are more common, are more used to using technology that is cutting edge like bots. People who are on staff and faculty kinda still
rely on search engines and kinda rely on that good old search box that you find in websites. Students nowadays, they're so ingrained with using virtual assistants that using a bot is so natural to them.

So when we think about
students what are typical bots that you can find in
a student environment? Well think about when
you're a first year student. You go to university, you go to college or maybe you're in high school right? You're prepping to get
ready for your studies and you need information. Where are you going to go? Where do you find all that information? Where do you find the
policies around your dorm? Where do you find the cafeteria? Where do you find where
you need to get your books? So one of the things
that we see quite often as a bot scenario is just a
bot that provides new students with information they might need, dedicated to first year students to make sure that their onboarding process is as seamless as possible. And then you can start extending it right? We talked about first year
students, new students, but you could also provide a lot of campus practical
information through bots and in the demo that I'm
going to show you in a bit, that is really for example
that we're going to focus on.

If you need to be at a certain
auditorium for a lecture how are you going to find it? Where is that information
about that campus? So a bot specifically can actually provide a
student that information. But also think about social student life. If you wanna know for example where the next football game is there's always a bot
available that you can ask it but if you wanna know for example which student is in your same
class you can do that as well. And then one that I
think is super important that we tend to overlook a lot, and this is something that my
coworker Dominique Williamson is working on with some of his customers is a student mental health bot.

When students are stressed and
need some additional support where are they going? Where do you find it, right? Using or dealing with
mental health problems has sometimes a stigma and you
don't always wanna reach out to a physical person to get that. So having that first
interaction with a bot might be something that
is interesting to them. So that are some of the scenarios that you might have
specifically with your students. When we look at faculty
is if you're a teacher in the first period of biology maybe you wanna provide a Q and A bot specific around that topic. Maybe you wanna provide a bot that tells students about
osmosis or photosynthesis or whatever it may be that
fits within your curriculum. Another scenario where
you can use bots for is for example lecture scheduling. I already mentioned it with the
campus practical information but if you're using certain auditorium you wanna make sure that
people are aware where it's at and nothing is as easy as
going to a bot and saying hey bot, where is this auditorium? Also when we think about
bots, task reminders.

Kinda like what I brought
up in the beginning when you need to go to the airport or to a meeting for example and it reminds you that traffic is heavy. Those are specific bots
for a task reminder that can easily help you and to top it off some bots that will find
a specific meeting spot that is available for all the
people that you worked with. And then finally from a
institution perspective think about new employee onboarding. If you're new, kinda like a new student and you have to get
used to all the policies within the university
or the school district it's not an easy thing to do. It might become a little
bit overwhelming even. So that is exactly what
a bot can help you with is providing that
information to new employees to make their onboarding a lot easier. Also think about vacation day requests, think about benefit information, and finally also FAQ
consolidation and that's something I'm going to show a
little bit more in depth in the demo that we're going to build.

But every school district,
every university, every college has multiple FAQs depending on the topic. So if you wanna find information
you already need to know what the FAQs that you're
actually looking for. And within that FAQ you need to find what the specific question is
that is most relevant to you and if there's multiple sections in the answer of the question then you have to go in and
see what is relevant to you. How do we bring all these
FAQs together in one bot? And that's exactly what we're
going to do in our demo. So what does it look like
from an end user perspective? So what I've done here is
really created a simulation and I named my bot the Ask Me Anything bot so every type of information that we need is a part of that bot and you see that it really
starts conversational.

I say hello to the bot,
I ask how the bot is. The bot is responsive, tells
me exactly what I wanna know and then I get into the
information that I need. Like for example where
is the Kontos auditorium and you see that I get an image there. Of course, being polite
as I am, I thank the bot but I also can click on
the map that I see there and I get more in detail where
exactly that auditorium is. So I don't need to go
to my campus information on some website. I don't need to go to contact details, try to find where the map is, or I don't need to go to maps.bing.com fill in the address to find out where that specific auditorium is if it's already even on Bing.

Using this bot I can just use
Teams, start a conversation, ask for the information that
I need, and get it back. Now how easy or how difficult
is this now to set up and you're going to see
that it's pretty easy. I'm going to show you how you can build exactly what you see here
with zero line of code. There's no code involved whatsoever. So how does this work? What do I need? So there's a number of services
that you're going to need. The first one is what we
call our Q and A Maker and the URL is qandamaker.ai and that is going to be the location where you're going to store
your question and answer pairs. That's where you're going
to store all the questions that you think your end
users are going to be asking and the questions that you wanna provide. We're also going to show
you how you can reuse all these FAQs that you
already have available on your website so that you don't have
to start from scratch. Also we need the Azure Bot Services and you're going to see it's a lot easier than just you don't really
need to know a lot about Azure.

A lot of the information
is pre-populated for you so you're going to see it's
a very easy thing to do. Of course you need the
people who need information. They're going to be your end
users of your specific bot and of course, like I
said in the beginning, what is one of the
characteristics of a good bot is easy to find, easy accessible, and that is exactly what
you can have with teams and that's one of the important things why we always stress that
everybody has access to teams. If you provide access to teams they can start up the conversation, they can make sure that
they can ask the questions and if you make even a bot
available in the team itself then it becomes very obvious that being able to create a team is very important in this scenario. So how does it work? Well we start in our qandamaker.ai and so pretty much what you see there is we're going to create a knowledge base and that knowledge base
is exactly what it says.

It is a content of knowledge. It is a combination of
questions and answers but what we're going
to do in the beginning, we are going to create a Q and A service and that is a service that lives on Azure. When I click on this button I will be automatically taken to Azure. Azure will be filled in with
all the information that I need and pretty much what you need
to do here is give it a name.

How do you want your bot to be named and also what subscription
that you wanna use. Then finally it's
deciding how many requests do you think you're going to get and then where do you want this to live. So you know that we have
multiple Azure data centers within the US but globally as well. So pick the data center
that is local to you or makes more sense to you. So that way you know where your FAQ or Q
and A is being deployed and that way you can actually
work up to that information. When you're done you're going
to see that automatically that information is being
populated in your organization and you're going to see there
that my Ask Me Anything bot is now available. I'm going to name my knowledge base and now I need to populate it and here's where you can actually reuse a lot of the information
that you've done already.

So you see that you can provide URLs. In my example I'm going
to combine two FAQs and you can add as many FAQs as you want and that's going to be the content of my question and answer bot. So I'm going to consolidate all my FAQs, my FAQ for employees, for
institution, for students, for campus life, social life, all these FAQs that I've
built over the years are going to be consolidated in one bot if that is your strategy
that you wanna use.

You can still split them up
in multiple knowledge base but that's up to you to decide based on what your business case may be. And then finally you can
also add a file name. That could be a Word document, a CSV file. Again, you can reuse
what you already have. And then finally if you want to you can also provide your bot with a little bit of a character and here's some
interesting characteristics that you can give your bot. You can make it professional,
enthusiastic, witty. So that's up to you if you
wanna give it some flavor but when you're done with
it you're going to get this. And so you see that in this case everything is being
downloaded from those FAQs and the Q and A Maker actually
turned it into something that is usable from an FAQ perspective. So if you look at number one, number one is a typical
example of a question and an answer pair.

You see there is my
where is my auditorium, my Kontos auditorium? And you see that I'm
actually linking to an image. Below that you see there's
another FAQ I've load in and that is for example
what is the difference between a 32 bit and a 64 bit of Windows with the right information. And if you wanna create new Q and A pairs that's where number two comes in. So you see there where
the at the Q and A pairs and so you can update them
manually, at them manually if you see fit. So if you get information
from your end users saying hey we wanna add a few
questions, can we do this? Absolutely, you go and do that there. Then of course we also have
search the knowledge base. So if you wanna see if a
certain question is covered you can do that there as well.

When you're done with everything we need to save it and train it. So we're going to make it intelligent so that everything can be picked up and then finally if you wanna test it before you turn it into
Azure you can do that as well and there's the test button. So now that we're done with this, success, my service has been deployed and now we're going to
create a bot on Azure that will communicate
with the Q and A Maker. So we click on the Create Bot button and now we're just
going to give it a name, again where it needs to live. Pretty much the same as the Q
and A service in the beginning but this is really the bot
that we're going to be using.

When you're done with the creation this is what you're going to
get and what is special here is that you have a number of channels where you can deploy this bot. We of course wanna deploy it into teams but if you wanna deploy this
same bot in your website you can totally do so. Like you can see,
there's multiple channels where you can provide this bot and make that available to your end users. In our case we're going
to use Microsoft Teams. When we click on Teams it will be opened in
our Teams environment. So we can go in and test
it and as you can see I get the same experience
as what I've shown you in the beginning. So now I know that this
bot actually is functional, it works, and so now we
can start thinking about how do we make this available
to my whole organization? How do we make this available to every single end user I might have? So to do that I'm going to
need a special application. It's called App Studio and
still, like you've seen, still haven't written a
single line of code yet and trust me I will not have to.

I go into my app studio, I'm
going into Manifest Editor which is the second tab on the top, and I'm going to create a new application. I'm going to fill in all my information that I see on my app details
and then on the left-hand side you see under Capabilities you see bots. When I select that I'm going to say I already created a bot in Azure and the only thing I need to do there is connect it to a different bot ID and that is the application
ID that you get out of Azure.

You just copy/paste it
from your Azure portal, make it available here in the
bot ID and then you select what the configuration
of your bot actually is. You will define that
it is a messaging bot, if you want to support
calling bot as well you can, and then of course what is the scope? Where it that bot going to live? Is it a personal bot, is it a team bot, is it a group chat bot, or maybe
a combination of all three. You just select what you want it to use and then you click on Save. Finally you have the test and distribute and so you have three options there.

First option is you install
it just for yourself. So you can use it, you can
test it as the end user, not necessarily from the Azure portal. And finally you have the download and that's the one if you
wanna start distributing it through your organization, you
can download the bot package and make it available to everybody. And if you have created
such an amazing bot that you feel that everybody
in the Microsoft ecosystem should be using this then
you can also submit it to be a part of the team app store. Then we will go through it
to see if it's up to par with the quality expectations
that we have of bots. But if indeed, if you have
a bot like that by all means submit it, then after
verification and certification it will be a part of the
store and other people can use your bot also
in their organization. Now we have the bot, we've
created the Q and A Maker, we've set up the bot service in Azure and now it's time to make it available on the left-hand side in
a navigation of teams.

If we wanna make it available pre-pin it, let's call it for our users,
going back to the scenario for example with the campus information, wouldn't it be cool that
when people log in into Teams that they have that bot
available as an application in their left navigation? Well that's exactly what you can do. So one of the things
that you have available in your teams administration
is what we call setup policies and in your setup policies
you can actually define which applications are
going to be available on your left navigation.

As you see here, I've created
a bot called Getting Started and that is going to
provide all the information specifically for first year
students and so that way everybody who is a first year student will immediately see that bot, will click on it and
get the bot experience that I've shown you in the beginning. So you can define exactly what applications
are being pinned. The only thing that we need to do when we create a policy like that is to assign it to the right users and you can do that as well
in the team management portal. So what we've done is
now we've created a bot that provide us with all the information based on existing FAQs. I didn't have to write
a single line of code.

It was just clicking, copy/pasting the right application IDs, making them available in Microsoft Teams, and now I've even made it
available as a pre-pinned app in my Microsoft Teams environment. So if I log in I exactly
get what you're seeing in this specific policy, I get
all these different buttons and the top-left button
will be getting started. So that's the basic for bots. That's the basic what you can
do with bots as it is today. Of course there's always ways
to take it to the next level and there's a few of them
that I wanna point out.

The first one is one that we
released is called the FAQ bot and it's a GitHub opensource project and the URL is available there. And so what we've done here is
we've extended Q and A Maker that when the bot doesn't know the answer to a specific question
it's being escalated to a human person so
that they can pick it up and provide you with the right
information where necessary. The second thing is being
able to understand more and understand the intent
of the natural language. Sometimes we wanna understand more, we wanna have more complex language. We have a service for that as well it's called Language
Understanding, also short is LUIS and the URL is luis.ai
and it really provides you to get more insights in
specific language usage. And then build your own bot. If you're a coder, if you're a developer, if you're somebody who
wants to start writing code to build your own bot, by all means we have a bot SDK that you can use and Visual Studio is
definitely the way to go. And as always, we have
a number of partners that we love to work with who
are building amazing bots.

One that I like to point out is AddBot and that's really a no-code
bot platform for teams. They're doing an amazing
job with allowing you kinda like what Q and A Maker did but they take it really to the next level and they're URL is addbot.io. Really something that
you'll wanna check out and see if they can actually
deliver what you want to do. But it's really no code, very
important for non developers. Now how do we get started? How do we continue from here? So here are some things
that you wanna know. So first of all, where do we get started? Well, start with using Microsoft Teams for your group collaboration and extend it with what we've seen today around bots.

Get that available, make it available. URL is aka.msgetteams. Evaluate, look at what
we have from collateral. We have a website which we call
Microsoft Teams University, URL is aka.msteamsuniversity and we provide all the
information you need to delivery Microsoft Teams
but in your organization both in K12 and higher education. Learn, we do regular webinars. We are doing regularly virtual events where you're going to learn about new technology within Teams. Make sure you keep track of those. Make sure you register and we
take it to staff, students, researchers, and you find those
on aka.ms/teamseduwebinars. And finally if you're
interested in learning more about bots and teams we
have a lot of documentation on our bots doc. So go to docs.microsoft.com and you will find a lot of information specifically around bots. So this was 30 minutes,
really introduction into bots showing you how easy it is
to create a bot from scratch.

If you have any questions reach out to us. We would love to hear what
you're struggling with or what your ideas are
around creating a bot. If you like this session
keep following us, provide feedback, and if you have an amazing bot
that you've built on your own let us know, always love
to hear more about it and see what it does. And again if you have more
questions just reach out to us we're always happy to help..

Leave a Reply

Your email address will not be published. Required fields are marked *