---
schema_version: "1"
id: a1d55abd2be7c78263e419db41e44e6f1fcc6c66d432bd121526216a0050a87c
title: Route Voice Calls to a Skill with Omni-Channel Unified Routing
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/voice_omni_unified_routing_route_to_skill.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.voice_omni_unified_routing_route_to_skill.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 17271896c94d51aae06653a83e69bcfff3d3300ca727a8f16c78b9e8df40230d
description: Using Unified Routing with Omni-Channel, route voice calls with Omni-Channel skills. Make sure that a rep who has the correct skills to solve the problem takes the call.
products:
  - Service Cloud
  - Digital Engagement
release: "264"
---
# Route Voice Calls to a Skill with Omni-Channel Unified Routing

Using Unified Routing with Omni-Channel, route voice calls with Omni-Channel skills. Make sure that a rep who has the correct skills to solve the problem takes the call.

### Required Editions

This article applies to:

- Salesforce Voice with Amazon Connect
- Salesforce Voice with Partner Telephony from Amazon Connect

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><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.voice_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the user interfaces, editions, and add-ons that support Voice solutions by Salesforce.">View supported editions</a>.</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d166197e72">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">To view the Amazon Contact Centers page: </td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">Customize Application AND Manage Call Centers</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">To create and manage a contact center:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">Salesforce Voice Contact Center Admin</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">To set up Omni-Channel:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">Customize Application</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">To assign skills to service resources:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d166197e72 ">Edit on service resources</td>

          </tr>
        </tbody>
      </table>

Before you begin:

- [Configure Omni-Channel Unified Routing](https://help.salesforce.com/s/articleView?id=service.voice_omni_unified_routing_configure.htm&release=264.0.0&type=5 "Configure Omni-Channel Unified Routing for voice calls as part of contact center creation or incorporate it into your preexisting contact center. Omni-Channel Unified Routing uses Salesforce Omni-Channel as the routing engine. This means that you manage reps, queues, routing logic, rep statuses, and Command Center for Service directly in Salesforce. Use Amazon Connect to fulfill certain telephony requirements only.") for a contact center.
    - For skill-based routing, your contact center must have a holding queue in Salesforce that’s mapped to a working queue in Amazon Connect. This holding queue is required because Amazon requires a working queue, even though executeOmniFlow only returns a rep’s ARN for skill-based routing.

To set up routing to a skill, define logic that determines the skills needed to route work items and then assign skills to reps. To assign a skill to a rep, assign the skill to a service resource and then assign the service resource to the rep. Set up an Omni-Channel flow in Salesforce to route work items to reps based on the required skills. Then finish configuration in Amazon Connect.

## Configure Skills-Based Routing with Omni-Channel Unified Routing in Salesforce

1. [Prepare to route to skills](https://help.salesforce.com/s/articleView?id=service.prepare_to_route_to_skills.htm&language=en_US).
    1. Enable skills-based routing in Omni-Channel Settings.
    2. Create skills. For example, create skills that correspond to languages used for voice calls. Skills can’t be deleted after they are created.
    3. Create service resources and assign skills to service resources. This configuration assigns skills to reps.
2. Create an Omni-Channel flow with an [Add Skill Requirements action](https://help.salesforce.com/s/articleView?id=service.omnichannel_add_skill_requirement.htm&language=en_US).
    
    1. Store the output value in a variable that the Route Work action will use.
    
    ![Include an Add Skill Requirements action in the flow, using a skill like spoken English](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/voice/omni_unified_routing_skill_add_skill_requirements_action.png)
3. [Add a Route Work action](https://help.salesforce.com/s/articleView?id=service.omnichannel_add_route_action.htm&type=5&language=en_US) to the flow.
    
    1. Route to Skills.
    2. For Skill Requirements, select **Define Skill Requirements**.
    
    ![Add a Route Work action to the flow, route a single recordId variable on a Phone service channel to Skills. Define skill requirements using a Skill Requirement list.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/voice/omni_unified_routing_skill_edit_route_work_skills.png)
4. From Setup, enter and select `Amazon Contact Centers`. Select your Amazon Connect Contact Center and go to the Contact Center Channels section. Create a Contact Center Channel or edit a channel to use it for skills-based routing.
    1. Under Call Routing, set **Call Routing Type** to **Omni-Channel Flow** and select the Omni-Channel flow you defined.
    2. Set the fallback queue to a queue you created when setting up Unified Routing.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_note.png)

Note For an alternative to using an Omni-Channel flow with an Add Skill Requirements action, see [Routing with Skills-Based Routing Rules](https://help.salesforce.com/s/articleView?id=service.omnichannel_attribute_based_routing.htm&type=5&language=en_US).

## Configure Skills-Based Routing with Omni-Channel Unified Routing in Amazon Connect

1. To go to the Amazon Connect Admin Dashboard associated with your contact center, navigate to the Contact Center Details section in Salesforce and click **Telephony Provider Settings**.
2. In Amazon Connect, select **Routing** and then select **Flows**.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_note.png)
    
    Note
    
    - These instructions reference sample Amazon Connect flows for admins setting up Omni-Channel Unified Routing in a brand new contact center. For a contact center with preexisting flows, interpret the steps and referenced flows according to your current setup. For example, edit your inbound flow to meet the requirements below.
    - If you’re using our sample flows end-to-end, edit the Sample SCV Inbound Flow to transfer to the Sample SCV Omni-Channel Subflow - Omni Routing for Skills flow.
3. Edit the Sample SCV Omni-Channel Subflow - Omni Routing for Skills flow or your preexisting inbound flow that’s connected to a phone number according to your business needs.
    
    While Salesforce provides sample Amazon Connect flows as a reference, each organization usually adds unique business logic to their flow implementations. If you are updating an Amazon Connect flow to enable Omni-Channel Unified Routing to skills, reference the example flow (Sample SCV Omni-Channel Subflow - Omni Routing for Skills) and keep these considerations and requirements in mind.
    
    ![Sample SCV Omni-Channel Subflow - Omni Routing for Skills with callouts on a Set routing criteria block and Set working queue block](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/voice/omni_unified_routing_flow_considerations_skills.png)
    
    1. Include a **Set routing criteria** block (1) before the Invoke AWS Lambda function block that invokes the executeOmniFlow method.
        
        ![Set routing criteria block with Set manually selected, Requirements lists a Requirement type of Predefined attribute and a Routing (True) >= 1 requirement and Expiration set to Never expire.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/voice/omni-unified-routing-set-routing-criteria.png)
    2. In the **Invoke AWS Lambda** function block that calls executeOmniFlow (2), add a Function input parameter with the **Destination Key** of `flowDevName`. For Value, select **Set manually**, and set the value to the API name of the Omni-Channel flow used to route to skills. For additional options including fallbackQueue and flowInput parameters, see [InvokeTelephonyIntegrationApiFunction Lambda Function](https://developer.salesforce.com/docs/atlas.en-us.voice_developer_guide.meta/voice_developer_guide/voice_lambda_invoketelephonyintegration.htm) for details.
    3. If you’re using the holding queue approach that we recommend, the **Set working queue** block (3) should be set **By Queue** manually to the working (holding) queue.
        
        ![Set working queue block with By queue selected, Set manually selected, and the holding queue selected](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/support_channels/images/voice/omni-unified-routing-config-set-working-queue.png)
4. Save your work and publish the flow.