The Power Virtual Agents (PVA) unified canvas is a new building experience that brings together the low-code PVA as we know, with pro-code capabilities from Bot Framework Composer. The unified canvas has a lot to offer, including the ability to easily add message variations, send images and videos, add adaptive cards to your bot, and a lot more. Here is an overview of how you can try the unified canvas and the changes it brings.

Screenshot of Power Virtual Agents

Enabling the new experience

This new unified canvas is currently in preview, so you should not use it for bots you are intending to use in production yet. But if you want to test out the new features to see what is on offer, you can create a new bot.

Head to https://web.powerva.microsoft.com/ and sign in. From the home page, select your environment, then click Create.

Screenshot of PVA: Click create

Select Try the unified canvas (preview) to create your new bot with the new experience. This is only available for English (US) speaking bots at the moment. From the Chatbots page, you will be able to see all the bots in your environment, as well as if they are a production bot or preview (i.e. built with the unified canvas).

Screenshot of PVA: List of chatbots

Custom & System topics

The topics area is broken up between custom and system topics.

  • Custom: You can create new ones, turn them on/off, make any modifications including changing trigger phrases
  • System: Cannot be deleted, but can be turned on/off. Most do not have trigger phrases.

Topics such as Greeting and Goodbye are included as custom topics. A change here to mention is that you can modify the trigger phrases for these, which previously you could not do. For example, previously if someone said “What’s up” to the bot to initiate the conversation, the bot would not understand this as a Greeting trigger phrase. Now, you could add this and other greetings to the trigger phrases.

Screenshot of PVA: Add trigger phrases to Greeting topic

Conversation Start is included as a system topic. You’ll notice that when you enter PVA in the new experience, the bot initiates the conversation rather than waiting for the user to speak first. You can modify this behaviour from the Conversation Start topic.

Screenshot of PVA: Conversation Start topic

Media: images, GIFs, videos

It’s been possible to add images, GIFs and videos in PVA before, but not simply. You had to use a Power Automate flow (or used the pro-code Bot Framework Composer) to do this. Now, directly within the topic authoring canvas you can insert media. The media will need to be hosted publicly online somewhere for the bot to access it.

In your node, clicking +Add will give you the option to add media. Then, just paste in the URL for the media. You can even add multiple images per node.

Screenshot of PVA: Adding media to a node

Message variations and speech

You can change up how the bot responds by adding message variations. In your node, select +Add > Message variation. The bot will choose one of these variations when responding, which means it wont have the same script each time.

Screenshot of PVA: Message variations

Within a node, you can also customise the message if it was accessed via a speech channel. Switch from Text to Speech in the node, and type in the message as it should be spoken. SSML tags can be used, so you can specify if there should be a break or emphasis for spoken words.

Screenshot of speech message variation in PVA

Power Fx

Power Fx is the formula language used across Power Apps and other Power Platform tools. It is a low code formula language which allows you to add logic within your bot conversation, without needing to use Power Automate. For example, you could:

  • Do maths/calculations such as multiplication, sum, average, rounding up or down
  • Adding condtions in the topic based on the date
  • Change the formatting of responses
  • Add variables in strings

Here is a reference to the types of formulas.

You can use the Set Variable Value node to create a new variable or use an existing one, and apply a formula to set it’s value.

Screenshot of adding Power Fx formula in PVA

Basic Cards

You can add a Basic Card to your node for the user to interact with. The card can have text, an image and buttons.

Screenshot of adding a card with image and button in PVA

Your buttons can do the following actions:

  • Send a message: Clicking the button will send a message to the bot and appear in the chat
  • Open URL: Navigate the user to the linked URL
  • Make a call: Initiate a phone call to the specified number
  • Send a hidden message: A message will be sent to the bot, but will not be visible in the chat

Quick Replies

You can pre-define replies to a message or question. The user will be presented with these options in the chat. In addition, the quick reply can also initiate an action as detailed above: open a URL, make a call, or send a hidden message. Click +Add in your node to add quick replies.

Screenshot of adding quick replies to a message node in PVA

Adaptive Cards

An adaptive card is similar to an interactive widget you can add within the chat. JSON is used to create these, so it may not be something for all citizen developers to use. You can create these adaptive cards directly in the PVA authoring canvas. You could create your own adaptive card from scratch, or leverage the templates- which is a good way for citizen developers to try it out.

To access templates, head to Designer | Adaptive Cards and click New card. You can browse through the examples and select the one you want.

Screenshot of browsing Adaptive Card samples

Click Copy card payload, then paste it in PVA.

Screenshot of copying card payload in Adaptive Cards
Screenshot of the card payload added in PVA to create an Adaptive Card

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s