June 23, 2024

SamTech 365

PowerPlatform, Power Apps, Power Automate, PVA, SharePoint, C#, .Net, SQL, Azure News, Tips ….etc

ESPC 2022 – Creating Power Virtual Agent Chatbots for Microsoft Teams – By Vlad Catrinescu

In todays’ session, Vlad gave an amazing session (As Usual) covering how to create Power Virtual Agents, and deploy them within MS Teams.

What is PVA

Power Virtual Agents (PVA) empowers teams to easily create powerful bots using a guided, no-code graphical interface without the need for data scientists or developers.

PVA is part of the PowerPlatform Suite. It is a SaaS products, which means Microsoft will take care of all the back end, infrastructure and mechanics behind the scene. We just worry about the business logic.

Goals ?

Empower your teams

Allow “everyone” in your organisation to build bots, without knowledge of any programming or AI skills. Ooops sorry IT Admins 😛

Reduce Cost & Improve customer satisfaction

Bots run 24/7, with no time off. They can be a good approach to free your Helpdesk team for example from the repetitive and most boring tasks, and make sure your users will always have a go to end point whenever needed.


Power Virtual Agents integration with other Power Platform applications

  • Power Automate
  • Power Apps

Which means, they can be used to start business process (approval, create tasks, do stuffs)

Note: The fact that PVA can integrate with the other PowerPlatform tools, means we can improve the user experience and actually action some of their request instead of just surfacing links and texts responses (e.g. Create a helpdesk ticket, leave requests …etc.).

We should always try to keep the user there as much as possible.

How can you build PowerVirtual Agents?

Two experiences are offered to the users:

Web App

If you decide to use PVA and take advantage of the full experience, you might be tempted to use the web app for that. For the full experience, you will need a licence to use the PVA. more on licences later.

Within Microsoft Teams

Free! yes, PVA within Teams is free (as long as you have a licence to use Teams 😂), however there are some limitations such as:

  • Using only standard connectors.
  • The bots you build can only be surfaced and accessed from MS Teams.



Demo takeaways

An amazing demo by @Vlad Catrinescu as usual, with loads of energy.

During today’s demo, Vlad went into the journey of creating a Power Virtual Agent, able to raise leave requests and trigger a power automate for approval/notification. The process was very simple when you know the basics.

The fundamentals

  • First, Install the Power Virtual Agents app in Teams, this should be available from the Teams Store, if not, please ask your IT Admins to enable it first.
  • When you lunch the PVA app in teams,  you will have three tabs. Home (with some reading content, and links), List of bots, List of Teams

Create a Chat Bot

First, Select the Team, where the bot will live.

Click “New Bot” and provide the Name of the Bot & Language.

Important, Power Virtual Agent Chat Bots can only support one language.

So if you want to distribute your bot in 3 different languages, you will have to deploy three different versions of the bot.


The most important part of your PVA. By default PVA will come with initial 4 topics  and 8 systems topics.

Each topic will have a trigger phrase(s).

Topics can also be created from web pages, or CSV files, in which case the content will be crawled and topics will be suggested from what has been found.

You will probably spend most of your time in this space defining the logic of your topic.


Are just responses, usually texts (you can include images), not sure about adaptive cards. But messages won’t have any inputs.

If you want to capture additional information from your users, you will need to add a question to your topic.


You can ask your users to provide some information to drive the conversation and guide the bot to which section it needs to jump to.

Each question will generate an output variable, which you can use in your bot logic or to call actions (flows, oops I mean Power Automates).

Built in variables

As the bot will be running inside Teams, all the users have already been authenticated, so things like User.Displayname, is a built in variable.


As its name stand for, you can branch to different sections of your topic based on certain logic. Usually driven by responses provided or selected by the users.

Live Debugging

If you want to test the chat bot, you can do so from the same interface you build your bots in.

It will highlight the step(s) your bot has traversed and allow you to quickly debug an unexpected behaviour.


Once you have completed your bot design, make sure:

  • Rename all the untitled topics
  • Deactive the default, unused topics.
  • Edit the system topics (default answers …etc.)

When you want to publish you have two options regarding how you want to make your bot available.

Availability Options

  • Share the bot with a small group of users, so they can test it before publishing to your entire organisation
  • Share with everyone within your organisation.


The bot will be published in the same way as any other Power Apps for Teams, which means, you will need to ask your Teams Admin to approve the application.


After you publish your PVA chat bot, you might be interested in checking the analytics and usage metrics of your bot.

The analytics screen gives you valuable information such as

  • Total sessions
  • Engagement rate
    • Resolved
    • Escalated
    • Abandoned
  • Different rates.


Pricing: https://powervirtualagents.microsoft.com/en-us/pricing/

Get Access to PVA: https://learn.microsoft.com/en-us/power-virtual-agents/requirements-licensing-subscriptions

Licensing 😒: https://learn.microsoft.com/en-us/power-platform/admin/pricing-billing-skus

Vlad’s Talk Tech :https://vladtalkstech.com/