Chatbot Power Virtual Agent with Dynamics 365 Finance and Operations

Hello Dynamics & Power Community,

Power Virtual Agent will empower every organization to easily provide delightful, natural interactions with their customers and improve engagement and outcomes. This new feature in PowerPlatform can clearly help you building an easy chatbot with a lot of datasources, including of course the whole eco-system of Microsoft, but as well as the 300 connectors of the PowerAutomate. In this article. I will present in this article of course this AI feature connected to Dynamics 365 Finance and Operations. In the ERP, you could of course build a BOT for Commerce or Retail, Customer Service (Return product) or even Lead generation etc….

Power Virtual Agents empowers teams to easily create powerful bots using a guided, no-code graphical interface without the need for data scientists or developers. Power Virtual Agents addresses many of the major issues with bot building in the industry today. It eliminates the gap between the subject matter experts and the development teams building the bots, and the long latency between teams recognizing an issue and updating the bot to address it. It removes the complexity of exposing teams to the nuances of conversational AI and the need to write complex code. And, it minimizes the IT effort required to deploy and maintain a custom conversational solution. So… let’s jump in !!

Screenshot 2020-05-25_16-10-25-224.png

First, before to begin to explain how to build your first Chatbot with Dynamics 365 Finance and Operations, I would suggest for you to download this “Power Virtual Agent in a Day package” in order to train & help you to jump fast in this new AI Feature of PowerPlatform.

In the first module, it will told you how to setup a Trial Environment. Of course, with Power Virtual Agent you could use a 30 day trial in order to test it. Here is the direct link to open-up a new trial :

Finally, let’s talk about price at the beginning :) Well, first of all, keep in mind that it’s not free but it’s not even expensive as like a whole project for doing a chatbot on your own… believe me… 3 years back, I was in a CRM project when an another Partner was building a full custom Bot for a Website in order to create lead automatically when Office was closed. It was getting I think 2 months to do so, with a cost likely to be at 30,000$ of consulting. And it was full of code behind, with Azure Bot Framework. So if you want now to change something, you need to hire again a developper. Power Virtual Agent, like the whole PowerPlatform, is a LowCode/NoCode Editor, help you to build fast a Chatbot for production, even intend to maintain easily without to be a Data Scientist or even a Pro Developper ! PVA will cost 1500$/month for the whole tenant. Depending if you BOT works very well, and you have a lot of sessions to handle, you will need to pay more, but still if you have larger amount of end users that use it, it of course say that it’s well working !


A small introduction from Microsoft, before jumping to the whole overview of PVA.

Using Power Virtual Agents, you can:

  • Empower your teams by allowing them to easily build bots themselves without needing intermediaries, or coding or AI expertise.

  • Reduce costs by easily automating common inquiries and freeing human agent time to deal with more complex issues.

  • Improve customer satisfaction by allowing customers to self-help and resolve issues quickly 24/7 using rich personalized bot conversations.

Screenshot 2020-05-25_21-25-45-457.png


BUT, be careful when building a Chatbot you really need to have a personalized experience for your end user, of course by doing an interface and action behind your backend, but also by providing an end-to-end single sign-on (SSO) to authenticate directly to your system in order to know which customers are we talking with. You need also to guide them, to propose answers and let him/her write anything suggested to your Bot, otherwise the user will don’t know how your Chatbot can really help them…

Screenshot 2020-05-25_21-27-21-085.png

So that why Power Virtual Agent is here for that :

Screenshot 2020-05-25_21-31-18-252.png

And mainly for the whole users ! Even Business users of course !!

Screenshot 2020-05-25_21-31-33-183.png

What I like also in PVA, it’s this good Lifecycle management in order to easily maintain your BOT in good health during every kind of changes you are facing, even COVID19. You need to change & adapt fast your customer service, PVA is here for that !

Screenshot 2020-05-25_21-31-50-647.png

And the final part… yes you can extend like you want, even if it’s a black box behind ! You have the whole PowerAutomate connectors behind to connect likely to everything you want (Services, Custom Services, onPremise or Online, Microsoft or not, multiple datasources). You can even add skills to your BOT with Azure BOT Framework if you want in the future, so really a good a start to go through with PVA, but you will never be locked if you want to achieve more in coming months…

Screenshot 2020-05-25_21-32-05-547.png

Now I will show in more details some key features of PVA.

First thing it’s the TOPICS, it’s the main part of your Chatbot. It will of course be your knowledge management base, which topics can cover your bot and which answers & actions he can handle. My MAIN best practice, your BOT will have to say Hello of course at the beginning of the conversation, but also propose something in which he can help & assist your own customers. Otherwise like I said before, how an end users can know in advance how a BOT can help them ; therefore he/she not have to write something randomly… For that, see my second images below where you can easily change the greeting topics (it’s a system topic but you can change it)

Screenshot 2020-05-25_21-43-20-228.png
Screenshot 2020-05-25_21-49-40-060.png

In each topics, you can add multiple trigger phrases. Of course, you will need to put multiple phrases, in order to be sure to handle type of sentence so that the user is redirected to the right subject, like this :

Screenshot 2020-05-25_21-47-31-971.png

You can even get suggested topics by providing an FAQ website in order to build quickly new subjects that your BOT can handle. Of course you can after edit before publishing.

Screenshot 2020-05-25_21-51-59-725.png

