Quickstart: Create and deploy a Power Virtual Agents bot online

Select the version of Power Virtual Agents you're using here:

Power Virtual Agents empowers teams to quickly and easily create powerful bots using a guided no-code graphical experience - all without the need for data scientists or developers.

This quickstart guide takes you through the end-to-end experience of creating a bot for the first time, adding topics to your bot, testing content changes in real time, deploying your bot to a test page, and analyzing the performance of your bot after it's been deployed.


Parts of this video may show older versions of the app.

In addition to this guide, you can also download and use templates to help you create, develop, and publish chatbots with Power Virtual Agents.


Create your first bot

  1. Go to the Power Virtual Agents introduction website. Supported browsers include Microsoft Edge, Chrome, and Firefox.

  2. On the website, select Start free, and then sign in with your work email address. Note that personal Microsoft accounts are currently not supported.

  3. Choose a name for your bot. This can be something generic to your company or specific to the scenario you are tailoring your bot to.

    Your bot is created in the default Power Apps environment that was made for you on sign up. For most users, this is sufficient. However, if you want to specify a custom Power Apps environment for your Power Virtual Agents, expand the More options menu and select a different environment.


    Power Virtual Agents is supported only in the locations listed in the supported data locations topic, with data stored in respective data centers. If your company is located outside of the supported data locations, you'll need to create a custom environment with Region set to a supported data location before you create your bot.
    For more information on how to create a custom Power Apps environment, see Working with environments.

    Name the new bot.

  4. Select Create. The process of creating your first bot in a new environment can take up to 15 minutes; subsequent bots will be created much faster.

  5. After a few minutes, you'll land on the home page and be able to interact with the bot in read-only mode. You can't save any edits during this time, but you can:

    • explore the overall user interface
    • look at topics
    • experiment with the preloaded user topics and system topics
    • interact with your bot using the Test Canvas

    During this time, you can also review additional documentation on authoring topics in your bot. See Authoring key concepts for more information.

  6. When the bot creation process completes, the banner changes. You now have full functionality in the bot and can modify any User or System topic, test out your content changes, or deploy your bot.

Create a topic

Now that you have full functionality within your bot, you can create your own topic — or, in other words, a dialog tree specifying how your bot responds to a user's question.

  1. Select Topics on the side pane, then select New topic at the top of the page.

    New topic.

  2. Name your topic and include some trigger phrases for this topic. Trigger phrases are examples of the type of user questions or utterances that help teach the bot when to respond with this dialog.

    As an example, let's create a topic called 'Personal Hello World' and add 'hello world' as a trigger phrase.

    Name topic and add trigger phrase.

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

  4. Select Go to authoring canvas. This is the graphical dialog tree editor that allows you to define bot responses and the overall bot conversation.

    Enter 'Hello! I'll create a personalized greeting for you.' into the first Message node.

    Add node.

  5. Select Add node (+) below the node, and add an Ask a question node.

    Enter the question text, 'Where do you live?', in the Ask a question box. To give the customer a choice between different responses, select Multiple choice options under Identify.

    Bot answer.

  6. Add two options for the user, by selecting + New option.

    Enter 'Seattle' and 'Bellevue' in the text boxes called 'Options for user'. Each option is presented as a multiple choice button to the user.

    The authoring canvas 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.

    Branching options are created automatically.

  7. In the forked conversation path, each node automatically checks for 'Seattle' in one path, and 'Bellevue' in the other to take the appropriate next step.

  8. Finally, select Add node (+) below each of the Condition nodes to add a Message node in each branch.

    Add a simple message like 'Hello Seattle!' in the Seattle branch, and 'Hello Bellevue!' in the Bellevue branch.

    Complete conversation.

  9. Select Save at the top.

You now have a very simple branching dialog tree, congratulations! You can begin to create more complex versions of this tree by incorporating variables, entities, and Power Automate flows.

Test your content in real time

Now that you have some content authored into a dialog tree, it's time to test this out in real time to see if it's working as you expected. For this, you'll use the test bot pane.

Start bot with latest content.

  1. If the test bot is not showing on your screen, select Test your bot on the side pane.

    Test bot control.

  2. Try out your newly authored dialog tree by typing into the test bot window.

  3. Turn on Track between topics at the top, which enables you to follow along with the bot as it executes your dialog. You'll start to see parts of your dialog tree highlighted as the bot gets to that portion of the dialog.

    Start conversation.

  4. Type "hello world" in the chat window, and send the message to the bot. You'll see the top portion of your dialog tree highlighted in green, and you'll see Seattle and Bellevue presented as user options in the test bot window.

    The bot is now waiting for you to respond and has provided suggestions on how to respond. These suggestion buttons reflect what you authored within your dialog tree in the 'Ask a question' node.

    In the test bot, you can either select these suggestion buttons to continue, or you can enter your response into the chat window.

    Tracing conversation.

  5. Continue the dialog by selecting the Seattle branch.

    You'll see the chat stop once you've reached the bottom of this branch. If you author more content, the dialog will continue, but since we've only created a very simple and small dialog tree, we can reach the end of the content very quickly.

This test experience empowers you to quickly create and test a conversation to ensure that the conversation will flow as anticipated. If the dialog does not reflect your intention, you can change the dialog, and save it. The latest content will be pushed into the test bot, and you can try it out again. None of this changes the published version of the bot, so feel free to play around with your content until you are happy with it.

Publish your bot

Once you're fine with the content authored in your bot, you can publish your bot to a website.

  1. Select the Publish tab on the side pane.

    Deploy bot to demo website.

  2. Select Publish to activate your bot with a single click. If the publish is successful, you'll see a green banner on the top of the page.

  3. Select the demo website link under Share your bot to see it in action on a demo website.

    This will open a new window in your browser. If this doesn't happen automatically, check if a pop-up blocker has been activated and, if so, allow the window to be opened. Usually, you can allow pop-ups from the URL field directly.

    The webpage demonstrates what your bot looks like to an end-user who comes to your webpage. The bot canvas is at the bottom. You can interact with it by typing into the window or by selecting a starter phrase from the provided options.

    Share your bot.

For more information on publishing your bot to other channels, see the documentation under Publication key concepts.

Analyze the performance of your bot

Once your bot has completed interactions with users, the statistics are available in the Analytics tab on the side pane. Here, you can find key performance indicators (KPIs) showing:

  • the volume of sessions your bot has handled
  • how effectively your bot was able to engage end-users and resolve issues
  • escalation rates to human agents
  • abandonment rates during conversations

You'll also find customer satisfaction information at the KPI level as well as in the Customer Satisfaction tab.


There is up to a 1-hour delay between when the conversations occur and when the statistics for those conversations appear in the analytics views. Also, all interactions with the bot are logged in analytics, including interactions from your demo website, custom website, or test bot.

You can also view detailed session history and transcripts by selecting Analytics > Sessions. Here, you can download a CSV file with the full session transcript. This can be a helpful way for you to tune the performance of your bot and change the content in your topics to improve your bot's efficiency.

Download sessions.

For more information, see Analytics key concepts.


You've now created a bot, created your own topic, tested it out, published it to a demo website, and learned how to analyze your bot's performance. Congratulations! Your bot has many capabilities beyond this, so please try it out and play with the advanced features.

For questions not covered in the product documentation or for feature ideas, please visit our community and post questions.

We would also like to hear your ideas on Power Virtual Agents. Please visit our Ideas board and post your ideas.