Omni Flows Pilot Spoiler Alert [1/3]

Designing Conversational Experiences & Business Processes

6 min readMar 8, 2021


One of the most exciting endeavors about Product Management is ‘Customer Discovery’. The ability to imagine and co-create solutions with customers is in my opinion the most thrilling aspect of it. At Salesforce, we are able to do this through customer pilots. So today, I’d love to take you for a quick spin and show you some of the things we’re bringing forward in our Omnichannel Flow Pilot which I’d like to showcase for Salesforce Chat.

Important mention: What I’ll show you here belongs to the road-map and pilot capabilities realms which means that Salesforce’s Forward Looking Statements and Safe Harbor applies from now onwards and as you go about reading this and the following related articles. The upcoming story is the first of a series of 3 article-guidelines in which I will present this compelling project.


Today, and in the following 2 other articles, I’d like to show you the Admin experience side of things and how this looks with what you get ‘out of the box’. For that, I have instantiated a Trial Org in which I have activated the Pilot Feature, which I can do as a Product Manager 🙂 I’ve also configured the below items in the org:

  • Salesforce Chat very quickly through the guided set up experience
  • Enabled Skill Based Routing and created a few languages, a chat, an order and technical skills
  • And, I also created 2 customs fields on the contact record. One to track if a contact is a VIP or not (checkbox) and the other one to see if a contact has a preferred agent (lookup).
  • Finally, I’ve created an additional Queue: a “VIP Queue”.



As we walkthrough the flow types you can now notice a NEW Omnichannel Flow Type! The plan here is to have pre-built templates to help you save time, for use-cases such as: link relevant case and route to queue, or for example pre-built processes for voice or chat or for all channels combined.

As customers go through the pilot, this is where we’d love to get their feedback as to what these templates should be. The idea is that there is a pre-built flow type that will allow users to have a structure and a procedure specifically designed for Omnichannel Routing and Conversational Experiences combined with Business Processes leveraging the beauty and power of Salesforce’s Lightning Flows.

Back to our Flow. On the left hand side, there is a specific Service Cloud Action Palette that will be available. And from here, what we’ll do today is something very simple.

First, we need to define 2 resources, that are going to be 2 types of variables.

  • The first one, we’re going to call “recordId”: a ‘text variable’ in which we’re going to “catch” the ID of the chat that will come in.
  • And the second one is optional, but you should configure it because it will save you a lot of time. This one will be a ‘record variable’ type that we’ll call “input_record” in which we will “capture” the entire Chat Transcript record for you to be able to manipulated it easily.

Later in the Flow, you’ll need to pass in the ‘recordId’ variable but you can also leverage ‘input_record’ as well. We plan on having that resource creation aspect as part of the templates as well, to make it quicker for users. But for the moment and in a nutshell: this is how you get access to the chat coming in.

From here, let’s just do a very simple queue based routing scenario. Drag and drop a “Route Work” action, which is the capability we will use to route to a queue. Pass in the “RecordId” variable, Route to: Queue will be your default, use it as is and then choose the Chat Queue created earlier. Done! You’ve accomplished an incredibly simple example and built a flow that will take every single chat that comes in and send it to that Chat Queue. Congratulations!

The key thing to deal with here, which will be true not only across chat, but also voice or other messaging channels and other objects in the future, is that you need to call the flow from the corresponding channel set up node.

In this case: go to the Chat Buttons & Invitations set up and there is a check box to choose whether you want to use or not a flow. From there, you can select the flow we just created.

It really is that simple. There is also a ‘fall back’ queue if there is an error in the flow, or if the flow is deactivated.


We can do something a bit more powerful. Let’s grab the contact record here. Now, in this instance we know that the chat actually has a “contact ID” field filled-in, and that it has been pre-set by the way the embedded-service / pre-chat form works. So we can just go ahead and grab the contactID from the Chat Transcript record which is ‘held’ by the input_record variable we created earlier.

Ok, so we’re going to configure our Flow to do the following: first, it grabs the contact. And then we’re going to add some logic. Let’s put a decision node in there. We will configure it to check if whether or not a customer is a VIP. The way we’ll configure this is by verifying if the contact we grabbed has the “Is VIP?” field “turned on”, that is, set to TRUE. And if that is the case, then we will route that contact to the corresponding VIP Queue.

For this, drag and drop another “route work” action where we’ll add-on a VIP Queue. Set the input values to recordId, the routing type to Queue, and the Queue we want to route to: VIP_Queue. Save it as a new version or as or as a new flow. Great!

And now, if the customer is VIP it will go to VIP Queue otherwise it will go to the standard Chat Queue. Congratulations!


In this article we presented prerequisites used to configure the trial org enabled to showcase our Omnichannel+Flow pilot capability. We walked through the new Omnichannel Flow Type and created 2 Queue Based Routing Scenarios: a simple and a more elaborate one. Go to the next articles if you want to see a few examples for Omni Flow on Skill Based Routing as well as on Direct To Agent Routing. Thank you.

Important: Salesforce provides Omni+Flow to selected customers through a pilot program that requires agreement to specific terms and conditions. Omni+Flow isn’t generally available unless or until Salesforce announces its general availability in documentation or in press releases or public statements. Salesforce can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available Salesforce products and features.

Have questions? Feel free to reach out. Let’s connect on Twitter. I’ll answer DMs faster than emails. @lecharleslozano




Product Management @Salesforce. Language AI Apasionado. Web Application Development. Crypto & Open Blockchains Aficionado.