Customising Case Resolutions

Well, the title is a bit of a mouthful, I’ll admit. Hopefully though this brings some good information, and can help people out.

Cases are wonderful things, and can be used for tracking client interactions, compliments/complaints, and so many other things. What cases do have is the ability to resolve them, and provide information around the resolution.

Now, the standard way of doing this provides the following screen:

There’s the ability to set the Resolution Type (being a dropdown, aka Choice, field), & putting in free text for the Resolution itself (allowing us to track information around it). There are also time fields, which can be used for working out the time spent, as well as any time that’s going to be chargeable.

Now when going in to modify these, we’d think to open up the Case Resolution table. However, this isn’t actually the right place to do it. Instead, we’re needing to update the Case table itself, as the Care Resolution items comes from the Case Status field!

Somewhat annoyingly, it’s not possible to do this through the new ‘Maker’ interface:

In order to actually handle this, we need to switch across to the Classis editor to set this up. This could be because it’s actually a situation of having both parent & child entries. What I mean by this is that there’s the actual status (being Active, Resolved or Cancelled), and then a reason under each one. Hopefully at some point it’ll be updated into the new UI, so that we can do it from there.

We’ll need to change the Status item to ‘Resolved’, & can then add in the options that we want:

After adding them, we need to save & publish, and then they’ll show up for us, and are able to be selected:

So that’s great – we’re able to customise it. But what if we’re wanting to customise the actual ‘Resolve Case’ form itself? Not everyone wants to show Time/Billable Time on it (quite a few of our clients ask us to remove it), and perhaps they want to add additional custom fields.

So from the usual perspective of doing this, we’d open up the Case Resolution table, create new fields as required, and modify the existing form (we’re not able to create any other forms for this specific table). After all, this is how we’d do it for any table in the system (whether a standard one, or a custom one). This is going to be the Main form, rather than the QuickCreate one:

We save & publish it, and then would open up a Case record, click ‘Resolve Case’, and expect to see it. However, that doesn’t happen, which has been most puzzlingly to me!

It turns out that there are two things needed to be done in order to get to see our ‘custom’ form (though it’s not really custom, as it’s modifying the default form, but whatever).

  1. We need to modify security permissions for users, and is a critical requirement. An example of this is shown below:
Security Role: Customer Service Representative

2. We need to enable customisable dialogues. Yes, it’s a setting that needs to be updated in order for users to see the custom layout of the form. If we don’t do this, they’re shown the default form, even though we’ve modified it! Seems a little strange that the system seems to have this concept of a ‘shadow’ form, but I guess that’s how it is.

To do this, we need to go into the Service Management settings area. I usually launch this through the Customer Service Hub app, though it’s available through several of the other standard apps as well:

Once there, we need to click into the Service Configuration menu item, and then change the ‘Resolve Case Dialogue’ option as shown below:

Remember to click the ‘Save’ button to save this.

Finally we can go back to our Case record, click ‘Resolve Case’, and look what appears!

So in summary, it’s definitely possible to modify & change the way that Case resolutions works in the system. It does take a little bit of fiddling around with settings in different areas, which can be confusing if we’re not used to this, but can give a great result in the end.

Have you ever come across this, and wondered how to do it? Have you developed Case Resolutions any further? Drop a comment below – I’d love to hear!

Handling ‘Out of Hours’

Let’s face it – we can be quite spoiled at times. As a customer, we can sometimes expect that companies be available 24/7 to service our requests, needs, issues, etc. That would be wonderful, wouldn’t it! Imagine that you have a mobile phone issue at 2am – you could call up your provider, and have it handled (or a new handset sent out) immediately. That would be quite nice!

Unfortunately the real world doesn’t (always) quite work like that. Of course there are companies that operate on a multi-national or even global scale, and there’s always customer service available (Amazon – I’m thinking of you right now!).

Previously I’ve gone into how we can set operating hours for a company, so that the ability to contact a customer support agent is only shown during these times. Take a look at Handling Company Hours for a refresher on this.

But sometimes not showing the ability to contact support could potentially be counter-productive. Customers may think that our website isn’t working properly, and possibly attempt to try to reach us through other means. This could quite well frustrate them.

Due to this, we have a nice little piece of functionality that’s now come out in Omnichannel. It’s small, simple, but yet quite brilliant in my humble opinion. This is the ability to have a chat widget available, but let customers know that that it’s currently out of company hours.

