Create a intelligent chatbot with MS power virtual agents

If you do not have a Power Virtual Agents set up already, go to  Virtual Agents in your browser to begin. Supported browsers include Microsoft Edge, Chrome, and Firefox. On the website, select Start Free, and then sign in with your work email address. Note that personal Microsoft accounts are not currently supported.

Next, you’ll choose a name for your chatbot. This can be something generic to your company or specific to the scenario you are tailoring your chatbot to.

Your chatbot is created in the default Power Apps environment that was created for you when you signed up. For most users, this is sufficient. However, if you want to specify a custom Power Apps environment for your Power Virtual Agents for your wordpress hosting services, you can do so by expanding the More options menu and selecting a different environment.


  1. Once you select Create, the process of creating the first chatbot within a new environment can take up to 15 minutes. Subsequent bots will be created much faster.
  2. After a few minutes, you’ll land on the home page and have an opportunity to play around with the chatbot in read-only mode. You can’t save any edits during this time, but you can explore the overall user interface, look at the topics, experiment with the preloaded User Topics and System Topics, and interact with your chatbot using the Test Canvas.
  3. When the chatbot creation process completes, the banner changes. You now have full functionality in the chatbot and can modify any User or System topic, test out your content changes, or deploy your bot.

Create additional chatbots

If you have already created a chatbot, you can create a new chatbot by selecting the icon on the title bar to open the Bots pane and then selecting New


Delete a chatbot

You can delete chatbots to remove them from your environment.

  1. Select the chatbot icon on the top menu bar, and then select the chatbot you want to delete.
  2. Select the Settings icon on the top menu bar, then select General settings.general setting
  3. Select Delete bot.

You’ll be asked to confirm the deletion of the bot, after which all chatbot content is immediately deleted.

If your license has expired, you can delete your chatbot(s) by selecting Permanently delete your bots.


As mentioned earlier, a topic defines how a chatbot conversation plays out in Power Virtual Agents.

Create a topic

  1. Go to the Topics tab on the side navigation pane to open the Topics page.navigation-menu 
  2. On the topics page, select New topic.
  3. Specify a name, description, and one or more trigger phrases for the topic.A trigger phrase is a phrase that a customer enters in the chat window to start a conversation with the bot. Once the conversation is started, the conversation follows the path you define. You can specify more than one trigger phrase for a topic. You can include punctuation in a trigger phrase, but it is best to use short phrases rather than long sentences.phrases-web


  4. Select Save topic to add the topic to the topics list.

Design the topic’s conversation path

  1. In the topic details for the topic you want to edit, select Go to authoring canvas.canvas 
  2. Power Virtual Agents opens the topic in the authoring canvas and displays the topic’s trigger phrases. The authoring canvas is where you define the conversation path between a customer and the bot.
  3. For existing or system topics, a number of nodes will automatically be created. You can edit these nodes just as you can for other nodes.
  4. When you create a new topic, the Trigger phrases node and a blank Message node are inserted for you.
  5. You can add additional nodes by selecting the Plus (+) icon on the line or branch between or after a node. 

Insert nodes

When adding a node, you can choose from five options. Each option has a specific node or nodes that will be inserted into the conversation path.

You can:

  • Ask a question
  • Call an action
  • Show a message
  • Go to another topic
  • End the conversation


add-node-optionsAdditionally, you can Branch based on a condition when inserting a node between existing nodes:conditional-branch


Ask a question:

  1. To have the chatbot ask a question and get a response from the user, select + to add a node, and then Ask a question to add a new Question node.add-new-question 
  2. Enter the question phrase in the first text box, Ask a question.
  3. You can choose from several options for the user’s response in the Identify field.These options determine what the chatbot should be listening for in the user’s response.

    For example, they could be multiple choice options, a number, or a specific string.

    Choose Multiple choice options.

  4. Depending on what you choose in the Identify field, you can enter what options the user should have.For example, since you selected Multiple choice options, you can then enter the options the user can specify in the Options for user field. Each option is presented as a multiple choice button to the user, but users can also type in their answer in the bot.

    The conversation editor creates separate paths in the conversation, depending on the customer’s response. The conversation path leads the customer to the appropriate resolution for each user response. You can add additional nodes to create branching logic and specify what the chatbot should respond with for each variable.

  5. You can save the user response in a variable to be used later.

Call an action

You can call Power Automate flows by selecting Call an action.


Power Virtual Agents also enables you to extend your chatbot using Azure Bot Framework Skills. If you have already built and deployed bots in your organization (using Bot Framework pro-code tools) for specific scenarios, you can convert bots to a Skill and embed the Skill within a Power Virtual Agents bot.

Show a message

  1. To specify a response from the bot, select + to add a node, and then Show a message to add a new Message node.
  2. Enter what you want the chatbot to say in the text box. You can apply some basic formatting, such as bold, italics, and numbering.You can also use variables that you have defined elsewhere in your chatbot conversation.

Go to another topic

  1. To automatically have the chatbot move to a separate topic, select + to add a node, and then Go to another topic.
  2. In the flyout menu, select the topic the chatbot should divert to. For example, you might want to send the user to a specific topic about the closure of a store if they ask about store hours for that store.go-to-topic-cloud 

End the conversation

When you end the conversation, you can have a survey appear that asks the user if their question or issue was answered or resolved correctly. This information is collected under the customer satisfaction analytics page.

You can also have the conversation handed over to a live agent if you’re using a suitable customer service portal, such as Omnichannel for Customer Service.

  1. At the end of a response that resolves the user’s issue or answers the question, select End the conversation.end-conversation 
  2. To end with a customer satisfaction survey, select End with survey
  3. Select Transfer To Agent to insert a hand-off node that will link with your configured hand-off product. You can also enter a private message to the agent.transfer-to-agent-web 

Branch based on a condition

  1. To add branching logic based on variables, select + to add a node, and then Add a condition and Branch based on a condition.
  2. Choose the variable you want to use to determine if the chatbot conversation should branch at this point. For example, if you have set up end-user authentication, then you might want to specify a different message if the user is signed on (which may have happened earlier in the conversation).web 

Delete nodes

  1. Select the menu icon on the top of the node’s title.
  2. Select Delete.delete node