Learning the Components


Intro & Overview
Putting Your Solution In Motion
Course Conclusion
Start course

Power Virtual Agents is part of the Microsoft Power Platform and is a useful tool for creating automated chatbots to help guide users on a path.

This course will teach you how to use and build your own chatbots. You will learn how to identify common components like topics, entities, and actions, as well as how to build chatbots that can be started with keywords.

Also, you will learn how to prepare your bots for use on websites, Teams, and other channels. This course will help you in preparing for Microsoft certification.

Learning Objectives

  • Describe the different uses for Power Virtual Agents
  • Create topics with questions, conditions, messages, and links
  • Find and use entities to structure your data
  • Test and deploy your bots
  • Keep tabs on the analytics of your agents to track usage and performance

Intended Audience

  • IT professionals who are interested in obtaining a Microsoft certification
  • Those who would like to help customers and teams find the right information quickly through an automated chatbot


There are no prerequisites for this course. The application to create Power Virtual Agents is free to try and anyone with a Microsoft license can use it.


Let's learn a little bit about the components involved in our Power Virtual Agents. There are really three components of our bots that we need to be familiar with: topics, entities, and actions.

Let's start with the core component, topics, or also called a dialogue tree. This is a path based on questions and answers that your user may want to pursue. When you create a new topic, you are asked to name it with an internal name and a friendly name, which is the external facing name. It is not required to give a friendly name or a description, but these are very helpful in organizing and using the bot later. You are also given the chance to put in trigger phrases. These are all the phrases that someone might type in to start your agent running.

Virtual Agents do not just start on their own, so if someone came into your bot, what would they want to know about? Would they say, "How do I get my money?" or "Where is the org chart?" Fill in as many variations as you can think of. For example, org chart, chart, organization, organization chart, org hierarchy, managers, and so on. You can always come back and add more if you didn't think of all the phrases. Each topic can contain up to 200 triggers.

The next step is to go on to the Authoring Canvas. This is how you follow the conversation between your agent and the customer. From the Authoring Canvas, you can click on the ellipses menu for my trigger to edit the trigger phrases.

In the Authoring Canvas, we will add various nodes. By default, we are starting with a Message node. When we add another node, we can choose from various types. Ask a question node is a great way to get input from the user. It is also where we will see conditions on the answers. Call an action is a way to bring in an authorization or a Power Automate Flow. Show a message let us show any message we want to type in, plus, it can add in dynamic content from variables and actions.

When your path ends, you can add one of these two nodes: Go to another topic helps us bring in another topic that might be used over and over, for example, another decision path to filter the document search even further. Maybe you send them to the organization documentation topic, or the new employee documentation path.

End the conversation is a way of bringing the topic to a close. Do not use this if you are calling this topic into other topics in the middle of a dialogue path. When we ask a question, we can get input from an option or an entity. An option would be a choice in a multiple-choice question, or a text box where we would accept everything the user typed.

Entities help to keep consistent entry of common inputs and choices. An entity can be a prebuilt entity, or created as a custom or closed list entity. Notice in this example I have asked their age and provided age groups as options for the user to select. But notice that there is a prebuilt entity called Age that gives me a formatted item that becomes a usable number. If I wanted a phone number, a user could type it in as a response option, but they could also select a prebuilt entity that would format the input as a standard US format number and use it as a string.

Creating a custom entity is done from the New entity button. We must put in at least a Name and one List item to save our custom entity. In this example, I am creating shirt color options for users to select in the chatbot. Once I save, I can see my custom entity listed with the other prebuilt entities. To use my new entity, I am just going to ask a question about what shirt color the user would like. When I click on the Identify menu, I scroll to my new Shirt entity. I will then see the options that I can put in place. Some shirts may be in only Red or Black, some shirts might be out of Gray, so I can choose which ones will be presented to the user or customer. I'm going to choose all the options.

When the question is presented in the chatbot, this is what it would look like. When the customer chooses Gray, a response from a message node comes back to them. When we call an action, we are given the option to create a flow. If we've already created a Power Automate flow, then we will see it listed here.

If we choose the Power Automate flow that has already been created here, you will see that we have the opportunity to add inputs or outputs. This one happens to have an output called Restriction and it has a sentence that it's going to use when it's called up. So, in our canvas we would see it listed as this. In the chat box we would see the response listed like this.

One thing to be aware of is that every activation of the Power Automate flow will count towards your Power Platform daily allowance. This is different than the Power Virtual Agent quota that comes with your license. So, if you use this chat box on your website and you have over 2,000 people using it per day, you may run out of automation flows which would leave an error in your chatbot.

Let's go over how we get to our result. Remember, topics are the paths that users will take, and they contain trigger words or statements. Nodes are the options that we have after the triggers and in between each step.

Remember, if we use something like a question node, we could offer the user an option or an entity. Entities can be prebuilt or they can be custom built. Entities are a way of organizing data and outputting them in a format that we need. And last of all, actions are being able to use authorization steps or Power Automate flows. Power Automate flows that are used with Power Virtual Agents have the ability to add inputs and outputs.

About the Author

Ron is an experienced professional with in-depth expertise in SharePoint, Power Automate, Power BI, and Microsoft 365. He enjoys involvement in corporate presentations, training, change management, communications, marketing, and facilitation.

Ron brings this experience together to design SharePoint solutions that meet his client’s business, training, and collaboration needs. His skillset includes: Program Management, Change Management, SharePoint Site Administration and Architecture, Project Management, Graphic Design, and Technology Infrastructure Expertise. Ron is an expert skier and speaks Japanese as a second language.