To activate this, we need to open the Chat record in the Omnichannel Administration Hub, and go to the Design tab:

Quite helpfully, the section is labelled ‘Offline’! How much better could we get.

We do need to understand that (at the time of writing this post) it’s currently in Preview, with all of the usual caveats around how that works.

We have several items available here:

  • Show widget during offline hours. This is what actually activates the setting – leaving this to false won’t do anything for us!
  • Theme colour. This allows us to set the specific theme to be used during ‘offline’ hours. It’s actually really helpful, as it serves/gives a very visual aspect to the customer to display that it’s out of hours
  • Title. The title of the chat widget, which will be displayed to the user
  • Subtitle. This allows us to place a subtitle as well, for the user to be able to see

So what does this then look like? Well, let’s take a look:

Personally I think that being able to set a theme colour for offline access gives it that little edge. Customers will become aware of this (subconsciously) when visiting the website, and come to the point of not even trying to start a chat when they see that it’s out of hours.

One MAJOR thing to bear in mind. We’re only going to be given the option to set this when we have a value set for Operating Hours. Without this being set, we won’t be shown this option. Go try it for yourself and see!

There’s not really much else to this, to be honest. But I’m liking it. I know that from a personal perspective I’ve been on various websites, and have no idea if the support chat is actually working or not. With this in place, I’m able to see that it is available for use at the correct time, and not have to wonder about it.

Have you ever thought about implementing something like this? Have you actually done so? I’d be really interested to hear from you about how you went about it – please drop a comment below!

Dynamics 365 Admin Centre for Omnichannel

I’ll freely admit that the title for this post is a bit of a mouthful! I’ll also admit that I used the British spelling of ‘centre’, rather than what it actually is. You’ll have to excuse my grammar 😉

This post is about something that we all knew was coming. The old Admin Centre is no longer – and we shall miss it! It was inevitable that it would be moved over to the new Power Platform interface, as so many other things have already. Therefore I thought it would be good to do a quick article about where it is now, how to access it, etc.

After all, it is vitally important when needing to carry out the initial configuration for Omnichannel, or to check for upgrades to the Omnichannel installed solution!

Let us, however, cast our mind back to the very familiar layout shown below. We’ve spent so many years here that it seems quite sudden. But though you may be gone, you will not be forgotten!

Manage Omnichannel application

Right – now onto the new version of it! So this actually took me a few minutes of digging around as to how to find it & get to it.

The first thing I tried was looking in the environment settings, but alas, I didn’t find it there. So I continued digging around.

Wishing you spare you the exact itinerary of everywhere that I looked into, I’ve decided just to show you it! I can hear the sighs of relief at this point…

What we need to do is navigate to the Power Platform Admin Centre, at https://admin.powerplatform.microsoft.com/. Once there, we expand Resources on the left hand side, and select ‘Dynamics 365 apps’. Note that you do NOT have to select a specific environment first to be able to do this./

Now we can see a list of all apps installed. Nicely we’re able to scroll, which we couldn’t do in the old interface! That’s actually really helpful, and avoids needing to navigate to a different page. If we scroll down, we can see the entry for Omnichannel:

Click on ‘Manage’, and we get the following lovely popup:

Click OK to this, and we get taken to the (familiar) interface for configuring the initial items for Omnichannel:

Here we can go about the usual items, such as checking each environment to see if there are any updates available, or configure the main channels.

Nicely, Microsoft has actually updated (some of) their documentation, which is obviously very good. I’m now going to have to go and check through previous articles of mine, and update as necessary!

DateTime fields, XrmToolBox, & Dynamics 365 behaviour

Recently we’ve been rapid producing & deploying solutions, due to the current pandemic. One of the apps that I’ve been working on required quite a few fields for data capture. Well, truthfully most apps require quite a few fields, but I thought that I’d talk about this one in particular, due to something that I discovered.

Now, we all know how to create fields in the Power Platform maker experience. It’s really quite simple – you select that you want to add a new field, put in the details/type of field, & save. Hey voila – you have yourself a nice new field! You can then go on to add it to forms, views, etc etc. We all know how it’s done:

