In Dynamics 365 Omnichannel for Customer Service, we have the capability to have Omnichannel determine the sentiment of a conversation between a customer service agent and a customer. In the agent experience, this sits as a face and label at the top of the communications panel so the agent can see how the AI is analysing the conversation.
When the conversation is finished and gets closed, this sentiment flag value gets saved into Dataverse against the conversation record. We can then use this value to run our own logic to achieve various business requirements.
Achieving custom business logic
Let’s take a look at a scenario we could implement a solution for that utilises the sentiment analysis functionality here. As a supervisor, or manager, I may not have time to overlook every conversation happening in my department, and hence I’ll need some help from our good friend automation to flag the important things to look at here.
Let’s say I want to have any conversations with a very negative sentiment flagged to me so I can review their transcripts to see what happened. I could then follow up with an email to the customer to ensure we resolved their issue, to hopefully leave them with a better sentiment than that of how the conversation finished.
A Power Automate Flow
To implement an automation for this kind of business requirement, we will use a Power Automate flow. I’m going to create a new automated cloud flow in a solution. We will use the ‘When a row is added, modified or deleted’ trigger. Add this and set the change type to modified.
Then set the table name to Conversations and scope as appropriate for your requirement. Then set the following advanced parameters…
Filter Rows –
statecode eq 1 and msdyn_customersentimentlabel eq 7
Select columns –
This is really the main part of the flow that will pick up the records we need to flag. All we need to do now is send an email to the relevant person using outputs from the trigger such as a conversation url.
To do this I will use the ‘Send an email (V2)’ action, I will populate the to field with the person I want to alert i.e. a supervisor or manager. I could dynamically populate this using information from the trigger if I needed to.
Then I’m going to take a link from a conversation which I can obtain from customer service workspace and paste this in the body with some text around it. Then I’ll dynamically populate the conversation id within the link using that dynamic content from the trigger.
Testing it out
Now I’ll test it out by mimicking a very negative conversation in Omnichannel between an agent and customer, and check this out! I now get an email to notify me that there has been a conversation flagged as very negative.
I can now, as a supervisor, click the link to jump into the conversation and read through the transcript.
Did you like this content? 💖
Did you like this content? Check out some of the other posts on my blog, and if you like those too, be sure to subscribe to get my posts directly in your inbox for free!