AI models in Power Virtual Agents

Power Virtual Agents hosts multiple AI models and AI capabilities on a single service, the core of which is a transformer-based natural language understanding (NLU) model.

Traditionally, intent triggering (how an AI model determines the intent of a question posed to it, by using NLU to understand what a user is asking) is formalized as a multi-class classification problem, in which the model is highly associated with known categories; any change to these categories will result in the need to build a new AI model.

Power Virtual Agents, however, employs a language understanding model that uses an example-based approach, powered by a deep neural model. This type of large-scale model only needs to be trained once with large amounts of data using AI supercomputing, and can then be used for specific tasks with few examples without further training. The use of this model is part of the AI at Scale initiative by Microsoft, and means the way AI is developed and used is changing. Specifically for Power Virtual Agents, the use of this model allows for an intuitive way for bot makers to work on their bot content confidently, without having to involve AI experts.

The use of this type of model means that in Power Virtual Agents, when you craft trigger phrases for a topic, you only need to provide a few examples, usually in the range of five to 10 phrases for a single topic. Shorter trigger phrases are better, and you should aim for two to 10 words. You just need to make sure trigger phrases are semantically different: changing a single verb or noun could be enough to expand a topic’s coverage. Adding things like new articles (changing or adding ‘the’ or ‘a’ or ‘an’), changing capitalization, adding contractions (you’re or don’t), or adding plurals won’t improve the triggering because contractions are already accounted for in the AI model.

These tips for creating tooltips are described in the tooltip associated with the Trigger phrases section on a topic’s Details page.

There are some specific features that further improve how the AI in Power Virtual Agents understands what your bot users are asking, and how the AI provides answers.

Advanced AI features in Power Virtual Agents


The AI capabilities listed in this topic are in preview, available to bots created with English as the set language.

Automatic triggering improvements (Preview)

The automatic triggering feature improves intent triggering by using AI to automatically generate new trigger phrases by analyzing previous bot traffic.

With the continuous learning in Power Virtual Agents provided by this feature, each conversation will make the next one better – using reinforcement learning and signals from responses to “Did you mean” questions: when the bot is unsure of the bot user’s response it will ask a clarifying question. The bot then learns automatically from the bot user’s responses and will not have to ask again.

Over time, as users interact and talk to the bot, it will get better and better.

In the following screenshot, the first time the bot comes across a question it doesn’t understand, it asks for clarification.

On the left side of the image, a bot user asks “I’d like to purchase somethign”, to which the bot says “Sorry, I didn’t get that. Did you mean:” and then provides a few options such as “Buy items” and “Buy service”. In this case, the bot user selected “Buy items”.

The next time someone asks the same question, the bot doesn’t ask for clarification – it knows from previous interactions what the bot user is likely asking to buy items, so it goes straight into the purchasing topic, replying to the question “I’d like to purchase somethign” with “I am happy to help you place your order. To what state will you be shipping?”. In this example, it also understands the misspelling of “somethign” to mean “something”, so it’s able to carry over the improved intent triggering even though the bot user’s question is spelled differently.

Conversation personalization (Preview)

When this feature is enabled, the bot will reuse information from Microsoft Graph and Azure Active Directory (Azure AD) throughout the course of a conversation. This feature allows the bot to use already existing information to enhance and personalize future conversations. For example, if a user mentions a name, email, or zip code these properties are stored and used in later conversations without having to reprompt the user.

Specifically, with this feature enabled, when the bot asks questions such as those in the following table, the corresponding user information will be pulled from Microsoft Graph and Azure AD (for authenticated users) and provided as prompts for the user to choose as an option.

Sample bot questions User property automatically filled from Microsoft Graph or Azure AD

Where do you live?

For assistance with this matter you’ll need to provide your address.

Thank you for that. Please give me 2-3 minutes to review your previous case. May I know your address?

OK. I’ll need you to enter your annual income in order to assist.

OK. Can I get your annual income so I can help with that?
Annual income

I’ll help if I can. Would you tell me when you were born please (day/month/year)?

What is your date of birth?

Could you give me your date of birth, please?
Date of birth

I can help you out with that. What’s your business phone number so I can go ahead?

Will proceed if you please provide your work phone number to contact you?
Business phone number

Can you supply your city of residence?

Please provide your city of residence.

I agree. I’d like to know your city of residence to continue. Please tell me what city you’re in.
City of residence

OK, no problem. Can you tell me the country where you live?

Let me assist you with your concern regarding your DVD. Before we proceed, please provide me with the country you are in.
Country of residence

For assistance with this matter you’ll need to provide your email address.

Tell me the e-mail address where I can contact you.
Email address

Please tell me: what is your fax number?

Alright. Go ahead and enter your telefax number for me please.
Fax number

I’d be glad to help you with that. By the way, may I ask for your first name so that I can address you properly?

Please enter your name for me.

What’s your first name?
First name

For assistance with this matter you’ll need to provide your gender.

Sure, I can assist with that. What is your gender?

Please enter your gender.

What is your home phone number?

Please provide your home phone number.
Home phone number

I’ll help if I can. Would you tell me your job title please?

Sure, I’d be glad to help. Please enter your career title to proceed.
Job title

Might I know your last name in order to proceed?

I see. Allow me to review this case number. Can you also tell me your last name for me to address you properly?
Last name

I’ll see if I can help. Could you please enter your director’s name?

I’ll help you if I can. could you tell me your principal’s name, please?

What is your manager’s name?

Please share the name of your supervisor.
Manager’s name

Wondering if you would please provide your conjugal status?

To assist you I’ll need you to enter your marital status.
Marital status

Wondering if you would please provide your middle name?

I’d be glad to help you with that. By the way, may I ask for your middle name so that I can address you properly?
Middle name

Could you please provide me with your mobile phone number?

It’s not a problem. I’ll just need your cell phone number please.
Mobile phone number

I’ll need your nickname please?

It’s my pleasure to assist. Can you inform me of your nickname?
Nick name

Sure. To help with that, I’ll need you to specify how many children you have please.

Please indicate the number of children you have.
Number of children

I’ll see if I can help. Will you be able to enter your partner’s full name?

Please tell me your spouse’s first name.

Can you give me the first name of your husband or wife, please?
Spouse/partner name

Can you please tell me what your state of residence is?

I can help you out with that. What’s your state of residence so I can go ahead?
State/province of residence

Wondering if you would please provide your zip code?

I can help you out with that. What’s your zip code so I can go ahead?
Zip code

Enable or disable AI capabilities

To use these advanced AI capabilities in Power Virtual Agents:

  1. Open a bot you want to enable or disable the features for.
  2. Expand Manage on the side navigation pane, then go to the AI capabilities tab.
  3. For each feature, select the checkbox to turn the feature on or off.
  4. Select Save at the top of the tab.
Share this article on

Thank you!

Here is your guide to “Azure for Retail”!

Thank you!

Here is your guide to “Azure for Manufacturing”!

Thank you!

Here is your guide to “Microsoft Dynamics 365 Business Central Capability Guide”!

Thank you!

Here is your guide to “The Developer’s 7-Step Guide to Low-Code App Development”!