What are bots and why would I want to build them?
Bots are an incredible form of technology that enable you to efficiently interact with co-workers and employees. Instead of spending an inordinate amount of time searching through your company Intranet for that one specific form you need to fill out, employees can simply converse with a bot to find the information they need.
Bots guide users far better than any standard application. They do this by prompting the user for information, asking for clarification, and then extracting critical data that can be fed to back-end business systems – thus improving the quality of data, and reducing user error.
For example, instead of directing employees to browse an HR portal to read up on vacation policies, and from there having them log in to a separate HR system to request those days off – you can simply implement a bot that informs the employee how many hours of vacation they have remaining for the year and walk them through the process without having to even leave Microsoft Teams.
Plus, because bots employ conversational speech, users don’t need to be technically savvy. They don’t even need to speak a particular language, thanks to easy-to-use Azure services that can accurately and efficiently translate messages to and from your employees.
Another benefit of using bots for your organization, is the fact that they can incorporate artificial intelligence to determine a person’s intent. Meaning, someone can ask a question in multiple different ways, misspell words, or even use acronyms, and the bot should understand what they are talking about.
No other tool in your organization can reduce frustration like a well-built bot.
But isn’t building a bot complicated?
Building a bot used to require developer skills – writing complicated code, deploying it to a resource like Azure, and then performing cumbersome configuration steps to ensure it functioned properly.
Even today, you need competent developer skills to take full advantage of services that help you build complicated bots, such as Azure Bot Service. You must be able to run emulators and get to Azure resources, careful as to not to spend too much money on those resources. It can be way too daunting for your average IT pro, not to mention quite expensive if you aren’t careful.
This is where Power Virtual Agents (PVA) for Microsoft Teams comes in. This app enables you to create exceptionally powerful chatbots without having to write a single line of code. What’s more, you don’t need direct access to Azure resources to deploy these bots. PVA for Microsoft Teams can be deployed to your organization by anyone with access to the Teams admin center.
Read more: Deploying Custom Teams Group Policy Assignments
But isn’t building a bot expensive?
It’s true that if you are not careful, you can spend a lot of time and money building and deploying a bot. The Azure cost alone can be thousands of dollars a month, depending on your needs.
That being said, Power Virtual Agents for Microsoft Teams is currently offered at no additional cost as part of Dataverse in Microsoft Teams for most Microsoft 365 users, and you don’t even need to pay for additional Azure resources. If at some point you find that you need more power and more advanced features, you can choose to upgrade to the paid version of Power Virtual Agents.
Creating a bot
Perhaps you are intrigued but don’t know how to get started. You can create a bot in just three easy steps, and below I’ll walk you through the basics.
Step 1. Launch the PVA app.
If you have Microsoft 365 license and are not in a government or education SKU, you will likely have access to Power Virtual Agents in Microsoft Teams. You must access the app in Teams. Do not go directly to Power Virtual Agents or you will be directed to the paid version.
In Teams, click the three dots (…) in the left rail and search for Power Virtual Agents. If you don’t see it there, click “More Apps” and search for it there. If you still do not see it, reach out to your Teams administrator for help. After you launch PVA for Teams, click the “Start now” button:
Step 2. Specify a team for the bot.
You will be asked to specify which team the chatbot is for. Now, this can be a bit misleading. When you create a Power Virtual Agent for Microsoft Teams, you can only deploy the bot to the left rail in Teams, and you cannot deploy it to a specific team – one of the limitations of the free version of PVA. You do need to specify a team though, because this is where the Dataverse environment will be created to store the resources for your bot where you can work on the bot with other owners of that team.
Step 3. Create a chatbot.
Next, give your bot a name and click the “Create” button. That’s all there is to it! Your bot is now created with a set of standard responses, and you can chat with your bot immediately in the test interface on the page.
Customizing your bot
Now, let’s take a quick look at a couple of ways to customize your bot.
Topics
A topic is like a workflow your bot can perform for a specific request. Topics are initiated by trigger phrases — a question or comment that the user sends to the bot. For instance, when someone says “hello” to your bot, that will trigger the “Greeting” topic. Saying “Bye” to the bot will trigger the “Goodbye” topic. I highly recommend you click the “Topics” link and explore the out-of-the-box topics.
The important thing is to add as many trigger phrases as possible for each topic to help ensure your user is taken to the correct one. Try to consider all the different ways a person might ask a question. For instance, if you have the topic “Vacation Requests,” you might have of the following trigger phrases:
- How do I request time off?
- How do I request a vacation?
- Can I take a day off?
After you have triggered a topic, the work performed by that topic is determined by what is in the authoring canvas.
Authoring canvas
When a user triggers a topic, what happens next is determined by the authoring canvas — a visual representation of a flow of your topic. The authoring canvas is where you do all the work that brings your bot to life. You can present messages to users, prompt them for questions and create branching logic based on how a user answers a question. In addition, you can call actions that execute Power Automate Flows to perform complicated business logic to get data from other systems, store data in other systems, or trigger some other business process.
The possibilities are endless! I suggest you review the built-in topics for a thorough understanding of what can be done with them.
Other options
There are also “Entities” to help with data extraction, as well as a few other options to make the most of your bot — all without writing a single line of code.
Publishing your bot
When you are ready to share your bot, click the “Publish” button. From there you can either share your bot with specific people or submit it to a Teams administrator who can deploy it for your entire organization from the Teams admin center. It really is that easy!
No more excuses!
You don’t need to be a developer, and you don’t need direct access to Azure resources. You can get started for free in Dataverse and upgrade later if needed. There’s no reason to not create a bot for your organization today.