Configure seamless and contextual hand-off to Omnichannel for Customer Service

[This topic is pre-release documentation and is subject to change.]

With Power Virtual Agents, you can seamlessly and contextually hand off escalated Power Virtual Agents conversations to live (human) agents using Omnichannel for Dynamics 365 Customer Service.

When you hand off a conversation, you share the full history of the conversation (the context) as well as all user-defined variables. This allows Omnichannel for Customer Service to route incoming escalations to the right live agent queue and enables engaging live agents to review context from the prior conversation and resume the conversation.

For more information about hand off, and how to use hand-off within a bot conversation, see the Using Transfer to agent node topic.


Configure hand-off in the Power Virtual Agents app

Sign in to the Power Virtual Agents bot you want to connect to Omnichannel for Customer Service.

  1. Select Settings, and then Transfer to agent.


  2. Select the Dynamics 365 Omnichannel for Customer Service tile.


  3. To acknowledge the privacy policy, select Next.


    Ensure that you adhere to data sovereignty laws when you configure this integration as your bot will store and send user information to your Omnichannel for Customer Service instance.

  4. Follow the steps to create or reuse an existing Azure application ID. Copy the Application (client) ID and paste it in the text box provided.


    Omnichannel models bots as "application users" in the system. Therefore, the Application (client) ID that you use must be unique to your organization (your Common Data Service organization or environment).

  5. Power Virtual Agents uses a Teams channel to communicate with Omnichannel for Customer Service. If a Teams channel is not enabled, a Teams channel will be enabled when you select Next.

  6. Select the environment where your Omnichannel for Customer Service instance is provisioned.

  7. Select the Go to Omnichannel link to continue configuring the bot connection in Omnichannel for Customer Service.


Your bot must be in a published state for end-to-end capabilities to work as expected. Ensure that you have published your bot prior to validating the integrated experience.

If you want to test the bot on your custom website, you must use the embed code that is specified in the chat widget you set up in Omnichannel (see Prerequisites in the Integrate a Power Virtual Agents bot article). If you use the embed code from the Power Virtual Agents site, hand-off will not occur correctly.

Remove Omnichannel for Customer Service connection

Once your bot has been connected to Omnichannel for Customer Service, you cannot remove the connection setting. If you erroneously connected to the wrong instance or environment, you will need to create a new bot and try connecting to Omnichannel for Customer Service again.

Content display issues

Some content may not show, such as emojis and certain types of notes or variables. If you encounter problems with the display of content, see the Omnichannel for Customer Service documentation library.

Known limitations

Description Limitation
Other publication channels: Support for hand-off to a live agent across multiple publication channels (such as Teams, Facebook, web). Each channel deals with hand-off in their own unique way. The Omnichannel for Customer Service hand-off experience must leverage an engagement hub that supports Omnichannel for Customer Service.
Adaptive cards: An adaptive card is a customizable card that can contain any combination of text, speech, images, buttons, and input fields. Power Virtual Agents supports adaptive cards for CSAT surveys.
Typing: A bot receives a typing activity to indicate that the user is typing a response. A bot may send a typing activity to indicate to the user that it is working to fulfill a request or compile a response. Typing indicators will not appear.
Suggested actions: Suggested actions enable your bot to present buttons that the user can tap to provide input. Suggested actions appear close to the composer and enhance user experience. They enable the user to answer a question or make a selection with a simple tap of a button, rather than having to type a response with a keyboard. Unlike buttons that appear within rich cards (which remain visible and accessible to the user even after being tapped), buttons that appear within the suggested actions pane will disappear after the user makes a selection. This prevents the user from tapping stale buttons within a conversation and simplifies bot development (since you will not need to account for that scenario).

When you configure the topics for your bot, we recommend not using suggested actions. In the Identify field, do not use multiple-choice options and instead select User's entire response.

Bot configuration Identify field