Microsoft’s Power Virtual Agents: for highly capable chatbots


Nowadays, customers expect to get support outside store hours, even 24/7, when live agents would be cost prohibitive. Therefore, companies deploy chatbots to provide a first-line response to the most popular inquiries submitted through various information channels. Powerful chatbots can initiate a dialogue with a human over the internet or by another channel, such as text messaging. They can also download information from various systems and present it to the user clearly and coherently. Microsoft’s solution is called Power Virtual Agents. Let’s take a look.


Power Virtual Agents

Power Virtual Agents (PVA) is one of Microsoft’s Power Apps, a collection of low-code platform modules. It enables PVA license holders to easily create intelligent chatbots for both external users (company clients) and internal users (company employees).

Microsoft’s technology makes it possible to build conversation flows with an intuitive graphical interface instead of advanced code. Power Virtual Agents has built-in AI language processing mechanisms, which it uses to create the most natural and human-like conversation possible. The chatbots are available for use in many channels, not just within the Microsoft ecosystem—on your website/online store, and on Facebook, as well as Microsoft Teams—without the help of any advanced developers. Naturally, PVA is perfectly integrated with Power Automate services, so users can create advanced custom workflows and retrieve information from external sources and other systems using prebuilt connectors.

Power Virtual Agent’s chatbot language

Power Virtual Agent supports multiple AI models to provide a connection between human and computer language and utilizes LUIS (Language Understanding Intelligent Service), the natural language processing created by Azure Cognitive Services. AI-powered chatbots need to deal with the language that is delivered by users naturally and respond appropriately to their expectations.

Further, each PVA conversation contributes to the continuous learning process of the artificial intelligence system to improve future conversations. Bots will also remember and reuse data that customers provide in order to improve and personalize any subsequent conversation with the same customer. For example, if the user initially enters their data (telephone number, email address, first name and surname , address), these properties will be stored and used in subsequent conversations, saving the customer the time otherwise needed to enter them again (see Fig. 1):

Fig. 1 AI Capabilities in one service (source)

Power Virtual Agents uses a deep neural model—which is to say, AI running on supercomputers processing copious amounts of data. This is its training. It can then be adapted to a particular use with just a few examples, and no further training is needed. This is how Microsoft brings its “AI at Scale” initiative to users so they may intuitively create intelligent bots without any AI-expert help.


Power Virtual Agent: topics

The first step the Power Virtual Agent service takes is to identify the topic of the conversation. The “Topics” function is what defines the purpose of your chatbot and is the first step to configure it. Microsoft provides a set of ready-made theme templates that we can use, while also making it easy to create new topics from scratch.

Each topic has two parts:

  • Trigger phrases are keywords, phrases, or statements a user is most likely to enter.
  • Conversation nodes define how the bot should react to those phrases.

Each topic has its own bot conversation flow. When the bot identifies a trigger for a given topic, it initiates a conversation (see Fig. 2):

Fig. 2 Topics and trigger phrases

The fact that Power Virtual Agents uses a natural language processing model powered by a neural model means that only a small number of examples are needed when creating trigger phrases for topics, usually in the range of five to ten phrases per topic. The shorter the trigger phrases are, the better—try to keep them to two to ten words. Exchange verbs or nouns in your phrases for their synonyms to give the bot a wider reach, if you will, to properly catch the user’s intent. Power Virtual Agent chatbots can handle up to 1000 topics. Each topic is a separate conversation path, and it is the combination of paths in the chatbot that ensures the natural course of the conversation.

Power Virtual Agent also has a topic suggestion function. This allows it to parse the language found in company documents such as procedures, manuals, product information, knowledge bases, frequently asked questions, etc., and extract information from them to create topics and associated trigger phrases (see Fig. 3):

Fig. 3 Suggest topics from files and web content

Power Virtual Agent: entities

An “entity” is a specific type of information, or indeed a real-world topic: names, dates, currencies, phone number, zip code, street, and so on. PVAs use entities to identify information in the text phrases a user enters. Entity extraction is important for deciding on the next step in the conversation and monitoring the conversation path. Identifying entities in user dialogues is a basic task for natural language processing because it helps the chatbot be perceived as more real and natural. Power Virtual Agents provides a set of built-in entities for the most frequently used objects. Of course, it is also possible to create custom entities according to the needs of your business (see Fig. 4):

Fig. 4 Custom entity

Power Virtual Agents and Power Automate

Power Virtual Agents can handle a number of common business processes because it is so well integrated with Power Automate services. It can pass parameters to the cloud flow, receive data in return, and then use that data in the chatbot conversation flow. For example, a chatbot can handle updates, place orders for customers, and solve problems. To do so, we can use the Power Automate cloud flow to retrieve order status, to check product availability, or to enter a document into the legacy system. If the chatbot is part of a cloud flow, it can trigger the flow in Power Automate Desktop and, for example, use RPA tools to enter an order into a system that does not have an API interface.
Power Automate flows are initiated from the “Invoke Action” node within the topic (see Fig. 5):

Fig. 5 Create a flow action

Then, we map the parameters we want to pass to a specific flow (see Fig. 6):

Fig. 6 Power Automate flow in PVA

Once the flow is completed, Power Automate can also return the parameters to the PVA in order to send the appropriate message to the customer (see Fig. 7):

Fig. 7 Chatbot conversation with customer

The same cloud flow can also initiate a Power Automate Desktop flow and save the data in an external system on a local server, such as ERP or CRM. In our case, the flow saves data in the Dataverse database and then saves the new offer in an excel file on the On-Premises server (see Fig. 8):