What I’ve found myself doing recently though is not to create fields through the Maker interface (make.powerapps.com), especially when there are lots of fields to create. Instead, I’ve been using the XrmToolBox to do this. There’s a very helpful tool within it called Attribute Editor, which allows you to use an Excel spreadsheet. It takes this, and creates the relevant fields through the Dynamics 365 API.

One of the reasons for doing things this way was that it allows me to get on with other things whilst the fields are being created. Although it doesn’t happen in the blink of an eye (especially when there are a lot of fields to create), I can leave it whizzing along, and do something else. This, of course, makes me feel VERY productive!

Right – back to what I was saying. So I had a lot of fields to create, and many of them needed to be datetime fields. Actually, all I needed was the time component, but unfortunately Dynamics 365 DOESN’T allow you to just show the time. It’s either Date, or DateTime, but no option for JUST Time. A flaw, in my opinion, for what it’s worth….

So I created the Excel template, started the process, and went on to do something else. I of course made sure to specify that the field type should be ‘DateTime’.

Coming back to it when it had finished, I started to place fields on forms, and noticed something strange. All of the datetime fields that I had created through this were date ONLY. This was…puzzling! Going to check the fields themselves, they were set as Date ONLY, not DateTime!

I went back to check my upload spreadsheet, and it was set correctly there. I even tried uploading another field, but still the same issue was occurring.

Now, with the way that Dynamics 365/Power Platform works, once you’ve created a field & saved it, you can’t change the field type. When it’s created it’s saved down to the underlying database structure as the specified field type, and that’s it. No way to change it…or at least not through the front end!

With this in mind, I fired up another one of the XrmToolBox tools, namely Attribute Manager. What this handy tool does is, behind the scenes, allow you to change the field type. Well, it doesn’t ACTUALLY change it directly – it clones it, deletes the original, then clones it back. There are some caveats to it working properly (ie that the field isn’t used in a view somewhere, for instance), but it’s really helpful.

Note: It only works for custom created fields, not the default OOB fields!

Depending on the field type that you’re wanting to change it to, you can select different options. However for DateTime, there’s only one option. OK – I was going to see what happened.

Well, I ran the update, but nothing changed. It was still ‘Date’ only within the interface, which was really being incredibly annoying. It wasn’t as if I could just delete & recreate it (well, I could, of course). I had dozens & dozens of these to do, and quite frankly didn’t want to spend all of that time in doing this.

Thankfully (with the help of one of my colleagues, who’s an experienced & devoted developer – thanks Sid!), we found the solution.

See, I had been doing everything within the ‘new’ interface. This is the one that Microsoft keeps pushing everyone to, as they don’t want people to really be using the Classic Interface anymore. That’s all very well & good, but the ‘new’ interface isn’t on parity (for some things).

Reverting back to the Classic interface (note that the option below is only available when working within a solution!), we discovered some hidden behaviour

We located the entity that we needed, and the field itself, and opened it in Classic. With the screen that’s presented (I do miss this in some ways – I remember the days where I almost lived permanently in here!) we AMAZINGLY have the following option:

We can CHANGE THE TYPE!! Now, this is just with the field that we’ve selected. To be frank, I have no idea at this point about any other field types, and would need to explore that separately. But for the moment, my problem has been solved! (well, to the point that I have ‘time’ values available – I’d still like to see JUST time values being an option).

So with this in mind, I merrily waded through the dozens of fields in the Classic UI, changing them all as needed. It wasn’t just a few minutes of work, but it was definitely much less time that deleting & manually creating each one!

So, really quite helpful. The only other thoughts that I had around things were that it would be nice if the various tools within the XrmToolBox could do this as well. However, the fact that they don’t seem able to actually seems to be a limitation of the API. Having gone to check the different field types & how they’re set programmatically (https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/types-of-fields), I’ve noticed the following:

There really doesn’t seem to be any way to specify the different sub-type, which is a shame!

Have you ever had a similar situation with fields? Drop a comment below- I’d love to hear about it.

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!

Omnichannel – Chat Setup

Looking back at the information that I’ve already posted on around Omnichannel for Microsoft Dynamics 365, I seriously can’t believe that I haven’t already done an article on how to set up a chat channel. I know I’ve talked about some of the functionality within chat itself, but it’s now time to sort this out.

This was the FIRST thing that I did when I got my first Omnichannel environment up & running. The feeling of satisfaction when it was all complete and worked was incredible. I think I may have bounded out of my chair, punching the air!

