Quickstart: Create and deploy a Power Virtual Agents bot

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.


Explore the home page

Power Virtual Agents has an app-level home page that isn't specific to any bot. On this page you can create a new bot, view recent bots, and access learning resources like videos, documentation, and learning paths.

Screenshot of the app-level home page.

In the navigation menu, select Chatbots to open the Chatbots page and view all the bots you have access to in this environment. On the page, you can see metadata about these bots, including the owner, when it was last published, and when it was last modified. Use this page to navigate to another bot that you have access to.

Screenshot of the list of chatbots.

Create a 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. When you first sign up, a default Power Apps environment is made for you. For most users, this is sufficient. However, if you want to specify a custom Power Apps environment, select a different environment from the environment picker.

    Screenshot of the environment picker.


    Power Virtual Agents is supported only in the locations listed in the supported data locations article, 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.

  4. Once signed up, you will land on the App Homepage. In the left navigation menu, select Home then select Create a bot.

  5. A whole page wizard will start with a couple steps to get your bot created very quickly. A default bot name is there. You can change this to be something generic to your company or specific to the scenario you are tailoring your bot to.

  6. For What language do you want your bot to speak?, select the language you want your bot to speak. The langugage dropdown is prepopulated with the browser locale.

    Name the new bot.

  1. (Optional) You can choose to Boost Conversations be providing a URL to generate AI answers from. With a bot name and langauge selected, you can select Create and create your bot.

There are optional customizations and enhancements you can make before getting your bot created.

a. Choose Edit advanced options on the bottom left to see and edit advanced options. You can continue with bot creation without going into these advanced options.

b. Here you can choose a bot icon to give your bot a personality and represent your business scenarios better. You can select from the pre-populated list if icons or upload a custom icon for your bot. This is the icon used in the chat window when the bot responds.

c. You can also choose whether to include the pre-populated lesson topics which provide starter content to familiarize yourself with bot topics.

d. There are a couple more advanced options to select the solution your bot will be in and the schema name. These are advanced options which can be changed later, but provided upfront for specific customization.

  1. 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.

  2. After a few minutes, you'll be redirected to the bot's overview page. Certain operations like Publish and Authentication configuration may take a few more minutes to be ready for your bot, but you can go ahead and:

    • explore the overall user interface
    • explore topics and start creating and editing topics
    • experiment with the preloaded user topics and system topics
    • interact with your bot using the Test Canvas
    • review additional documentation on authoring topics in your bot


To navigate back to the app-level home page from your bot, in the navigation menu, select Chatbots.

Screenshot of Chatbots button in the navigation menu.

Create a topic

Now that you have full functionality within your bot, you can create your own topic, which is a dialog tree that describes how your bot responds to a user's question.

  1. In the navigation menu, select Topics, 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 pane is not showing on your screen, in the navigation menu, select Test your bot.

    Test bot control.

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

  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 pane.

    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. In the navigation menu, select the Publish.

  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.

    Deploy bot to demo website.

  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

When your bot completes interactions with users, the statistics are recorded in your bot's analytics. To view analytics, in the navigation menu select Analytics. 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.