top of page
Writer's pictureP. Ahuja

SKILL-BASED ROUTING USING FLOW (OMNICHANNEL)

Updated: Nov 8, 2023



In today's fast-paced business landscape, providing exceptional customer support is crucial for success. Salesforce Omni-Channel Flow offers a powerful solution that combines the capabilities of Omni-Channel and Flow to streamline support operations through skills-based routing. In this blog post, we will explore how organizations can leverage Omni-Channel flow to optimize resource allocation, personalize customer interactions, and boost overall customer satisfaction.


Salesforce Omni-Channel Flow combines two robust features:

Salesforce Omni-Channel and Salesforce Flow. Omni-Channel facilitates efficient work distribution, while Flow enables the creation of interactive and dynamic workflows. By integrating these capabilities, organizations can implement skills-based routing and deliver personalized and effective customer support.



The steps need to be completed before creating skill-based routing flow


  1. Enabling Omni-Channel: Start by enabling Omni-Channel from the setup menu in Salesforce. This allows you to access and configure Omni-Channel settings.

  2. Skill-Based Routing Configuration: Enable skill-based routing in the Omni-Channel settings. This ensures that work items are routed based on the specific skills required.

  3. Creating Service Channels: Define service channels that align with the different types of support your organization offers. For example, channels can be created for payments, applications, or product knowledge.

  4. Creating Routing Configurations: Set up routing configurations that determine the rules and criteria for routing work items. These configurations specify how work items are assigned to agents based on their skills and availability.

  5. Defining Skills: Create skills within Salesforce that correspond to the expertise required for different types of support. For example, you can define skills like technical expertise, customer support, or product knowledge.

  6. Assigning Skills to Service Resources: Associate skills with the service resources (agents) in your organization. This ensures that work items are routed to agents who possess the required skills.

  7. Configuring Presence Statuses: Define presence statuses that indicate the availability of agents. Presence statuses help ensure that work items are routed to available agents.

  8. Enabling Service Cloud User: Enable the Service Cloud user setting for agents in Salesforce. This allows agents to receive and handle work items routed through Omni-Channel Flow.

  9. Adding Omni-Channel Utility: Incorporate the Omni-Channel utility into your Lightning console app. This enables agents to access and manage work items seamlessly.

  10. Creating Skill-Based Routing Using Omni-Channel Flow: Finally, design and configure the Omni-Channel Flow using Salesforce Flow Builder.


Step I: Start with creating an Omni-Channel Flow


To begin our skills-based routing process, we will start with an Omni-Channel flow.


Access Salesforce Flow Builder: Navigate to Salesforce Setup and search for "Flow Builder." Click on "Flow Builder" to access the Flow Builder interface.


Create a New Flow: Click the "New Flow" button. Switch to All + Templates. Choose Omni-Channel Flow. Choose the template “Chats routed to Agents with Right Skills”. Create and Save flow as "Leads Routed to Agents with the Right Skills."



Step II: Remove unnecessary elements from the flow


As we are using a chat template from Omni - channel . Your flow will look similar to the image below. We will remove the Loop Over PreChat Entries decision element, Check that Entry in the Subject Field decision element, and Capture Subject Assignment element.


Step II: Use a Decision Element to Determine Required Skills




Step 1: Create the Decision Node:

  • Edit "Which Skill Should Be Added?” Decision element to determine the required skills for the work item.


Step 2: Define the Outcomes:

  • Edit three outcomes for the decision node: Outcome A (Skill A), Outcome B (Skill B), and Outcome C (Skill C).


Outcome A (Title Contains Product Knowledge):

  • Set the outcome label as "Title Contains Product Knowledge."

  • Define the outcome API name as "Title_Contains_Product_Knowledge."

  • Specify the condition required to execute this outcome:

  • Add a condition that checks if the title contains the phrase "Product Knowledge."

  • Operator: Contains

  • Field: Lead_Input_Record > Title

  • Value: Product Knowledge


