Agent Work: The Key to Omni-Channel Automation

Omni-Channel can be one of the most powerful tools in a Salesforce admin’s toolbox. It is a configurable tool that allows you to intelligently route leads, cases, or other work to the most appropriate individuals. As an administrator, you can determine how you want to assign the work and what attributes are used, capacity in units of work for each users, and even the skills and experience level per skill that each user possesses.

TL;DR - Omni-Channel doesn't trigger any automation. Build your automation on the Agent Work object...

On paper, it meets all the needs to eliminate manual work distribution. In practice, that might be a whole ‘nother story. As with all things Salesforce, if your business process is simple then it’s very likely your needs can easily be met with minimal customizations. Once the business process crosses the threshold our of simple, Omni-Channel starts to become harder to use due to limitations of the tool.

One pothole I recently stepped in was assuming that a change of record owner via Omni-Channel behaved like every other update action on a record… silly me! After a little bit of research, it’s discovered that Records assigned through Omni-Channel don’t trigger any automation like Workflow Rules, Escalation Rules or Triggers (KB 337822) because Salesforce…

I’ve worked with Omni-Channel in the past, but this is the first time that the requirements involve taking action when the work is assigned; the work owner data needs to be pushed via integration to another application.

This was an interesting problem to solve because, in my mind, the knowledge article left room for interpretation since it used the word ‘like’ and the article body identified specific automations. I ended up confirming by manually testing the automation tools that were not specifically identified in the article.

Definition (per Salesforce): A true omnichannel customer service center allows your customers to connect seamlessly with your support staff using multiple channels.
Omnichannel vs Omni-Channel - 
the former is the concept of multi-channel customer intake process while the latter is Salesforce's tool

Ultimately, an after-save flow on the Agent Work object was used to make a simple field update and call an invokable method to post the owner data to an endpoint. This allowed us to get back on the typical Salesforce design track and move forward solving the problem.

Conclusion

Quick note: This post is written in the first person for simplicity, but it was experienced by my co-workers. Specifically, the studious Mr. Kevin Brown solved the problem of how to trigger automation on Omni-Channel assignments.

One of the reasons I started blogging was to share my solutions and repost obscure solutions I’ve found from others. This post was no exception. Kevin stumbled across the solution from a three year old Salesforce Stack Exchange article.

Unless you have an eidetic memory, it is pretty darn hard to retain the entire encyclopedia of Salesforce knowledge at all times. That’s why these posts are helpful for both seasoned vets and first time implementers of the tool.