Finally, you can after go to your topic and handle your flow of your BOT, by going to “Authoring canvas”

Screenshot 2020-05-25_21-54-00-100.png

At the left, you can test every time you want your BOT in order to see if it’s working well. I would suggest to activate the “Track between topics”

As you can see, you can Ask Questions (of course…) , Call an action with PowerAutomate (I will show you that after) and Show a message to the end users. You can like a Flow, doing some conditional split, depending on a variables.

Screenshot 2020-05-25_21-55-35-315.png

Speaking of variables… yes good practice of course is really to add everytime at the end (output) of a question a variable in order to pass it for Call for Action PowerAutomate or even condition. Like this :

Screenshot 2020-05-25_21-59-19-363.png

In the Identify part, it’s the most important thing of AI here !

It’s here where it’s a reference of the “Entities” part of PVA. You can build your own one, but also use the Microsoft one. Like here “Number”

Screenshot 2020-05-25_22-01-05-092.png

if I go to Entities now to explain a little bit. You can see that PVA can now extract the number for ages, depending on how end users will answer. Mainly here, you will ask a question for his/her age and you can to extract it (their response) but just the age, without the “blabla” thing behind of after :)

AI feature can handle this kind of thing ! Really good…

So everytime you ask a question, you need to have an Entity to bind

Screenshot 2020-05-25_22-02-02-643.png

Like me, you can build your own one, with putting some synonyms for each Item (like it was a ComboBox behind) . Don’t forget to activate Smart Matching but it’s done by default.

Screenshot 2020-05-25_22-04-23-973.png

Don’t forget also that you can redirect each topics if you have some conditions, to handle every time the “ELSE” part and to transfer to a “real” human agent.

And every time, finish your conversation with a Survey : it’s already a standard feature and it will help you to analyze after if your Chatbot has success or not…

Screenshot 2020-05-25_22-09-16-337.png

It’s a good practice to also handle good separate topics, you can even redirect between them like this :

Screenshot 2020-05-25_22-11-51-912.png

Like I said before, you can debug your Chatbot during a conversation :

Screenshot 2020-05-25_22-14-48-085.png

And now…. the most important part, it’s of course Action ! PowerAutomate can help you to handle this kind of feature to retrieve record, update, create in every connectors you have.

Here you can add input to your Flow and get outputs.

Screenshot 2020-05-25_22-17-46-011.png

If I go to my PowerAutomate Flow directly, for this one, it’s connected to my CDS, but as I said I can even connect to a Salesforce instance if I wanted…

Screenshot 2020-05-25_22-20-05-152.png


After it’s all OK for you, you can of course publish your Chatbot.

It’s a private Demo Link URL where you can share to your QA Team in order to test & validate it.

Screenshot 2020-05-25_22-22-24-499.png

Of course, you can after publish it to every channel you want. For most of them like (Microsoft Teams & Facebook Messenger) it’s just configuration. For some of those, like Mobile App or Slack, WeChat etc… you will need to built an Azure Bot Services with some codes behind.

Screenshot 2020-05-25_22-24-40-074.png

Finally like I told you, you can use authentification with Azure Active Directory B2C with multiple providers behind (Facebook, Google etc.. the famous buttons Sign In With…)

It will help you to handle that end users will not have to connect if he/she is already connected to your own custom website with Single Sign-On feature (SSO)

Or even if you publish it to Facebook Messenger, since he/she is already connected to their Facebook Account, you can unify/match & connect without to ask him/her again to authenticate again… Good for scenarios in Retail/commerce for orders - customer services.

This is for me the more complex part for PVA. Click to this link

When your BOT is live, you can go to Analytics part, where you can find PowerBI report to know how things are going (well or… not :)

Screenshot 2020-05-25_22-30-03-983.png

For now, let’s build a quick DEMO for Dynamics 365 Finance and Operations. Let’s talk about use cases !

For ERP, you can handle a lot of features behind a Chatbot. In asset management module, for creating automatically to your employee their Work Orders, as well as Payroll - expenses - holidays in HR Module, as well as like me doing some Sales Marketing stuff with Lead Generation bot.

I have created a custom topics with some custom entities and also standard ones from Microsoft. (Like Email or Phone Number)

Screenshot 2020-05-25_22-34-12-330.png

So I ask the end users some informations. Like I said before, If I had handle the authenticate part, some attributes could be retrieve whereas asking the user to told me something that I can know automatically… but well it’s a DEMO :)

At the end I call a standard PowerAutomate Flow to create a Lead in Dynamics 365 F&O , retrieve the employee responsible for this new prospect and pass through a message this information for the potential new customers.

Screenshot 2020-05-25_22-34-36-707.png

In my Flow / PowerAutomate part, it’s simple. I have added the inputs needed coming from PVA in order to create the Lead in D365 F&O.

Screenshot 2020-05-25_22-38-10-141.png

After publish my PVA Bot, I have added to my own Facebook page to handle Messenger purpose. So now if I talk to my own company, I can talk directly (well virtually) with me :)

Screenshot 2020-05-25_22-42-57-917.png


And here the result directly to my FinOps instance of Dynamics !

Screenshot 2020-05-25_22-40-57-917.png

Hope you enjoy it. Feel free to contact me if you want to jump fast to this new AI Feature, I will be happy to help you the community.

Feel free to share it.

Thanks & see you soon !

Aurelien