3 Tips for Starting with Power Virtual Agents

Gayan Perera, 20 November 2019

Microsoft recently announced a very neat feature allowing customers to deploy AI-driven virtual agents. You can create and deploy these agents using no-code/low-code WYSIWYG editors!

If you want to give it a try, head over to https://powervirtualagents.microsoft.com/en-us/ and sign up for a trial. Once you’ve done that, you’ll want to make sure you do the following, otherwise you may not be able to get your virtual agent to work!

Tip 1 – Select the correct environment

Once you’ve signed up, you’ll be presented with a ‘Create a new bot’ screen. This screen allows you to give the bot a name along with a “More options” menu. If you’re like me and have access to multiple environments, you’ll need to make sure you expand “More options” and select the environment you want to deploy the virtual agent to.


Tip 2 – Create the Flow in a Solution if you want the virtual agent to be able to call the Flow

The Power Virtual Agent has a nifty little feature that makes it possible for you to call a Flow with input parameters, then get the response from the Flow and carry on the happy path. To do this, you need to create the Flow in a Common Data Service Solution! E.g. if the Flow is sitting outside of a solution, you’ll not see the Flow inside the virtual agency’s ‘Call an action’ screen.



Tip 3 – Ensure input and output variable names are unique

This one is a little hard to explain but here goes. When you’re authoring your topic, you’ll most likely ask a question to elicit some information, this information can be stored in a variable. This variable can then be passed into a Flow. The Flow itself will have a variable name because the Flow has a return structure defined as a JSON schema. It’s important that you ensure the variable name you give when asking a question via the virtual agent is different to the input variable name of the Flow.

For example, see the screenshot below. You can see that the variable name for the output of the ‘Ask a question’ step is called “MembershipNumberOrEmail”. The input variable name of the Flow is “NumberOrEmail”. if I were to rename “MembershipNumberOrEmail” to “NumberOrEmail”,  the Power Virtual Agent will run without crashing, however it won’t pass the parameter to the Flow, and therefore the Flow will return nothing!

Basically, ensure you use unique variable names.