Implement Omni Channel from Scratch – Salesforce

In this post, we will learn how to implement Omni Channel and in my previous post, we have implemented the Live Agent if you have not read yet then Read Here.

Prerequisite: Live agent must be enabled in order to use Omni Channel.


Problem while using Live Agent: – The company XYZ has now successfully enabled the live agent at their company site and it was working fine however as business growing company  the Global Support VP is getting complaints

  1. Some agents are getting many cases and some are not getting any cases at all.
  2. Agents need to Case manually from the Queues if the case is created manually or any other resource like Email-to-Case. And assigning the cases manually leads the wastage of time.
  3. Also, it is hard to manage what is the capacity of the particular agent and what is the traffic. 

Salesforce Admin has come up with an idea to implement the Omni Channel which will resolve all above problem and will increase the efficiency of the Support Agent.


Introduction to Omni Channel:- Omni-Channel is a flexible, customizable feature, and you can configure it declaratively—that is, without writing code. Use Omni-Channel to manage the priority of work items, which makes it a cinch to route important work items to agents quickly. Manage your agents’ capacity to take on work items so that they’re given only the number of assignments that they can handle.

Best of all, Omni-Channel routes all these assignments to the correct agents automatically. Agents no longer have to pick and choose work assignments manually from a queue, which saves everyone in your call center time, effort, and brainpower.

Permission to set up the Omni Channel is Customize Application at profile level.

Omni Channel.png

Step1 – Enable Omni Channel:- Setup -> Build -> Customize -> Omni-Channel -> Omni-Channel Settings -> Select Enable Omni-Channel Checkbox -> Save

Enable Omni Channel.png

Setp2 – Create Service Channel:- Service Channels let you turn any Salesforce object―such as a case, lead, SOS session, or even a custom object―into a work record. Omni-Channel then plucks these work items from their queues―like flowers from the garden of agent productivity―and routes them to your agents in real time.


Setup -> Build -> Customize -> Omni-Channel ->  Service Channels -> New -> 

Service Channel.png

Step3 – Create Routing Configurations: – Routing Configurations determine how work items are routed to agents. They let you prioritize the relative importance and size of work items across your Omni-Channel Queues. That way, the most important work items are handled accordingly, and work is evenly distributed to your agents. After all, we want to make sure every agent gets to have an equal amount of fun, right?

Setup -> Build -> Customize -> Omni-Channel -> Routing Configurations -> New -> 

Routing Configurations.png

Explanation of above Screenshot

  1. Overflow Assignee:- Sets the user or queue that Omni-Channel routes items to when your org reaches Omni-Channel limits.
  2. Routing Priority: – The order in which work items from the queue that are associated with this routing configuration are routed to agents.
  3. Routing Model: Specify how incoming work items are directed to agents using Omni-Channel.
    1. Least Active: – Incoming work items are routed to the agent with the least amount of open work. 
    2. Most Available: – Incoming work items are routed to the agent with the greatest difference between work item capacity and open work items. 

Step4 – Create Queue and Associated with Routing Configurations: – 

Setup -> Administrator -> Manage Users -> Queues -> New ->

Create Queue.png

Step5 – Add Omni Channel to the Console Application: – 

Setup -> Create -> Apps -> Edit Next to Sample Console App(OR You may Select your) -> Scroos Down to “Choose Console Components” Section -> Add Omni Channel From “Available Items” to “Selected Items”

Add Omni Channel.png

Now, as we have done almost part of implementing the Omni Channel. Let’s have a look how our console application looks like

Click on App Launcher and Select Sample Application


Step6 – Add Presence Status to Omni Channel: – 

To see the list of available status like Online, Offline, Away, Available For Cases, Available For Chat and etc. We need to create the Presence Status.

Setup -> Build -> Customize -> Omni-Channel -> Presence Status -> New -> 

Presence Status

Repeat the above process to add more presence status.

Step7 – Add Presence Status to Correct Users Profile: – 

Adding the presence status to the Omni Channel that does not mean it will be available in Omni Channel Utility. To make visible these statuses we need to add to the appropriate user’s profile or permission set.

Setup -> Manage Users -> Profiles -> Select the profile on which you want to enable the status (in this demo we will add in System Administrator Profile)->  Scroll down to “Enabled Service Presence Status Access”  section and Click Edit -> 

Presence Status to profile.png

Add presence status from “Available Service Presence Statuses” to “Enabled Service Presence Statuses” Section and save.

Add Presence Status to profile

Step8 – See if presence status is available in Omni Channel utility or Not: – 

Click on App Launcher and Select Sample App

Omni Channel Sttus.png

Now, in Final let us test the App. Copy and paste the code if Live Chat Deployment and Chat Button that we did create in our previous post and save as .html file. if you have not implemented the Live Agent refer this link to implement the same.

From Omni channel Select any online statue and run the HTML file of Live Agent that we did save earlier.


OutPut 1.png

If you are facing any issues please come up in the comments section with.

Sharing is Caring 🙂


  1. Live Agent
  2. Omni Channel
  3. Trailhead





How to implement Live Agent into Salesforce From Scratch

To Create a Basic Live Agent Implementation into Salesforce we need to follow the 7 easy steps that are given below:

