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 Omnichannel for Customer Service and to conduct a generic handoff, as described in configure generic handoff. This feature allows Omnichannel for Customer Service 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 will be ended to ensure that it's considered completed.

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

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

  • Go to step – Allows you 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'll need to configure the copilot to send the conversation to a customer engagement hub such as Omnichannel for Customer Service instance.

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

  • Dynamics 365 Omnichannel for 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 Omnichannel for 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.

Screenshot of register application details.

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 Omnichannel for Customer Service instance. You can define the Dynamics 365 instance in the individual copilot. If conversations from multiple copilots will be sent to your Dynamics 365 instance, each copilot will need to be configured individually.

To configure the handoff, select Settings > Customer engagement hub. This screen allows you to define how the copilot will facilitate handoff to different applications. Select the Omnichannel tile to begin the configuration process.

Screenshot of Omnichannel selected.

You'll need to select the Omnichannel for Customer Service environment that you want to use with the copilot. Make sure that you select an environment where your Omnichannel for Customer Service instance is provisioned. The list shows all available environments, even if Omnichannel for 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. Omnichannel for 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 will interact with the same Omnichannel for Customer Service environment will need 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 will be displayed. Select the application that you want to use with the copilot. The application ID will be 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 Omnichannel for Customer Service. As you go through the setup wizard, if a Teams channel hasn't been enabled, one will be enabled automatically.

Screenshot of add your bot button.

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.

Remove Omnichannel for Customer Service connection

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

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