Microsoft uses its low-code Power Platform to help you quickly author and deploy chatbots on websites or in applications like Teams.
Modern chatbots have quickly become an important part of building a support service. Whether for customers or internal staff, chatbots are key to reducing the load on support and call-centre staff, giving callers a machine-learning-based self-service route to quick answers and to triage queries before passing them on to humans.
While tools like Microsoft’s Azure Bot Service make it relatively easy for developers to build and deploy bots, finding the time and necessary resources can often be a problem. That’s where services like Power Virtual Agents come in, providing a software-as-a-service route to chatbots, without the need for developer experience.
Introducing Power Virtual Agents
Part of Microsoft’s Power Platform, Power Virtual Agents is a member of a family of low- and no-code development tools targeted at business users who need an app now to solve a specific problem. Sitting on top of its line-of-business Common Data Service, and integrated with the Power Automate workflow tool, Power Virtual Agents aims to make building a chat bot as easy as working with Excel macros. You don’t need to spend time delving into the complexities of Azure’s Cognitive Services and into understanding how to structure conversational machine-learning applications.
Instead, Power Virtual Agents use a graphical user interface similar to that of Power Automate (formerly Microsoft’s Flow workflow automation tool). By giving users a similar code-free development experience, it’s easy to start building chatbots, constructing a basic conversation flow before deploying your Virtual Agent. As it’s a software-as-a-service platform, you can deploy your chatbots anywhere, embedding them in web apps or having them monitor popular chat and collaboration services.
Under the hood, Power Virtual Agents uses the same conversational AI tools that are part of Azure’s Cognitive Services. The big difference here is that you don’t need to spend time building language models or writing code to access the various Cognitive Service APIs, wiring them together to build your chatbot. Instead it’s all done for you by Microsoft. All you need to do is concentrate on building the chatbot’s knowledge base and adding your own conversational snippets to humanise the service, as well as training it in any specific jargon that’s likely to be used.
The platform includes a dashboard so you can see how your chatbots are operating, and where they might be having problems. The data in the analytics dashboard helps refine bot operations, showing you where queries aren’t being parsed and helping you refine your knowledge base and the questions used to work with it.
Building your first chatbot
Building a chatbot in Power Virtual Agents is simple enough. You’ll need a Microsoft work account that’s provisioned for Power Apps. Currently only five regions are supported, all using English: en-AU, en-CA, en-GB, en-IN, and en-US. Customer data is held in the appropriate regions, so while it’s stored on Microsoft servers, you should be in compliance with appropriate regulations. It’s possible to get more control over your data with a custom Power Apps environment.
It can take some time for the Power Platform to spin up the Virtual Agents environment the first time you create a bot. Once everything is in place you can start putting together your first bot. Start by creating topics and adding appropriate trigger phrases, teaching the chatbot to respond in certain ways to user queries. Once you have a topic and trigger phrases, you can start to author your bot, using the Virtual Agents authoring canvas to build a dialogue tree for your conversation.
Virtual Agents are constructed using a mix of different nodes. Message nodes send messages to users, and can be followed by questions or other messages. Question nodes aim to get responses from users, with a range of different options for the information you want to extract from either the message content or the inferred intent of the user, using the language understanding tools in Azure’s Cognitive Services. Content from questions and from other services is then composed into new messages. You can build conditions into the dialogue tree, so that messages can be tailored to user responses.
Testing, deploying, and extending chatbots
The Virtual Agents dashboard includes a simple tool for testing out your bots before you deploy them. Choose the bot you want to test, and type in messages to see responses. The test bot tool highlights the path the bot takes through your dialogue tree, so you can be sure that it’s providing the right responses. After testing, you’re ready to publish the chatbot — initially to a website, although you have the option of publishing it to other channels including Teams and Skype.
Perhaps the most interesting aspect of Power Virtual Agents is how it can quickly become part of a knowledge-management strategy built around services like Microsoft 365’s Teams. If you’re the expert on a specific topic, you can create your own agent, deploy it into a Teams channel, and your frequently asked questions get automatic answers, so you don’t have to keep dropping everything to answer the same question again and again. An agent chatbot isn’t static, so as new questions become popular you can add their answers to the data that powers the chatbot.
One useful feature builds on Azure’s Cognitive Services to quickly parse the existing support FAQs and other content to create AI-authored chatbot dialogue trees. By understanding the questions that lead to specific answers, the Suggest topics tool extracts content and builds the bot framework for you, ready for tuning and publication.
The similarity to Power Automate makes even more sense when you start connecting Power Virtual Agents to Power Automate workflows. Using natural language-based chatbots to trigger first-line self-service support can reduce workload on support teams significantly. By using a chatbot to, say, manage password changes, Power Virtual Agents can be used to determine the intent of a query, allowing it to respond to the same question phrased in many different ways, all triggering the same Power Automate workflow.
Power Virtual Agents goes a long way to simplifying creating, deploying, and managing chatbots. Its visual no-code development environment lets anyone create and deploy a bot, while its dashboard and analytics tools help more experienced developers fine-tune and extend those basic bots, with the option of extending them into the wider world of workflow automation via Power Automate and the rest of the Power Platform.
Head and Editor in Chief of EcmaScript2017 Journal. Senior JS Back-end Full stack developer and software architect.