Power Virtual Agents (PVAs) are Microsoft chatbots created for the Power Platform. But unlike previous Microsoft chatbots, PVAs don’t require custom code — presenting new opportunities for citizen developers.
If you’ve surfed the web, shopped online or simply asked Alexa for today’s temperature, you’ve probably run across a chatbot. Chatbots provide an automated way for your customers or end users to ask questions and get responses quickly. As automation becomes more ubiquitous, chatbots can help fill a vital bridge between your users and your systems.
In my job, many of my daily activities are simply answering questions from my clients and co-workers. I can guarantee if my bosses could suck out all my knowledge and augment my activities with a chatbot, they absolutely would.
How Can Power Virtual Agents Help?
Power Virtual Agents bring the low-code revolution to your chatbots! The Power Virtual Agent designer provides a visual interface in which you can add Questions, Responses, Conditions and Actions and then publish your chatbots to Microsoft Teams or embed them into a website. By creating PVAs with low code, your development to production pipeline becomes more rapid, making it much easier to refine your chatbots over time.
In addition, chatbots come with a wealth of analytics, so you can monitor and refine the performance of your Questions, Responses and Actions to improve what each chatbot can, and should, handle for your customers:
What If I Want It to Do More?
PVAs bring low-code chatbots to your organization, but they’re not strictly limited to low code. You can extend the functionality of a PVA with the Bot Framework with Skills. Skills are custom-code solutions that can perform a series of actions the PVA can call to perform complex operations — anything from writing to a database or connecting to Azure Services and much more.
In addition to skills, artificial intelligence (AI) capabilities currently in Preview on the platform can perform tasks like conversing with the PVA or automatically suggesting topics to end users based on their previous interactions with the PVA.
These PVAs Sound Cool, But How Much Do They Cost?
The good news is that the PVA licensing model is very simple. For retail, it’s $1,000 per month for 2,000 sessions (a session is a single two-way conversation between the chatbot and the end user). An add-on license is available that allows you to purchase additional sessions for $450 per month for each additional 1,000 sessions. While that may give you some sticker shock, the ease with which you can get PVAs up and running to help your end users makes it more enticing than months of custom coding and testing, which can cost even more.
Is It Easy to Build One?
Let’s make one to find out. In this example, we will create a very simple chatbot to demonstrate how PVAs can help accelerate chatbot creation. First, navigate to https://make.powerapps.com/, expand Chatbots, and then click Create. For this example, we will select the “Basic Conversational Bot” template.
The chatbot we are going to build will help us find information on Power Platform licensing by using the Suggested Topics feature to crawl the Power Platform Licensing PDF as well as the FAQ listed on Microsoft’s website. Suggested Topics uses AI to analyze and recommend the most likely topics that appear in the documentation. You can then connect Suggested Topics to any publicly available document or site for it to read from.
It will take a few minutes to crawl all the information you feed it, but once the process has finished, it will return all the suggested topics it has found
By clicking Suggested, you can see all of the possible topics. In my case, the chatbot found 391 new topics to choose from. Each topic is a possible question and answer pair users can leverage when conversing with the chatbot. On the Suggested tab, I can review all of the pairs pertinent to what I want the chatbot to convey.
I can then highlight the topics I want to include in the chatbot and move them to Existing Topics so they can be modified or enhanced.
To change the topic, I can highlight it and then click “Go to authoring canvas.”
Within the Authoring Canvas, I can then modify the message that the chatbot will return when they ask that particular question. I can also add in Conditions (and Actions) to be performed during this topic. For instance, if I wanted to send the user an email about this topic, I can attach a Power Automate flow to send that email or do any other function developed in a Flow.
I can also test the chatbot inline to see what will happen when the user asks a specific question, which can greatly speed up the development and testing of numerous different conversational topics.
When I’m satisfied with my chatbot, all I need to do is click Publish to deploy all the changes I’ve made to the chatbot and prepare it for accessibility (either internally with authentication or publicly available anonymously).
Finally, I can grab my code snippets based on the channel I want my chatbot to serve. In the example below, I want to deploy it to a publicly available website. I can copy and paste my embed code into the web pages I am serving up.
Conclusion
I hope you find creating chatbots with PVA useful, especially if you want to help your employees or customers with automation. It’s an excellent skill set for citizen developers to have.