Transfer conversations to agents by using Omnichannel for Customer Service

Completed

Situations might occur where a copilot needs to hand off a conversation to a live agent. This situation often happens when a user has asked for information that the copilot doesn't know, or after the copilot has captured the necessary information that is required to ensure that the conversation can be routed correctly to a live agent. When a copilot hands off a conversation to live agent, it shares the full history of the conversation (the context) and any variables with the agent. Microsoft Copilot Studio copilots can be configured to hand off conversations to agents for organizations that use customer engagement applications to conduct a generic handoff, as described in configure generic handoff. This feature allows your customer engagement application to route incoming escalations to the appropriate live agent queue, and it also allows the live agents to review exactly what occurred in the prior conversation so that they can resume at that point. This process prevents agents from potentially asking for information that was previously captured by the copilot.

Transfer conversations to agents

Two primary components that are involved when a copilot transfers to an agent are:

  • Telling the copilot when to transfer the conversation to an agent.

  • Telling the copilot where to transfer the conversation.

Tell the copilot when to transfer the conversation to an agent

The way that Microsoft Copilot Studio tells the copilot that it's time to transfer a conversation to an agent is always the same. Microsoft Copilot Studio includes the Topic management conversation node, which includes options for switching between different topics, and how to potentially end a conversation. It provides multiple actions that can be initiated:

  • Go to another topic – Allows you to specify another topic that the user should be redirected to.

  • End current topic – The current topic is ended to ensure that it's considered completed.

  • End all topics – Any previously initiated topics in the conversation is closed.

  • Transfer conversation - Escalates the conversation to a live agent.

  • Go to step – Allows you to select any node within the current topic to redirect users to.

  • End conversation – Ends the conversation

Screenshot of transfer conversation selected from the menu.

Copilot authors can initiate a transfer to an agent from within a specific topic. For example, if a customer indicates that their entire point-of-sale system is down, the copilot can automatically call the Transfer conversation node and transfer it to an agent. Another way to accomplish this task is through the Escalate topic. All copilots include a conversation topic called Escalate, which includes a message that is presented to the customer. You can modify the Escalate topic to include a Topic Management node that would transfer to an agent. The Escalate topic is automatically triggered when someone types content such as, "speak to agent." You can also trigger the Escalate topic from within another topic by selecting Go to another topic and then selecting it.

Configure where to hand off the conversation

To facilitate the transfer of a conversation to an agent, you need to configure the copilot to send the conversation to a customer engagement hub such as Dynamics 365 Customer Service instance.

Your copilot can be configured to send conversations to the following customer engagement hubs:

  • Dynamics 365 Customer Service

  • Genesys

  • LivePerson

  • Salesforce

  • ServiceNow

  • ZenDesk

  • Custom engagement hub

Only published copilots can be used to ensure that the end-to-end capabilities work as expected. Make sure that you have published your copilot prior to validating the integrated experience.

When you create the connection between Microsoft Copilot Studio and Dynamics 365 Customer Service, a Microsoft Entra ID application registration is used to call the copilot. Creating the application registration is done on the Azure portal. You can register your apps by going to Microsoft Entra ID and creating a new registration under App registrations.

Three primary areas that can be defined when you create the application registration are:

  • Name - User-facing name of the application. This name can be changed later, if necessary.

  • Supported account types - This area defines who can access the application.

  • Redirect URI (optional) - This area contains the URL for where the app is located.

After you have defined the parameters, select the Register button.

For more information, see Use the portal to create an Microsoft Entra ID application and service principal that can access resources.

Configure transfer to agent

Each copilot can only be configured to send conversations to one Dynamics 365 Customer Service instance. You can define the Dynamics 365 instance in the individual copilot. If conversations from multiple copilots are sent to your Dynamics 365 instance, each copilot needs to be configured individually.

To configure the handoff, select Channels and go to Customer engagement hub. This screen allows you to define how the copilot facilitates handoff to different applications. Select the Dynamics 365 Customer Service tile to begin the configuration process.

Screenshot of Omnichannel selected.

You need to select the Dynamics 365 Customer Service environment that you want to use with the copilot. Make sure that you select an environment where your Dynamics 365 Customer Service instance is provisioned. The list shows all available environments, even if Dynamics 365 Customer Service isn't provisioned.

The primary component that you need to provide is the application ID for the app that you previously created for the Microsoft Entra ID registration. Dynamics 365 Customer Service models copilots as application users in the application. Modeling copilots as application users ensures that the copilot can have conversations sent to it like a human agent would. It's important that the application ID is unique to your organization (your Microsoft Dataverse organization or environment). Each copilot that interacts with the same Dynamics 365 Customer Service environment needs to use a different application ID. You might need to create multiple application registrations to support multiple copilots.

In your Azure portal, go to Microsoft Entra ID and select App registrations. All registered applications are displayed. Select the application that you want to use with the copilot. The application ID is on the Applications overview page. Copy the ID and paste it into the Microsoft Copilot Studio Application ID field.

Microsoft Copilot Studio uses a Microsoft Teams channel to communicate with Dynamics 365 Customer Service. As you go through the setup wizard, if a Teams channel hasn't been enabled, one is enabled automatically.

When the connection has been established, you can select the Go to Omnichannel link to continue configuring the copilot connection in Omnichannel for Customer Service.

Note

When your copilot is in the same environment as your deployed customer service it automatically detects the instance and makes the connection.

Remove Dynamics 365 Customer Service connection

You can select Disconnect copilot to disable the application user that represents the copilot in your omnichannel instance. This disconnects the copilot from the specified omnichannel environment. To add your copilot back, you need to connect it again.

For more information, see Integrate a Microsoft Copilot Studio copilot and configure generic handoff.