So, with that all being said, let’s see how to go about it. It’s not that difficult, and there are some helpful settings within it. The functionality has also increased with the Wave 1 2020 release, which is quite cool.

Now, you can create multiple chat channels, and position them where you want to. Each chat channel can point to a different workstream, and then feed into a different queue (more on that in another post).

To create a chat channel, go to the Omnichannel Administration Hub, select ‘Chat’ in the left hand menu, and click ‘New’

You’re then presented with a new Chat record window, to set it up. It’s actually quite simple to go through, with tabs providing different options. Don’t forget about these!

A few things to point out from the main page:

Chat Design

Once you’ve filled in the main information, switch to the Design tab. Here you’ll be able to configure the look & feel of things:

Now at this point in time, you’re only able to use the pre-defined theme colours for the Omnichannel chat widget. That’s not to say that you can’t work around this – if you use an Azure bot, or a custom bot (which needs to be using the Azure bot framework, admittedly), you could set a custom colour there.

You can change the logo displayed – this needs to be a publicly accessible online image. This can result in some fun looks!

You can also set Operating Hours for when the chat will be active (see https://thecrm.ninja/handling-company-hours/ for how to set this up).

Pre chat survey

Heading to the pre-chat survey tab, we can set up survey questions for the customer to answer before the chat actually starts with an agent.

There are some nice options here:

  • Being able to set questions as mandatory or not
  • Different answer types available. Eg text (single or multi-line), option-set, or user consent

Now at this point in time, it’s not possible to use the answers given (eg with using an option-set) to route a customer to a specific queue. It would be amazing if this would happen, but it’s not there yet. Instead the information from the pre-survey questions are displayed in the agent interface. This is aimed at being able to gather information upfront, rather than the agent needing to ask for this during the chat session

Location

The next tab allows the ability to tie the chat widget to a specific website. This means from a security point of view that if someone copies the source code from your webpage, it won’t work on a different website. If no domain is specified, the chat widget can be embedded on any website, without restrictions. It’s a useful concept that can be handy in certain scenarios.

We’re also able to capture the customer geo-location. This will prompt the customer to allow their location to be shared with the agent. If the customer doesn’t consent, then it won’t be shared. Note that this does require Bing Maps to work

Conversation Options

Part of the Wave 1 2020 release has been additional functionality for Omnichannel agents to use. This includes abilities to call, co-browse, and screen-share during customer chat sessions.

I’m going to going into detail around these options in a separate post. I’m also going to be looking into the current solution providers for this, and seeing what each one provides above & beyond Omnichannel integration

Custom Messages

The final tab gives the option to use custom messages for some of the system functionality. Essentially things like starting a chat, ending a chat, and chats timing out all have messages around them.

These are things like ‘An agent will be with you in a moment’:

What custom messages allows you to do is to change these. So for example, you could set up the following to be displayed:

I hope that this has been helpful in seeing how you can set up a chat channel. Stay posted for how to set up the other channels as well!

Quick Responses in Omnichannel

We’ve all had these types of scenarios. You know, when you’re needing to type the same response (or similar ones) time and time and time again to customers. Or alternatively queries can be grouped together under different topics, and you just wish there was a way to quickly and easily answer these, rather than manually answering each customer.

Thankfully, there is indeed such functionality within Omnichannel! No longer do you need to type out general responses (or indeed custom responses) each and every time that a customer requests some information about something, or when helping them out.

In Omnichannel, these are called ‘Quick Responses’, and are really incredibly easy to use.

As a default, the system ships with some quick responses already loaded in, and available to use. This covers usual circumstances such as ‘Hello, how may I assist you?’, ‘Your patience is appreciated. I will be with you shortly’, and also ‘This chat service is permission based. Before a chat begins, no data is collected about you beyond the information which websites usually collect. Once an invitation is accepted, all chats are monitored for quality assurance purposes. Any information gathered is for internal use only.’

In fact, not only are these pre-loaded in English, they’re actually pre-loaded in 23 other languages as well! (at the time of writing, that is – I’m sure there will be more to come)

Now these are all very well and good for generic customer service. What makes this really cool though is that you can create your own ones, and then use them.

Setting them up is really simple and straightforward. Make sure that you’re in the Omnichannel Administration Hub, scroll down in the left side navigation bar to ‘Quick Replies’ (in the ‘Agent Experience’ section), click it, and then click the ‘New’ button on menu ribbon bar:

Give the record a title to identify it by, select a local, and then enter the message that you’re wanting to use:

Now all the agent needs to do in the chat window is use the ‘/q’ command (without the quotation characters, of course). Typing this will bring up the Quick Response window in the chat session.

The agent can then type in a keyword, and the list of available quick replies will be filtered to just those that have the keyword in it:

Note that due to the way in which Omnichannel works, it can sometimes take a little time before the new Quick Reply entries will appear for the agent to use in the chat interface

Clicking on the line that they want to use will then populate the text from that quick reply into the chat window. The agent can modify it if they want to, and then send it to the customer:

This is a really helpful feature, and can assist greatly in speedier responses to customers, as well as cutting down on the time needed for interactions!

Omnichannel for Dynamics 365 – Chat Transcripts

We’ve all been there (well, at least I have). We’ve been having an online chat with a customer service person at a company, and we’re wanting to have a record of the actual chat that took place. Of course we could (hopefully) copy and paste the entire conversation into a document and save it, but that would be laborious, and also potentially not be legal proof of the actual conversation.

In some cases, companies may actually encourage customers to save a record of their chat history on their account (as an example, Amazon offers this at the end of each chat). Customers can then return at a later date to download the conversation to their own computer at their leisure, which can be more convenient at times (say you’re travelling on holiday, and don’t have your own computer with you!). It could even be possible to get it automatically emailed to your own email address, which would also allow a company to add additional information to it (for example a feedback survey request on your chat experience, some marketing information, etc)

Well, Omnichannel has the ability for this, in multiple ways! It can allow a user to:

  1. Download a full transcript at the end of the chat
  2. Email a full copy of the chat transcript

Both of these features are available from the chat window using icons, allowing a quick and easy experience for the users. You can decide if you want to allow one or the other, or both, quite easily.

Enabling this is quite simple, though there are some additional options to set for the auto-emailing feature (basically selecting the email template and user mailbox – you can set up a specific mailbox to use if you’re wanting it eg ‘customerservice@abc.xyz’).

In the Omnichannel Administration Hub, open the Chat channel that you’re wanting to enable this for. Under the ‘Chat Transcripts’ section, select the option/s that you’re wanting to enable:

Downloading the chat transcript

At any time during the chat conversation, users can click the download icon at the bottom left of the chat window, and the conversation will be downloaded to their default Downloads folder on their computer.

This saves as an HTML file, and when opened looks like this:

At the end of the chat, the person will be prompted and asked if they’d like to save the conversation, with quick instructions as to how to do so. Obviously this option will ensure that the customer has the complete conversation, rather than just a part of it, so this reminder is really nice and helpful in my opinion

Emailing the chat transcript

Customers can also get the chat transcript auto-emailed to their email address. Clicking the email icon will prompt the customer to enter their own email address (or whichever email they’d like the chat transcript to be sent to).

This option allows companies to be able to format the email template that’s used for this. Examples of things that a company might want to do could include:

  • Using company logo’s, images and fonts
  • Feedback survey information, to understand how the customer felt about the chat session
  • Marketing material for upcoming events

Note: When setting up the ability for chat transcripts to be emailed, don’t forget to approve and test the mailbox being used in the Email Configuration settings! If you don’t do this (or it hasn’t already been done), they won’t be emailed out!

There’s also one further piece of configuration that needs to be carried out for emailing chat transcripts. As all emails from that chat channel will be using the same email address to send out the emails, this means that the ‘Allow send on behalf of’ option must be selected on the mailbox user’s personal settings. You’ll therefore need to log into Dynamics as the mailbox user, open personal options, and set this manually

In summary, this is really helpful to customers, and a great little feature for Omnichannel.

Proactive chat in Omnichannel for Dynamics 365

We’ve all been there. We’re on a website page, trying to understand it, and not really getting anywhere. Whether it’s about how to fill in a form, or technical instructions and information, our mind has gone blank. The words are on the page, but they’re just not making sense – and we don’t know what to do!

What would we say if suddenly a prompt came up, asking if we needed some help with understanding things, and offering to connect us with a live agent if we wanted some assistance? Well, quite a lot of people would be grateful for that, I’d think.

There are quite a few websites out there that have this functionality – I know that I’ve seen it on various sites I’ve been on, though it’s not always been implemented in the best of ways.

Well, now Microsoft have decided to bring in their own form of it, and it sits right within Omnichannel for Dynamics 365! It’s able to allow customers to interact either with a bot or with a live agent, depending on how you’ve configured it to work.

Currently it’s in Preview, but I’m expecting it to move to General Availability soon.

Even better, Microsoft have even released a short video around it!

There are two parts to configuring it:

Firstly, you need to enable Proactive Chat. Go to your Chat channels under Omnichannel Administration, open up the Chat record you’re wanting to have Proactive chat enabled for, and change the ‘Enable Proactive Chat’ option to Yes (obviously if you don’t have any chat channels set up, you’d need to create a new one)

Secondly, there’s some code that needs to be embedded on the actual web-page that the chat is active on. Now I know what some of you are thinking – ‘how the heck do I code’? (OK – so the developers aren’t thinking that – they’re thinking ‘oh goodie!!’. Well, I’m not from a development background myself, but I managed to get it to work quite easily. Take a look at https://docs.microsoft.com/en-us/dynamics365/omnichannel/developer/how-to/start-proactive-chat , where several different scenarios are shown (along with sample code), and you can tweak these as required.

The result then looks like:

This is really helpful. I can then click the ‘Chat Now’ button to start the chat. What I’m also really liking about the experience is that the chat option/window floats on the bottom right side of the screen, so no matter where I am in the page, it’s available (and easily able to be seen)

There are many different ways in which this can be configured. Some of the immediate ones that come to mind (but by no means all of them) are:

  • Someone staying on a webpage for a long period of time
  • Someone who keeps coming back to the same page (perhaps they’re lost, and not able to find what they’re looking for)
  • Someone on a support portal looking at a support case, and wanting to see more information on it
  • Someone coming from a specific webpage to another page
  • Someone accessing the webpage from a specific location (eg country) in the world
  • Special offers being available during a specific time-frame, and only website visitors during that time get the option for the special offers

It’s a really helpful addition to the current Omnichannel capabilities, and I’m sure that there will be many more to come!

Omnichannel for Dynamics 365 – Skills Part III

The previous post in this mini series looked at how we go about enabling skill-based routing (https://thecrm.ninja/omnichannel-for-dynamics-365-skills-part-ii/).

What we’re now going to do is understand how we go about attaching skills (which we’ve already learned how to set up) to conversations. The premise behind this is that when a customer will access Chat on a website interface, they’ll be presented with one (or more) pre-chat survey questions. The answer/s that are given are then used as skills, and the chat session will be automatically routed to the user who is best placed to help the customer. This is done based on the skill-attachment rules, which we’re now looking at.

There are two types of options available for skill matching:

  1. Exact skill matching. The skill attachment logic looks for the exact skill/s and proficiency level that an agent should have to work on the conversation (and uses this as the minimum criteria). Then it searches for an available agent with these, to route the conversation to. If the minimum criteria aren’t met, then it searches for a higher proficient level. If no agent with a higher proficient level is found, then the conversation remains in the queue
  2. Closest skill matching. This initially works the same as the exact skill matching. The system will identify the skill/s and minimum proficiency levels, and see if there’s an agent available. If not, it’ll search for a higher proficiency level. All the same so far. But if there are no agents matching (or having a higher) proficiency level, it will look for any agents that are available with a lower proficiency level, and route the conversation to them

To create a new skill attachment rule, you’ll need to create (or modify an existing) workstream (we’re going to look at workstreams in another post)

Go to Skill Attachment Rules, select the type of matching logic that you’re wanting, and create a new rule (assuming you’re not modifying an existing one)

In the new rule window that opens, fill in the necessary information on the left hand side. You can then start to set up your rule conditions (and oh boy can these be complicated!) in the Condition box on the right.

Once done, hit the Save button, and the Skills section box will become active. Clicking the ‘New Attach Skill’ button in this box will allow you to select the skill/s and proficiency levels that you’re wanting to use.

Click the ‘Save and Close’ button, and it’ll appear in the Skills box. If you’re wanting to add more than one skill at a time, click the arrow on the Save & Close button, and click the ‘Save and New’ option.

If you then go back to the Workstream record, you’ll need see this appearing in the Skills Attachment Rules section.