Outcome B (Title Contains Technical Expertise):

  • Set the outcome label as "Title Contains Technical Expertise."

  • Define the outcome API name as "Title_Contains_Technical_Expertise."

  • Specify the condition required to execute this outcome:

  • Add a condition that checks if the title contains the phrase "Technical Expertise."

  • Operator: Contains

  • Field: Lead_Input_Record > Title

  • Value: Technical Expertise

Default Outcome (Title Contains Customer Service):


Step III: Use the Add Skill Requirement Action


Step 1: Set Input Values

  • In the "Search collection resources" field, specify the collection variable where the skill requirements are stored. In this case, it is {!SkillRequirements}. This ensures that the "Product Knowledge" skill requirement is added to the existing collection.


Step 2: Add Skill Requirement (10 maximum)

  • Under "Select Skills," choose "Product Knowledge" as the skill required for handling the work item.

  • In the "Use Variable" field, assign the value of the skill requirement to the variable named "SKILL." This variable will hold the skill requirement for "Product Knowledge."

  • Set the skill level to 7, indicating a higher proficiency level for this skill.

  • Check the box for "Additional Skill" and mark it as "Advanced." This indicates that individuals with advanced expertise in product knowledge are preferred for handling the work item.

  • The priority is set to "Manually assign variables," allowing you to control the order of skill requirements if needed.


Step 3: Store Output Values

  • In the "Aggregated skill requirements" field, specify the variable where the updated collection of skill requirements should be stored. In this case, it is {!SkillRequirements}. This variable will hold the updated collection that includes the skill requirement for "Product Knowledge."


Step IV: Route lead by Skill


To edit the action "Route lead by Skill," you can make the following changes:

1. Set Input Values:

  • "How Many Work Records to Route?" - Select "Single" to route a single work record (lead) at a time.

  • "Record ID Variable" - Specify the variable ({Irecordid}) that will capture the ID of the lead record for further processing, if needed.

  • "Service Channel" - Choose the appropriate service channel where the lead will be routed. In this example, it is set to "LeadSupport".

2. Route To:

  • "Skills" - Select this option to route the lead based on the defined skill requirements.

3. Skill Requirements:

  • "Define Skill Requirements" - Choose this option to specify the skill requirements for routing the lead.

  • "Run Skills-Based Routing Rules" - Select this option to trigger the skills-based routing rules defined in your system.

  • "Both" - This option indicates that either of the skill requirements can be met for the lead to be routed.

4. Skill Requirement List:

  • "Skill Requirements" - Specify the collection variable ({!SkillRequirements}) that contains the defined skill requirements. This variable should include the necessary skills (such as Product Knowledge, Technical Expertise, Customer Service) and their corresponding skill levels.

5. Routing Configuration:

  • "Select Routing Configuration" - Choose the option "Use Variable" to dynamically determine the routing configuration ID.

  • "Routing Configuration ID" - Specify the variable ({1 Skills-Based Routing}) that holds the ID of the routing configuration. In this example, it is set to "Skills-Based Routing".

Additionally, you can set the "Screen Pop Collection Variable" if you want to provide agents with relevant information or data related to the lead. This variable can be used to trigger a screen pop to display customer details or any other relevant information.


By configuring these input values, the "Route Work" action will ensure that the lead is assigned and distributed to agents who possess the necessary skills.


Finally, automate this routing via record-triggered flow when a lead record is created:




Conclusion

In this blog, I showed you how to use Omni Flow - Skill-Based Routing in Salesforce to streamline lead management and enhance customer support. By following these steps, you can save time and improve efficiency in handling customer interactions.


Happy!! to help you add to your knowledge. You can leave a comment to help me understand how the blog helped you. If you need further assistance, please contact us. You can click "Reach Us" on the website and share the issue with me.



Reference




Blog Credit:

P. Ahuja

Salesforce Developer

Avenoir Technologies Pvt. Ltd.

Reach us: team@avenoir.ai




Are you in need of Salesforce Developers?

Recent Posts

See All

Comments


bottom of page