Copilot Studio — Overview

Copilot Studio, formerly known as Power Virtual Agents, is a platform provided by Microsoft for codeless chatbot development. Therefore, this platform can be used instead of creating a bot with the Microsoft Bot Framework. Please read the Microsoft documentation on a more detailed guide.

Usage

The Direct Line secret necessary to add the bot on Third-Party Bots can be found in the Security Settings of Copilot Studio bot. Please ensure Secured Access is enabled.

PVA-secret Figure 4.1 Direct Line Secret in Copilot Studio

PVA-secret Figure 4.2 Authentication configuration in Copilot Studio

Adding this bot to Third-Party Bots will already enable you to leverage most of the bot functionality. For certain features of the Copilot platform, however, you should also mark the bot as a Copilot bot in the bot configuration

Copilot Studio is creating regional bots by default so make sure to use the right Base URI as the Direct Line Endpoint in the bot configuration.

Limitations

End of Conversation: This node type found under End the conversation=>End with survey will send a native endOfConversation activity. As this is not supported by the Direct Line Channel this connector is also not capable of supporting this node. To close a conversation send custom Channel Data as seen in Figure 4.5.

There are currently issues with the native transfer node of Copilot Studio. See the section below for more details.

The connector will send any Markdown as provided and not process the text further.

Features

Third-Party Bots currently supports the following features specific to Copilot Studio:

Greeting Topic

By enabling Copilot Studio on Bots in Third-Party Bots the connector will generate a native welcome event on a new or transferred conversation instead of the custom one described under Basic Content. This will trigger the System Topic Conversation Start configured on Copilot Studio.

Multiple Choice options

A question node in Copilot Studio can be defined to provide predefined options for users. Third-Party Bots will automatically translate these options to quick replies.

Multiple Choice Example Figure 4.3 Question node in Copilot Studio

Transfer to Agent

This node can be selected under Topic Management=>Transfer conversation and will create a native event activity with the name handoff.initiate. Third-Party Bots supports this event. It is, however, crucial to take an additional step for it to work as a Conversational Cloud transfer request. A variable named skill needs to be set before the transfer node is executed.

Transfer example Figure 4.4 Transfer to agent

The node allows to define a Message to agent. This message will be sent before the transfer and is not visible to the customer.

Copilot Studio configures a system topic named Escalate by default. Please ensure that its trigger phrases don't interfere with your desired conversation flow.

Channel Data support

channelData can be added in Copilot Studio to different kind of activities inside the activity properties, e.g. on Message nodes. To make Copilot Studio send the data as an object the channelData has to be provided as a variable of type "record". One way to achieve this is with "Variable Management" -> "Parse value". As value a json string can be provided directly or in form of another variable. A schema must be provided for the data type, but this schema can be generated automatically from the same content that is set as the value.

Channel Data example Channel Data example Figure 4.5 Sending channelData in Copilot Studio