Guide to setup Omni Channel in Salesforce with Video

We can route case or lead records to Queue on basis of assignment rules. Queue can also be set as an owner for custom object records. However, once record is assigned to queue, it needs manual intervention to assign it further to members in queue or queue member can assign to themselves. Queue members assigning to themselves, however may result into cherry picking. Some agents may resolve easier cases and some of them only gets time consuming or hard cases.

Omni-Channel offering from Service cloud is promising product and resolves this problem to some extend. It can automatically route records to agents in queue on basis of incoming case complexity and work load of agents.

Omni-Channel in Salesforce
Omni-Channel in Salesforce

In this post, we will walk through steps to set up Omni-Channel.

Step 1 : Enable Omni Channel

Navigate to Setup | Build | Customize | Omni-Channel | Omni-Channel Settings and click on checkbox Enable Omni-Channel.

Step 2 : Create a Service Channel

Next step is to determine that which object should be enabled for Omni-Channel. In our case, we will select Case object. It can be done by navigating to Setup | Build | Customize | Omni-Channel | Service Channels | New. If you know how to build custom components in Service cloud then you can customize Omni-Channel component here.

Step 3 : Create Routing Configuration

This is very important step where we define size of incoming work which needs to be auto assign to agents. Navigate to Setup | Build | Customize | Omni-Channel | Routing Configurations.

Routing Configurations in Omni-Channel Salesforce
Routing Configurations in Omni-Channel Salesforce

In Routing Settings, we need to define priority of incoming item. The routing priority determines the order in which work items across your Omni-Channel queues get pushed to your agents. Work items with a lower priority number get pushed to your agents first.

The routing model determines how to evenly distribute work items to your agents and acts as a tiebreaker if two or more agents feasibly qualify to take on the same work item. If you choose “Least Active” as your routing model, the agent who has the fewest number of open work items will be the lucky winner. If you choose the “Most Available” routing model, new work will be routed to the agent who has the greatest difference between the work item capacity they can handle (as determined by the capacity they’re assigned in their Presence Configuration) and the capacity of the items they’re actually working on.

Push Time-Out determines how much seconds agent has to accept incoming work before it is rerouted to another agent.

Step 4 : Create Presence Statuses

Basically, there could be only two statuses. Agents are either available for incoming work item or busy in some other task. Online statuses let agents receive new work items. Busy statuses make your agents appear away and indicate that they’re unavailable to receive work items

You might be wondering that if that’s situation then why do we even need to create status ?

Consider this, we have omni channel enabled for Case and Lead. Agent want’s to accept any new Lead however don’t want to work on case. There are many other scenarios and that why its very useful.

Omni Channel - Service Presence Statuses
Omni Channel – Service Presence Statuses

We can define Service channel for which the status will be enabled.

Step 5 : Setting up Presence Configurations

Next step is to define which users are able to access Omni Channel status. We need to create a new Configuration by navigating to Setup | Build | Customize | Omni-Channel | Presence Configurations.

Omni Channel - Presence Configurations
Omni Channel – Presence Configurations

Presence Configurations determine how much work agents can take on and what Omni-Channel behaviours they can access while they assist customers. You can have multiple configurations for different types or groups of agents who handle different work. Each agent can be assigned to only one Presence Configuration. Unless you assign them to another configuration, all of your agents are assigned to the Default Presence Configuration, which Salesforce creates for you automatically to get you up and running more easily.

You can specify your agent’s overall capacity for work items―that is, the amount of work an agent can take on at a time. In addition, you can indicate how agents can interact with work that’s assigned to them, such as whether or not agents can decline assignments. You can assign individual agents or whole profiles to Presence Configurations. Remember, each agent can be assigned to only one configuration.

Step 6 : Providing access to Profile for Presence Statuses

Next step is to determine which profile can see statuses of omni channel. Navigate to profile and add all statuses as shown in below image.

Omni Channel - Enabled Service Presence Status Access
Omni Channel – Enabled Service Presence Status Access

Step 7 : Enable queue for Routing configuration

Now we need to link Queue with correct Routing Configuration created in step 3. Queue with help of assignment rule will decide which type of records needs to go to that queue and Routing configuration can decide work load and auto assignment of record to queue members.

Step 8 : Add Omni Channel component in Service cloud

Last step is to enable Omni channel component in Service cloud. And we are done. You can jump into Omni channel right now, don’t worry water is fine 😉

If you are interested, below Video walks through complete process of setting up Omni Channel in Salesforce.




Related Posts


10 responses to “Guide to setup Omni Channel in Salesforce with Video”

  1. Abhilash K Avatar
    Abhilash K

    Did you get the notorious ‘At Capacity’ error while testing this out? Not sure if this happens only when you combine Live Agent and Omni-channel (Omni-channel can replace the Live Agent component in Console). I think Omni-channel still needs time to mature.

    1. Jitendra Zaa Avatar

      I have not received capacity error yet However agree that Omni channel needs to evolved more. I have developed custom solution in many projects for routing based on round robin, sticky and custom criteria based which are very powerful, however at same time it consumes cpu time making system heavier. I would rather wait for Omni channel to get better instead of going with some custom solution.

  2. Priyanka Singh Avatar
    Priyanka Singh

    Hi, how can i implement video calling in salesforce considering that if i dont have service cloud && user to user calling??? urgent requirement in project.

    1. Jitendra Zaa Avatar

      You can use SOS objects. However, not sure if it supports desktop application.

      1. Priyanka Singh Avatar
        Priyanka Singh

        hi sir,can i get some code.Plz post some code that will be helpful.

  3. Ritiks Avatar

    Hi Sir,
    I have implemented Omni channel in my project. However, I am facing an issue.
    Whenever a case comes up in any agent’s Omni channel it also changes the owner of the case to the agent.

    So, for example, if there is case which is assigned to ‘Queue 1’ and ‘Agent 1’ is the member of the queue. Whenever the ‘Agent 1’ comes online, the case comes up in the Omni channel of ‘Agent 1’, also, the case owner gets changed automatically to ‘Agent 1’. However, if the agent declines the case or logs of the Omni channel, the case get reassigned to queue.
    Could you please let me know if there is any configuration that I am missing. Or is the way Omni channel behaves?

    1. Shivani Avatar

      I am also facing this issue. Do you get solution for this?Please let me know.
      Urgent Solution Required.

  4. shravan bowrampet Avatar
    shravan bowrampet

    Hi Jitendra,

    I have written UserservicePresence trigger and the functionality is working fine. But I’m unable to write test class for the trigger as DML is not allowed on UserServicePresence trigger.

    Could you please let me know if you know a way to write code coverage for this trigger?

  5. Rahul Gade Avatar
    Rahul Gade

    ekdam farzi….copy paste from salesforce document

    1. Dayanand Kumbhar Avatar
      Dayanand Kumbhar

      hahahaha..agree with Rahul

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Jitendra Zaa

Subscribe now to keep reading and get access to the full archive.

Continue Reading