Step1 – Enable Live Agent: In order to enable Live agent user must have Customize Application permission

  1. From Setup in Salesforce Classic, enter Live Agent Settings in the Quick Find box, then select Live Agent Settings.
  2. Select Enable Live Agent.
  3. Click Save.

Enable Live Agent.png

Step2 – Create Live Agent Users :

  1. From Setup in Salesforce Classic, enter Users in the Quick Find box, then select Users.
  2. Click Edit next to a user’s name.
  3. Select Live Agent User. If you don’t see this checkbox, verify that your support organization has purchased enough Live Agent feature licenses.
  4. Click Save.

Create Live Agent Users.png

Step3 – Create And Assign Live Agent Skills :

  1. From Setup, enter Skills in the Quick Find box, then select Skills.
  2. Click New.
  3. Enter a name for the skill.
    For example, you can create a skill that’s called “Accounts” for agents who specialize in questions about customer accounts.
  4. In the Assign Users area, select the users whom you want to associate with the skill.
  5. In the Assign Profiles area, select the profiles that you want to associate with the skill.
  6. Click Save.
To enable supervisors to assign skills, enable the “Assign Live Agent Skills to Users” permission on their profiles.
Create Skills.png
Step4 – Create Live Agent Configuration :
  1. From Setup in Salesforce Classic, enter Live Agent Configurations in the Quick Find box, then select Live Agent Configurations.
  2. Click New.
  3. Choose the settings for your Live Agent configuration.
  4. Click Save.

Step5 – Create Live Agent Deployments :

  1. From Setup in Salesforce Classic, enter Deployments in the Quick Find box, then select Deployments.
  2. Click New.
  3. Choose the settings for your deployment.
  4. Click Save. Salesforce generates the deployment code.
  5. Copy the deployment code, and then paste it on each Web page where you want to deploy Live Agent. For best performance, paste the code immediately before the closing body tag (that is, ).


Step6 – Create Chat Button :

  1. From Setup in Salesforce Classic, enter Chat Buttons in the Quick Find box, then select Chat Buttons & Invitations.
  2. Click New.
  3. Select Chat Button from the Type field.
  4. Choose the remaining settings for your chat button.
  5. Click Save.
  6. Copy the button code, and then paste it on each Web page where you’ve deployed Live Agent. Make sure that you paste the code in the area on the page where you want the button to appear.

If you have any problem then please come up into comment section with


Salesforce Atricle


Configure Migration Tool for deployment Apache ANT Migration Tool

Prerequisites for Using the Migration Tool

Before you can use the Migration Tool, Java and Ant must be installed and configured correctly. If you already have Java and Ant on your computer, you don’t need to install them, so first verify the installation from a command prompt.


Step 1 – Download and Install Java – Many of you have already installed the JDK in your system if not then you can download JDK from Here.

Download Java
Step 2 – Download Apache Ant – Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. You can Download Apache Ant From Here

Download ANT.png
Step 3 – Set the path for ANT_HOME and JAVA_HOME :- After you have downloaded the Java and Apache Ant and JDK then place the Apache Ant into C drive for convenience.Now, let us set the path for both Java and Ant. Go to

  • Control Panel -> System and Security -> System -> Advance System Settings ->
  • a Popup will open Click Environment Variables – >


  • Click New under user variable and enter “ANT_HOME” for variable name and use ant location for variable value for example if you have pasted the ant into c drive then it will look like “C:\ant” click OK.


  • Again Click New under user variable and enter “JAVA_HOME” for variable name, use jdk location for variable value for example – “C:\Program Files\Java\jdk1.8.0_51”

Step 4 – Set the PATH:- Now, we have added the path for Ant and Java. We need to add one more variable name PATH. Click New under user variable and enter “PATH” for variable name, use “%ANT_HOME%\bin;%JAVA_HOME%\bin;” for variable value.

Now, time to do some testing for the above steps that we have setup until now. Open command prompt and type java -version hit enter, again type javac -version and hit enter. Now, type ant -version and hit enter you see the message like in below image.

Note: – If you receive Tools.jar not found error, go to “/Ant/manual/api/org/apache/tools/ant/util/JavaEnvUtils.html” and replace “java.home” with “java_home”.


Step 5 – Download Migration Tool: – In this step you need to download the migration tool and can be downloaded from “Here“. After download unzip the file using 7Zip winrar or any other tool. You will see find a .jar file a html file and a folder name sample.

Salesforce ANT
Step 6 – Copy “ant-salesforce.jar” file from the file that you downloaded into step 5 (folder name “salesforce_ant_41.0”) and paste it to ant lib folder

Ant _ Salesforce

Download the required files from “Here” for the demo purpose.

Step 7 – After you downloaded the file from the above link place the file into your suitable location and unzip the file. Now, open file into any text editor and provide the credentials for the source and target Org then save as using properties extension of the file.

Step 8 – Open command prompt if you have closed this other wise use the same. Navigate to the directory where you have located this folder and then go to deploymentFolder folder.

Step 9 – It’s time to retrieve the data from the test Org type ant retrieve and hit enter


File Location

Step10 – Deploy the retrieved components into the Production Org. Type ant deploy


If you have any problem then come up in the comment section with.

Hurray you have setup the ANT with Salesforce for Deployment.

Happy Learning 🙂 😉