Omnichannel – Pre Survey Responses & Routing

I’d like to start off here by admitting that in a previous blog post that I put up, I mentioned that it’s not possible to route customers to different queues through the chat itself. That was wrong – thankfully several very nice people at Microsoft reached out to let me know how it’s done (thanks BTW for reading my blog!). I therefore thought it would make a good article, as people do ask me about this from time to time.

So, how exactly does Omnichannel facilitate this? Well, there are two parts:

  • Pre chat surveys
  • Routing rule items

Pre chat surveys

These surveys are really quick & easy to set up (or even more complicated, if you so desire). To start getting to grips with them, open a Live Chat record, and go to the ‘Pre-chat survey’ tab

Here, you’ll be able to set up your questions, which is done by clicking the ‘Add Question’ button. When you do this, you’ll get the following prompt.

So, three of the four questions are really quite simple. You need to give it a name (as every system record needs), the actual question text, and whether it’s mandatory or not. The fourth question ask you what sort of question type you’re looking for. The options available are:

  • Single line of text
  • Multiple lines of text
  • Option set
  • User consent

If you select ‘Option set’, you’ll be prompted to enter the values. These should be separated by a semi-colon character:

With our pre-chat survey questions being set up, let’s see how we go ahead and use them for routing.

Workstreams

If you go ahead and open up any workstream record, you’ll see several tabs available. Two of these tabs are Context Variables, and Routing Rule Items. There’s usually one workstream per chat channel, with setting options within it as required. Opening up the workstream for the Live Chat, we can see them there:

Let’s take a closer look at the Context Variables first. Going to this tab shows us the following:

Woah. Where did those entries come from? I didn’t enter anything here – though I can create context variables if I want to.

Well, remember those pre-chat survey questions that we created? Each time one of these is created, it creates a context variable record for the workstream that the chat is associated to. So each of my questions (and I have four of these) now have a corresponding entry.

OK – so the system does that. But how does that help me when looking at trying to route things?

Simply put, these are the building blocks that we’ll set up in the Routing Rule Items to flow the customer chat through to an appropriate location. Let’s go and create one to see what happens.

We need to set the queue that this rule to apply to. Then we’ll go ahead and set the condition/s that we’re wanting to apply for this queue. There are several different possibilities to start with:

Selecting the entity that we want to use for the rule will then allow us to pick an attribute for that entity. So;

  • Account, Contact, Case & Live Chat Context will give an option to select one of the attributes from the entity
  • Context Variables will give the available context variables to choose from

You’ll then be prompted to select an Operator. These will vary depending on the type of field (eg a number field will have additional options such as Greater Than, Smaller Than, etc)

Finally, you’ll enter the value that you’re looking to match with for the condition. This is free text (it’s not auto-populated with values). So in summary, you’ll have something like the following:

And tadaa! it’s active. Brilliant!

We’re able to stack up multiple conditions to cover specific scenarios. An example could the following:

  • Customer has a Kawasaki motorbike (not a different make)
  • Customer’s annual spend falls into the ‘high spend’ bracket

There are plenty of other scenarios that can be covered, and the conditions allow this to cover quite complex situations.

So, some things to note around workstreams & routing rule items:

  • You can have multiple routing rule items per workstream, each one routing to a different queue. These are evaluated in the order that they’re saved in. Eg if there are 4 rules, an incoming chat will be evaluated against rule 1, then rule 2, etc
  • When a routing rule condition is met, the chat gets routed to the destination. No other evaluation against the remainder of the rules is carried out

I hope that this has come in useful, and put some interesting thoughts into your mind as to how you could implement this at your organisation or clients!

4 thoughts on “Omnichannel – Pre Survey Responses & Routing

  1. Thank you for the post!

    Do you know I can conditionally route the pre-chat survey questions themselves? I have 4 questions but the last 3 of them are independent of each other and dependent on the 1st. Can I get question 2 to follow if question 1 was answered with option 2, and if question 1 was answered with option 3 then skip question 2 completely and follow with question 3 instead?

    Or will all 4 questions simply show up in sequence?

    1. Hi Lexi. At the moment, it’s not possible to conditionally show/hide questions based on other questions. This may come in the future though. Perhaps you might be better off with a Power Virtual Agent (PVA) where you can program in question pathways, and then escalate as needed into Omnichannel?

      1. Thank you so much! That pointed me in the right direction and I’ve been able to set up a bot agent with exactly the path routing I wanted!! 😀

        Any chance you could help with another query please? I’ve been trying to get auto-identification to work, but all I’m doing is collecting pre-chat responses for Name and Email that the agent still has to search up to get the Contact record, and the chat notification still says “Chat request from Visitor #” instead of showing the Contact name.

        My chat widget has an auth setting against my PowerApps Portal, my D365 settings has full name display set to First Name Last Name which is what I want, I don’t have duplicate Contacts with the same name, and I have set up pre-chat question names “Name” and “Email” which is supposed to do a lookup against the Account or Contact entities.

        I’ve read through your Omnichannel posts (SUPER helpful btw!) and a bunch other documents/video tutorials as well, but I’m not getting anything to work. Any chance you have some insight or resource to point me to please?

Leave a Reply