Empower Your Help Desk by Creating a Bot…with ZERO Coding!
Many help desks face the same challenge: Answering basic and frequently asked questions. Every IT help desk receives questions like, “How do I reset my password?” or “Where do I get desktop support?” Most of the time, IT departments set up a FAQ page on their intranet and ask employees to go there…only to find out that employees tend to ignore, forget, or not even know where to find said FAQ page. At first, the FAQ page works great … until everyone forgets about it. Then the help desk is back to responding to emails or instant messages about the same basic things. How much time do you think your help desk wastes with these simple requests? How much does it drive them crazy?!
There is an answer. In fact, it’s never been easier to kill two birds with one stone: Alleviating the help desk’s need to answer these questions, and building a culture that allows your employees to use the tools that they are comfortable with to get their questions answered…email, instant message, etc. Welcome to the age of Bots!
Bots have been around for a while now, but often companies don’t want to invest in them for various reasons. Too complicated to develop for a small perceived value. Usually involves challenging technology. Costs are too high. Just not worth it. But Microsoft has made this so easy to do that it really doesn’t take much to get started! In fact, it’s just a two-step process. First, we “Create your Bots Knowledge Base”, then we “Create your First Bot”.
Step 1: Create your Bot’s Knowledge Base
The first step is to create a Knowledge Base (KB). You probably already have one—an FAQ or list of common questions and answers you deal with. If you have one, you can even use that as a starting place to seed your Bots Knowledge Base.
- Go to Microsoft’s QnA Maker Website. This is a Microsoft site that will literally walk you step by step through the process. Log in (sign in) with your corporate Azure AD credentials to get started.
- Review your existing Knowledge Bases by clicking on the “My knowledge bases” tab. Assuming you don’t have one, click “Create a knowledge base” to get started. This tab will walk you through the basics of creating your first Knowledge Base. Note: You will need an Azure Subscription deployed, and you will need to have access to it to execute the remainder of these steps.
- On the screen, you will be presented with their “Step1”… to “Create a QnA service”. A QnA service is a “Question and Answer Service” that sets up a repository of questions and answers. Simple enough! When you click “Create a QnA service”, it will open up the Azure Portal and present you with a technical dialog to fill out to deploy the required Azure Resources.
- Fill out the ARM template that has been presented to you. For someone comfortable with Azure, this will be self-explanatory. If not, read on:
- Name: This is the name of the service as it will appear in the Azure Portal and QnA portal, so choose something that describes your Bot and will be recognizable.
- Subscription: This is the Azure Subscription that you want things deployed to.
- Pricing Tier: This is how “much” it will cost you for the Service. You will be presented with a few options: For most situations, the F0 (free) is good enough. If you think adoption will grow, you can always choose a larger one later if you want.
- Resource Group: This is the “Group” of resources for this Bot that will show up in the Azure Portal. Choose a new group (or existing) and deploy everything into this group. This will enable you to keep things nice and organized.
- Resource Group Location: This one is somewhat important. You want to pick a location that is near your user base for the best performance. If you are in the Eastern U.S., pick an east option. The choice is yours!
- Search Pricing Tier: This is for the search service and is what the Bot uses to search your knowledge base – similar to how you likely use Google when you are searching for stuff.
- Search Location: This is where the search service will be located. Choose the same location as your Resource Group Location.
- App Name: This will be the name of the Azure PaaS (Platform as a Service) Web Site hosting location. There is a web site that hosts your Bot and your Knowledge Base service so that multiple channels (such as Teams, Cortana, etc.) can interact with your Bot.
- Website Location: This is where the web site will be located. Again, choose the same location as your Resource Group Location.
- App Insights: This is for logging and exception handling, so that an IT person can see “what went wrong” if something fails.
- App Insights Location: Same as the other locations; choose the same location as your Resource Group Location.
When you are all finished, click “Create”, and Azure will deploy your resources! Now sit back, grab some coffee, and give it a few minutes to work its magic.
- Go back to your other browser window, the one with the QnA Maker portal, and we are going to go to their “Step 2”. Click on “Refresh”, and it will pull in your new deployed resources! Select your Azure Directory ID from the first drop down, the Azure Subscription you deployed into, and the name of the QnA service you deployed.
- Next, go to their “Step 3” and create your KB name. This is the name of your knowledge base. Normally, you want to call it something related to the types of FAQ you are going to seed it with. You can have multiple KBs, but that is more advanced than this covers… so, for simple deployments, create one KB per Bot. We will use “Greg-Demo.”
- You have the option to seed it with data during this dialog if you have it ready in their “Step 4”. Most of the time, you won’t have it right now, so you can skip uploading source documents. But you also have the option of pointing to a FAQ URL. You can always come back later and add data, so we will skip uploading FAQ data for now.
You also have an opportunity to give your Bot a personality! Microsoft offers a few prebuilt personalities, like Witty! Point is, people will want to play with your Bot and ask it silly questions, like “How old are you?” These setups will allow your Bot to respond to common queries like that. Have fun with it! You can always change it later, too.
- Create your KB by looking at their “Step 5” and clicking “Create your KB”. The Wizard will create your KB structure and deploy it for you. This will be the basic repository of FAQ for you to use! When it is done, it will bring you to a page where you can see what it deployed. You can add new QnA pairs, modify existing ones, etc. This is the “Edit” page for your Knowledge base.
You also have the opportunity to test your Bot directly from here. If you click “Test” in the top window, it will open a chat window where you can test it out and see if you like the interaction. You can use this to tweak the questions and answers, add additional formats of the questions in case it may be asked differently, etc.
Assuming you are happy at this point, the next step is to “Save and Train”. This will save your KB and “train” the AI behind the scenes to understand your KB. This is where the smarts of the Bot come in…your Bot will begin to learn from your KB and build its skills around how to answer questions. The more you add to the KB and the more it is used by the Bot, the smarter it will get over time!
- Time to publish! Publishing takes this KB live and makes it available for your Bot. Up to this point, you have been operating in a “pre-prod” basis – meaning it’s not live yet. That means you can be working on the KB before you publish (in parallel) and stage changes. Once you publish, it’s like “releasing to production”.
Step 2: Create your first Bot
At this point, you now have a Knowledge Base your Bot will use to answer questions from your team, but you are not done yet. Next, you need to create the Bot itself. This is the part that is usually the most intimidating, but Microsoft made this easy for you.
- Once you have Published (the last step from the previous section), you will land on the Bot page. Assuming that you have never created a Bot, the first thing we will do is click “Create Bot”. Once again, this will open the Azure portal and give you a template to create your Bot (as before, you need to have permissions to your Azure Subscription to execute this step).
- Fill out the Azure Template to create your bot. This will feel very familiar to those with Azure experience, but if not, here is what you are filling out:
- Bot Name: This is the name of your actual Bot. This name will be used as default for its display name as well as the name in the Azure portal. While you can change the display name later, the Azure Name is not editable (unless you know Azure PowerShell or Azure CLI – in which case you can change this later).
- Subscription: This is the Azure Subscription you want things deployed to.
- Resource Group: This is the “Group” of resources for this Bot that will show up in the Azure Portal. I strongly encourage you to select the Resource Group name that you used previously.
- Location: This is the location where your Bot will be deployed. Again, choose the same location as your Resource Group Location.
- Pricing Tier: This is how “much” it will cost you for the Bot. You will be presented with a few options… for most situations, the F0 (free) is good enough. If you think adoption will grow, you can always choose a larger one later if you want.
- Language: Behind the scenes, this will deploy an Application. Every Application has a programming language. Select a language your development team will understand. Don’t worry – there is no code needed for now, but someday you might want to enhance your Bot… and you can download the code down the road!
- QnA Auth Key: This is the “key” from your QnA Service from earlier. This tells the Bot where your KB is and how to access it – don’t worry, it is prepopulated on your behalf; you don’t need to change it.
- App service plan/location: Since your Bot is still a program, it needs to be hosted. Choose or create new a service plan for hosting it. Its PaaS, so you only pay for what you use!
- App Insights: This is for logging and exception handling, so that an IT person can go see “what went wrong” if something fails. Make sure you leave it “On.”
- App Insights Location: Same as the other locations; choose the same location as your Resource Group Location.
- Microsoft App ID and password: This is the security bit. In Azure, your Bot has an ID just like you. Your IT department can authorize your Bot to communicate with other services like Dynamics or Office 365. So, either your IT department needs to create an App ID for you, or you can select “Auto” to generate your own.
Once you are all finished filling it out, click “Create,” and off and away, Azure will create your Bot! Get another cup of coffee and start thinking about how much coding you had to do for this…none!
- It’s time to test your Bot! Now, the real fun can start… you have just deployed your Bot, and it is wired up to your KB—so, let’s test it! In the Azure portal, click on “All services,” and in the search box, type in the name of your Bot. Find it and select it.
This will bring you to the Azure Bot page. From here, you can download your Bot’s source code, or more importantly, test it. Click on the “Test” tile in the Overview tab.
In the Test blade, you are presented with a Web Chat. Here you can interact with your Bot, make sure everything is working and that your Bot is ALIVE (well, you get the point).
- Time to make your Bot available for your channels to communicate! From the Azure portal, if you click on the “Channels” link in the left handrail of the Web Chat window, you will be presented with all of the channels you can make your Bot available to. You can make your Bot available for Teams interaction, have it integrate with Teams, work on Facebook, use Slack, and even answer Email like a real person! Each Channel will have different options for configuration, but most are very straightforward. Each Channel will have different requirements, and that is somewhat outside of the scope of this blog, but contact us if you want help!
Pulling it all together
You now have a fully functioning Bot, ready to answer questions, learning from a Knowledge Base that your business or IT teams can maintain. The QnA Maker Portal is separate from Azure, and you can separate responsibilities of those who maintain the KB from the IT settings of the actual Bot. It’s as simple as maintaining a list!
Once you have your first Bot published to some channels, you will get feedback from those that interact with Bots. Bots should feel as close to humans as possible, so continue to update its KB to make it smarter.
Eventually, you might want to extend the Bot to get data from other systems, like Dynamics 365: “Have we talked to Customer XYZ lately?” or “What is my contact’s phone number?” While those types of actions are beyond simple FAQs and require some minor coding, don’t worry: AKA is here to help! Reach out to our Cloud Experts and we can get you started on the road to building your help desk Bot.