---
schema_version: "1"
id: 3b25292eb7b83b13a9fa15d76d698023edd8a9cb1dda5751259e93a16c2a0647
title: Considerations When Using Omni-Channel Flows
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/omnichannel_flow_considerations.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.omnichannel_flow_considerations.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 810d14b6feafcb189ddef06e16bf5d408010dfb743f851df44b620e7b2a3b37f
description: Omni-Channel flows enable you to implement robust routing logic. To ensure work is routed as expected, review these guidelines.
products:
  - Service Cloud
release: "264"
---
# Considerations When Using Omni-Channel Flows

Omni-Channel flows enable you to implement robust routing logic. To ensure work is routed as expected, review these guidelines.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.service_editions_reference.htm&amp;language=en_US" target="_blank">View supported editions</a>.</td></tr></tbody></table>

- If an error occurs while the Omni-Channel flow executes, then the work item is routed to the fallback queue specified for the service channel.
- An Apex class in an Omni-Channel flow supports asynchronous callouts only. If you add synchronous callouts, unexpected behavior can occur, such as bots declining or not joining messaging sessions, or work not routing properly. See [Invoking Callouts Using Apex](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_callouts.htm).

## Considerations When Migrating Omni-Channel Flows With Omni-Channel Flow Actions

It is now easier to migrate Omni-Channel flows from sandbox to production environments. Previously, manual updates were required for certain flow actions post migration. Now, actions like Check Availability for Routing, Add Skill Requirements, and Route Work can be migrated without manual intervention by updating their versions to version 2.0.

To migrate the actions without manual intervention, update the versions of the actions to their 2.0 version in flows.

To update the version of the Omni-Channel flow actions:

- Open the Omni-Channel Flow in **Flow Builder**.
- Select the action in the flow and in the settings panel for the action, select **Show advanced options**.
- In the **Action Version** dropdown menu select version 2.0.0. Select **Save**.

To ensure Omni-Channel Flows are migrated as expected, review these guidelines.

- While migrating Omni-Channel Flows with actions, the skills referenced with the actions aren't migrated. You can create the skills that are used in the flows in the target organization and then proceed with the migration.
- The skills-based routing rules referenced by flow actions can’t be migrated. You can re-create them after deployment. You can use the AddSkillRequirement action as an alternative.
- When moving Route Work actions, choosing an Agent or Queue as the routing target may cause problems after the action is moved. To avoid this, use a variable to dynamically look up the required Agent or Queue within the flow instead of hard-coding the value. You can also use the Get Record flow action. This approach will ensure that the Route Work action functions correctly after migration.
- When using variables in Omni-Channel flow actions, make sure they retrieve records by name to fetch the corresponding ID. This approach ensures that the correct IDs are used after migrating flows.
- Service channels can’t be migrated. You have to create the required service channels in the target organization before migrating Omni-Channel flows.
- The references to Agent and Queue need a workaround to be migrated. Workaround for the references to the User Entity - Agent
    - Use a Get Record flow action to retrieve the Agent ID (ex: By Username or email)
    - In the Omni-Channel action field, use the User ID retrieved from the previous step
- Workaround for the references to the Queue Entity
    - Use a Get Record flow action to retrieve the Queue ID (ex: By Queue Name)
    - In the Omni-Channel action field, use the Queue ID retrieved from the previous step for any field referencing a queue