Set up the handoff to your customer service application

Completed

When a customer engages with your organization, a customer service application such as Dynamics 365 Customer Service, initially receives the item and then routes it to an individual or to a virtual agent that's being backed by your Microsoft Copilot Studio copilot. Depending on the channel that the customer engages in, the item is routed appropriately. To do so, the system needs to know how to engage with the copilot. Organizations that use Omnichannel for Customer Service can create a copilot user in the Omnichannel for Customer Service application. Essentially, a copilot user in Omnichannel for Customer Service is a user that's supported by an application. In this case, the application is a Microsoft Copilot Studio copilot. When conversations are routed to the application user, the Microsoft Copilot Studio copilot takes over and provides the necessary interaction with the customer.

Because the copilot is an application user, the application that supports the copilot needs to be registered in Microsoft Entra ID. Microsoft Entra ID authenticates the application in the same way that it would a human user. Before a copilot can be integrated, you need to create an application registration in Microsoft Entra ID. After the application registration is defined, you can associate a Microsoft Copilot Studio copilot with the registered application.

Only users who have necessary permissions can add items in your Azure tenant and make the necessary application registrations. To create the application registration, follow these steps:

  1. Go to the Microsoft Azure portal.

  2. Register your apps. Go to Microsoft Entra ID and create a new registration under App registrations.

  3. Define the three primary areas to create the application registration as follows:

    • Name - User-facing name of the application. You can change this information later if necessary.

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

    • Redirect URI (optional) - This option is the URL where the app is located. This information isn't mandatory.

    Screenshot of the Register an application screen, showing the Name, Supported account types, and Redirect URI options.

  4. After you define the necessary information, select the Register option.

For more information, see Use the portal to create an Microsoft Entra ID application.

This process creates the initial application registration. For the purposes of this learning module, these steps fulfill the necessary requirements to deploy the Microsoft Copilot Studio copilot to the application. However, depending on your deployment scenario, technology being used, security policies, and so on, you might need to set up other items in the application, such as:

  • Assign a role to the application - Allows the application to access extra resources in your Azure subscription. For more information, see Assign a role to the application.

  • Certificates and secrets - Helps manage authentication and controls application security. For more information, see Certificates and secrets.

  • Access policies on resources - Allows you to define extra permissions that your application might need. For more information, see Configure access policies on resources.

Now that you created an application registration, you can build the Microsoft Copilot Studio copilot and then set up the copilot to hand off conversations to Omnichannel for Customer Service.

Transfer conversations to agents

The two primary components that you need to consider when a copilot transfers to an agent are:

  • How to tell the copilot when to transfer the conversation to an agent.

  • How to tell the copilot where, or to which queue, to transfer the conversation.

Tell the copilot to transfer the conversation to an agent

How a Microsoft Copilot Studio copilot tells the copilot that it's time to transfer a conversation to an agent is always the same. Microsoft Copilot Studio includes a conversation node called End the conversation. Conversation nodes are used to interact with the customer. They can display a message, ask customers a question, or direct them to a different topic. The End the conversation node signifies the end of the entire conversation and provides two actions that the user can initiate:

  • End with survey - A survey appears that asks the user if their question or issue was answered or resolved correctly.

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

    Screenshot showing how to end the conversation with a survey or transfer to an agent.

Copilot authors can end a conversation and transfer to an agent from within a specific topic. For example, if a customer indicates to the copilot that their entire point-of-sale system is down, the copilot can automatically call the End the conversation node and transfer it to an agent. Another way for the copilot to accomplish this task is by escalating the topic. All copilots include a conversation topic called Escalate. The Escalate topic includes a message to present to the customer and then it calls the End the conversation node to transfer to an agent. The Escalate topic automatically triggers when someone types a phrase like "speak to agent." The customer can also trigger the Escalate topic from within another topic by selecting Go to another topic and then selecting Escalate.

Set up where to hand off the conversation

The second part of facilitating the transfer to an agent is to set up the copilot to send the conversation to a specific Omnichannel for Customer Service instance. You can only use copilots that are published to ensure that the end-to-end capabilities work as expected. Make sure that you published your copilot before validating the integrated experience.

Additionally, you can only set up each copilot to send conversations to one Omnichannel for Customer Service instance. You can define the Dynamics 365 instance in the individual copilot. If you need conversations from multiple copilots to be sent to a specific Dynamics 365 environment, you need to set up each copilot individually.

The primary component that you need to provide is the application ID for the app that you previously registered in Microsoft Entra ID. 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 interacts with the same Omnichannel for Customer Service environment needs to use a different application ID. You might need to create multiple application registrations to support multiple copilots.

  1. In the Azure portal, go to Microsoft Entra ID and select App registrations. All registered applications display.

  2. Select the application that you want to use with the copilot. The Application ID field is on the application's overview page.

  3. Copy the ID and paste it into the Microsoft Copilot Studio Application ID field.

    Screenshot highlighting Application (client) ID on the application's overview page.

Set up the handoff

To set up the handoff, follow these steps:

  1. Expand the Manage node and select Agent transfers. This screen allows you to define how the copilot facilitates handoff to different applications, such as Omnichannel for Customer Service.

  2. Select the Omnichannel for Customer Service tile to begin the configuration process.

    Screenshot highlighting the Agent transfers option, showing the Omnichannel tile being selected.

The Omnichannel setup screen has multiple items that you can set up.

  1. To ensure that your copilot can interact through voice, such as Interactive Voice Response (IVR) or real-time media functionality, select Enable voice.

    Important

    Make sure that you've installed all necessary extensions in your environment.

  2. When setting up the connection, provide the following information:

    • See the environment this copilot is connected to - Use in scenarios where the copilot was previously connected to a Dynamics 365 instance. Likely, this information is already filled in. Make sure that you select an environment where the Omnichannel for Customer Service instance is provisioned. The list shows all available environments, even if Omnichannel for Customer Service isn't provisioned.

    • Application ID - The Application ID that you copied from Microsoft Entra ID.

    Screenshot highlighting that the Application ID value comes from your Microsoft Entra ID app.

  3. After the connection is established, select the View details in Omnichannel link to go to the Omnichannel for Customer Service instance and finish the copilot configuration. For more information, see continue configuring the copilot connection in Omnichannel for Customer Service.

Remove the Omnichannel for Customer Service connection

If you no longer want to hand off conversations from a copilot to your Omnichannel for Customer Service environment, you can disconnect it from the environment. If you need to remove the connection with Omnichannel for Customer Service, you can select the Disconnect copilot option.

Screenshot showing how to disconnect the bot if you need to remove the connection with Omnichannel.

Work with content display issues

As you work with the handoff integration, you might find that some items, such as emojis and certain types of notes or variables, might not render as intended. One reason could be limitations within Omnichannel for Customer Service or the integration between them.

For more information on Omnichannel for Customer Service issues and limitations, see Omnichannel for Customer Service issues and limitations.

For more information on known limitations with Microsoft Copilot Studio integration, see known limitations with Microsoft Copilot Studio integration.