Omni-Channel in Salesforce

Omni-Channel is a comprehensive customer service solution that lets contact centers push work to their agents in real time. Omni-Channel lets you create work items from your Salesforce records―including cases, chats, leads, and custom objects―and route them to the most qualified, available agents in your organization, all in real time. Omni-Channel integrates seamlessly into the Salesforce console, so it’s easy for your support agents to use.

With Omni-Channel, you can manage the priority of work items to make sure that critical assignments get taken care of quickly. You can manage your agents’ capacity and availability for work to ensure that they’re given only the number of assignments that they can handle. You can also define which agents can work on different types of assignments. Best of all, Omni-Channel routes all of these assignments to the correct agents automatically. Agents no longer have to pick and choose work items manually from a queue, and managers no longer have to triage or dispatch work to agents. Work is served to the most qualified available agent in real time!

Default Presence Configuration in Omni-Channel
When you enable Omni-Channel in your organization, Salesforce creates a presence configuration for you, called the Default Presence Configuration. All your agents are assigned to that configuration automatically. However, you can create a presence configuration and assign individual agents to it to customize Omni-Channel settings for a subset of your agents. If you reassign agents to a custom presence configuration, they’re excluded from the Default Presence Configuration.

1. Go to Omni-Channel Settings.

2. Enable Omni-Channel.

3. Go to Service Channels.

4. Click New.

5. Enter the information and click Save.

6. Go to Routing Configuration.

7. Click New.

8. Enter the information and click Save.

9. For testing purpose, create a queue with the name High-Priority Cases.

10. Go to Presence Statuses.

11. Click New.

12. Enter the information and click Save.

13. Go to a profile where you want to test. Click Edit in Enabled Service Presence Status Access.

14. Save Enable Service Presence Status Access.

15. Edit a Console app and Add Omni Channel Console Component Salesforce.

16. Open the console app. Create a case with priority High. Change the owner to High Priority Cases queue. Accept the case. It will change the owner as you.


  1. Hi,

    Thanks a lot for the explanation. I already have the queue based routing configured in my instance of Salesforce. I have 4 agents and one queue which has all the cases if no agent is active. But as soon as the first agent comes online, all the cases gets assigned to him (he has capacity) but this doesn't make sense since the other agents login within a few seconds too. Can you please advise on this?

    Thanks for your time in advance.

    1. Use Omni-Channel Supervisor tab and check their capacity.
      Also check this -

    2. Hi Magulan,

      Thank you for your reply. But the problem is not that the agents are not assigned cases.

      The scenario is:

      All agents are offline when cases are created, so the cases are temporarily in the Queue. Let's say there are 4 agents with capacity 20 and 12 cases in the queue waiting to be assigned. The first agent comes online and all 12 cases get assigned to him since the capacity is available and he is the only agent available at the moment. However, if the other 3 agents come online after a few seconds or minutes, they will have no cases to be assigned.

      Really appreciate your help. Thank you!

    3. This is working as designed. You cannot do any changes to avoid this.

    4. ok, thought so. Thank you!

      I have come up with a temporary workaround through batch/apex trigger where the cases go to the temporary queue first and then get assigned to the queue with the routing configuration once all agents go online (business hours).


    5. Thank you for sharing the workaround you did.