Fig. 8 Power Automate Flow: register order in Dataverse and local Excel file

Power Virtual Agents in Teams

The PVA service is available in two practically identical versions: as a standalone web application and as an application within Microsoft Teams. The user can build the same chatbots and use the same functions in both versions. The difference is in the purpose of the target applications and the purpose of your project: for a chatbot for external clients, we will choose the web version, while for a chatbot for internal users, we will most likely design it and run it within Teams. The manufacturer’s website provides tips to help with the decision (see Fig. 9):

Fig. 9 Versions of PVA: how to choose

It is easy to add the PVA service as an application from the Microsoft Teams store. We can then open one of our teams, choose PVA, and design, test, share, and authorize our chatbots. The user interface is almost exactly the same as the web application (see Fig. 10):

Fig. 10 Power Virtual Agents in Microsoft Teams

Here are just a few ways a Microsoft Teams bot can help your organization and save time:

  • An HR department bot helps company employees obtain forms, submit applications, obtain information on vacation limits, learn more about loyalty programs, etc.
  • Another HR bot answers questions about rules and recovery from the COVID-19 pandemic.
  • An accounting department bot helps employees obtain information, tax forms, or instructions for entering purchaseinvoices , etc.
  • An IT department bot answers frequently asked questions as the first line of IT support.
  • A project manager’s bot allows project participants to obtain and review all information regarding the scope, plan, and status of a current or upcoming project.
  • A marketing department bot provides information about current discounts, bonuses, and other special offers for the company’s employees.
  • An audit department manager creates a bot that informs ERP system users about the correct controlling keys.
  • Power Virtual Agents is adaptable and open-ended, enough so that a little out-of-the-box thinking can lead to surprisingly versatile applications throughout your entire organization.

Power Virtual Agents—is it free?

PVA is indeed powerful, and Microsoft is constantly working to improve it. Therefore, it does require the purchase of a license. The cost is $1000/mo. for 2000 “sessions”—and a session means when a user (customer or employee) starts and ends a conversation with your bot. Additional sessions are available for $450 per 1000 sessions. If you are purchasing on behalf of your organization, and there will be more than one person creating bots, then you will need a tenant license, plus a user license for each user account who needs access to PVA. Both types of license will appear as a “power virtual agents subscription” in your subscription list.

There is also Power Virtual Agent for Teams available for free. It enables customers with select Office 365 licenses to build and deploy custom chatbots directly within Teams using Dataverse for Teams. We have unlimited sessions (Teams only), but we cannot use, for example, Premium connectors (only Standard ones). We are also not able to use the On-premise data gateway.

More details on licensing can be found in Licensing Guide.


Final thoughts

Creating and implementing powerful chatbots with an intuitive interface and a wide range of available functions in the Power Virtual Agents service is quite pleasant and simple. It is easy to integrate chatbots with other products and services that your company uses daily, and all without advanced code or the help of programmers. Microsoft provides two variants of the application: PVA in Microsoft Teams for practically any intra-company scenario, and the PVA web app to help meet the needs of external customers. Power Virtual Agents can implement chatbots and simplify business processes through a large number of channels: Facebook, Skype, Alexa, Slack, Twilio, Telegram, and others, in addition to email and telephone.

Popular scenarios for external chatbots include:

  • Answering questions and providing information
  • Processing returns and complaints
  • Resolving complaints and problems
  • Checking stock levels, tracking purchases and shipments
  • Presenting the range of products
  • Making a reservation or booking a ticket for an event
  • Paying bills or requesting a refund
  • Searching for information about a company
  • Collecting customer opinions
  • Creating quizzes, surveys or contests

Meanwhile, chatbots can be used for internal applications such as:

  • Support for HR, IT or sales departments
  • Employee onboarding
  • Collecting employee ideas and suggestions
  • Shift management
  • Incident and problem management
  • Health and safety
  • Providing information about processes and internal procedures

These are just examples—Microsoft solutions allow plenty of room for creativity. The hundreds of pre-built connectors available make it possible for bots to search records, personalize conversations, transfer customer conversations to live agents, and more, so that regardless of our goal, we can integrate both with external systems and with other Microsoft Power Platform services.

And most importantly? Chatbots can operate and perform their tasks practically 24 hours a day, 7 days a week.

Sign up for the newsletter and other marketing communication

The controller of the personal data is FABRITY sp. z o. o. with its registered office in Warsaw; the data is processed for the purpose of sending commercial information and conducting direct marketing; the legal basis for processing is the controller’s legitimate interest in conducting such marketing; Individuals whose data is processed have the following rights: access to data, rectification, erasure or restriction, right to object and the right to lodge a complaint with PUODO. Personal data will be processed according to our privacy policy.

You may also find interesting:

How can we help?

The controller of the personal data is FABRITY sp. z o. o. with its registered office in Warsaw; the data is processed for the purpose of responding to a submitted inquiry; the legal basis for processing is the controller's legitimate interest in responding to a submitted inquiry and not leaving messages unanswered. Individuals whose data is processed have the following rights: access to data, rectification, erasure or restriction, right to object and the right to lodge a complaint with PUODO. Personal data in this form will be processed according to our privacy policy.

You can also send us an email.

In this case the controller of the personal data will be FABRITY sp. z o. o. and the data will be processed for the purpose of responding to a submitted inquiry; the legal basis for processing is the controller’s legitimate interest in responding to a submitted inquiry and not leaving messages unanswered. Personal data will be processed according to our privacy policy.