Power Virtual Agent, what's the story?
Tags: powervirtualagent, powerplatform, chatbots, azurebotfraomework
Published: 2022-10-26 11:56:48

I've detected a bit of a pattern when it comes to PVA (Power Virtual Agents) within the Power Platform, and its that poor PVA feels a like the unloved child.

And it's not just Microsoft, it's the same with the community, on the Powerusers sites the top sections have following posts.

| Technology     | Posts  |  
|----------------|--------|
| Power BI       | 927827 | 
| Power Apps     | 441629 | 
| Power Automate | 86766  |
| PVA            | 4072   |

And the future doesn't show a change in direction, as looking at search trends on Google, PVA is barely ahead of Power Pages, which isn't fully available yet.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wlih8ctxux7k3c37bmx9.png)

When looking at all the constant rollout of new features in Power Apps and new connectors in Power Automate, poor PVA seems to had stood still and been forgotten. 

Fortunately that has finally all changed, with the unification of PVA and Azure Bot framework composer launching in public preview on November 10th.

[whats-new-the-evolution-of-power-virtual-agents](https://powervirtualagents.microsoft.com/en-us/blog/whats-new-the-evolution-of-power-virtual-agents/)

Finally PVA will be what it should have been, an interactive, human in the loop flow, with the power of PowerFX giving it some of the missing features. Before everything had to be passed to Power Automate, that was janky and felt like a workaround for PVA's shortcomings.

Im hopeful PVA can now establish itself, but I think it has 3 major hurdles it still needs to overcome:

## 1. Competition
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzqpelo5frthfy4i9b6j.PNG)_Googles Dialogflow_

The chatbot market is incredibly competitive, and the low code market still relatively undefined. Meaning PVA has to compete with fully fledged chatbots. When comparing PVA to Google's Dialogflow you see the maturity of Google NLP (Natural Language Processing), as you can simply point the chatbot at a webpage/document and it can extract the data and relevant questions without any work. Similarly ServiceNows chatbot is able to run scripts which gives it extensive functionality. The new update has brought it closer, but not enough to change the direction of the market.

## 2. Price
To put it simply, PVA is not cheap.  PVA's limited time offer is $150 (normally around $200) for 2000 sessions. At an average of 5 interactions per session, Dialog flows $70 ($0.007*5*2000). With 10 interactions, PVA is still $150 but Dialog is $140, still better value. There is PVA in Teams, which is free for E3 and F3 licenses, but the fact it's locked to just teams and not SharePoint is a big disappointment. And I'm concerned the new update to PVA and Bot Framework might not come to the Teams version, and that will be a big missed opportunity.

## 3. Incorrect Use
And yet in my opinion the biggest impact on PVA's poor adoption is actually incorrect use. This all started because of how it was launched, like I said I think a Chatbots core is actually RPA, PVA should have been built from Power Automate. With connectors built in and working like Power Apps, leveraging the users credentials. But instead Microsoft put its focus into the NLP (National Language Processing), which sounds like the obvious idea for a Chatbot. But sadly its NLP wasn't as mature as the competition, and it sacrificed functionality for it. 
> Power Virtual Agents are not search engines

The most common PVA I see is very horizontal, with the purpose to send people to the right place, aka they ask a question and get sent to the answer.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46jhrbk2cdfacn125nwc.png)

And here are the problems, 
1. You end up using Topics not Entities, so instead of using NLP you end up creating lists of words/sentences to trigger the question
2. Getting data into PVA is not easy, you end up with 3 ways, you hardcode it into a response (not great for keeping up to date). You create a link to a site/document (not ideal for a targeted answer as its not specific). Or you use a flow to look up the answer from a SharePoint list/database (slow and janky).

So if it's not a search engine, what is it? Well it's a human in the loop workflow. What does that mean? It's a workflow that gathers information to give an answer/complete an action, but its complexity requires multiple human interactions. So sometimes it might feel like a search engine, but for when you don't know what question to ask.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9d8wcj1ujmykki3bgl1.png)

You can see in the above diagram, the power of a PVA is the interact steps, gathering dynamic/relevant questions to direct the workflow. Also the user should be able to leverage NLP to hop to the right place in the workflow e.g

Online Delivery Query

> Where's my order?

> Bot
- What country are you in
- When was purchase made
- Your Order Number
- Delivery estimated tomorrow, do you want me to cancel it?

or the customer could type

> I made an order on the UK site on the 6th March, my order number is 123456

> Bot
- Delivery estimated tomorrow, do you want me to cancel it?

If your chatbot isn't leveraging any of the key benefits to using a chatbot, then you shouldn't use a chatbot (use a Power App or SharePoint site instead).

It's unfortunate but a lot of users and developers only interaction with a PVA is often a poor experience because it was the wrong solution for the problem.

---

So what does Microsoft need to do to help Power Virtual Agents become successful? The new integration with Azure bot framework composer and use of Power FX is a great, but I still think it needs:

- Connectors within the Chatbot (still not clear if this is coming with bot framework)
- Better pricing
- Teams to keep pace and expand to SharePoint
- More passion from Microsoft (More MVP's, case studies, training, certification)

Looking at the success of Power Automate and Power Apps, it's clear Microsoft knows how to deliver what its customers needs, it just needs to use the same playbook for PVA's.