D365 CE - Customer Voice - Get Customer Feedback and Calculate CSAT (Customer Satisfaction) Scores of Your Customer Service Agents

Introduction

In customer service space, it's essential to get feedback from your customers regarding their cases. One important feedback from your customers is their overall experience with your Customer Service Agents. 

Customer Voice is an excellent service that is natively available for Dynamics 365 CE platform and which can be used to get real time feedback from customers. Customer Voice has some built in insights and reporting available to view the overall feedback and identify feedback trends etc.

But what's missing is the ability to easily view customer's feedback directly in Dynamics 365 CE apps.

This article will provide a step-by-step guide to a) create a customer feedback survey in Customer Voice, b) then, capture the survey response to calculate the overall CSAT (Customer Satisfaction) score of customer service agents (Case Owners) and c) finally, showcasing the information on a Dashboard in D365 Customer Service app.

Step-by-Step Guide

Part A: Provision Customer Voice service and Create a Customer Feedback Survey

Customer Voice service is already included in select Dynamics 365 apps (i.e. Customer Service Enterprise, Sales Enterprise and Field Service etc). For more information, please visit Customer Voice pricing page here.

Once you have successfully logged on to the Customer Voice service page, start creating a new survey project. You can choose one of the pre-built templates or start from a Blank template. For this example, I will choose Support template.


On the next page, select the D365 CE environment with which you want to connect your Customer Voice project. Then click Create button.


Once our Customer Voice project is created, it will have a default Customer Feedback Survey, with some pre-configured questions. We will make the first ratings question required as we will drive the overall CSAT Score based on this ratings question. I will leave all the other questions as is for the purpose of this article.
 

Now, we will create a CSAT score as satisfaction metrics. For that, expand the Personalization panel on the right and click Satisfaction metrics. Click Add Metrics and select CSAT from the dropdown list.


Now add the first overall ratings survey question to the questions list that will impact CSAT. Then click Save button.


Note that you can use other Satisfaction metrics types as well like NPS (Net Promotor Score), Sentiment or Custom Score. If you use Custom Score, you can even identify Base Rating and the weight of each question in the overall satisfaction metrics score. 

The next step is to create automation to send the survey when a Case is resolved in Dynamics 365 Customer Service. If you click on the Send tab of your Survey, you can click Automation and then choose the "Send a survey when a case is resolved in Dynamics 365". 


The problem with the Flow created by the above template in Customer Voice is that it uses Legacy Dataverse Connector, and we definitely don't want that. What we will do is that we will create a new Power Automate Flow in our Solution and copy the same logic from the above Flow but will use latest Microsoft Dataverse connectors. 



Once you have created the flow, the Customer Voice will send a survey to your customers (Customer of the Case) when a Case is marked as Resolved. 

Part B: Capture the survey response to calculate the Overall CSAT scores of your customer service agents (Case Owners)


The survey responses from customers are stored in Customer Voice survey response table in the dataverse. The Satisfaction metrics values are stored in Satisfaction metric value (msfp_satisfactionmetricvalue) field in the form of a JSON array.

In this part, we will create an automated cloud flow that will populate CSAT Score, a custom field in the Customer Voice survey response table.

First, add Customer Voice survey response table to your Solution. Then add a new field CSAT Score of type Decimal in the Customer Voice survey response table.   


Now we create a new Automated Power Automate Flow to extract the CSAT Score from the Satisfaction metric value (msfp_satisfactionmetricvalue) field (JSON array) so that we can use this field in the later part of this article (Part c).

Create a new Automated Cloud Flow with trigger Dataverse - When a row is added, deleted or modified. Set Change type = Added, Table name = Customer Voice survey responses and Scope = Organization.



Now add Parse JSON action to parse the JSON array that is stored in Sentiment metric value field. We need to get the CSAT value from the JSON array stored in Sentiment metric value field.


 
For that add an IF condition on the type outcome field from the Parse JSON action.  
 


 and check if its equals to csat.  


In the Yes branch of the IF condition, add Dataverse > update a row action to set CSAT Score field of Customer Voice survey response table to the value outcome field of the item from the JSON object. 

                                    ....


The complete Power Automate flow will appear like this. Name your flow as "Populate CSAT Score When Survey Response is Received" and make sure you save your Flow. 

 


Now when a response is received on your customer feedback survey, the CSAT score value will be stored in the CSAT Score field of the Customer Voice survey responses table.

Part C: Show CSAT Scores by Customer Service Agents


Now finally, we will configure a dashboard in your Dynamics 365 Customer Service app (or custom model driven app) to show the CSAT Scores (aka Review Ratings) by Customer Service Agents (Case Owners). 

Create a new View (Customer Feedback Survey Responses) on Customer Voice survey responses table and add Owner (Regarding)and CSAT Score fields to the Customer Feedback Survey Responses View. 

Now create a new column Chart in Customer Voice survey responses table. Select Customer Feedback Survey Responses view for the chart's data. For the Legend Entries (Series) select CSAT Score and select Avg from the calculation dropdown.

For the Horizonal (Category) Axis Labels, select Owner (Regarding) field. Save and Publish the Chart.

You chart should appear something like this in design mode.


Now finally add a Dashboard to show the above chart. On the dashboard, we can also display Customer Feedback Survey Responses View to show all survey responses. 

From this Dashboard, managers can easily view overall CSAT Score of their Customer Service agents, in real-time.


Conclusion

In conclusion, integrating Customer Voice within Dynamics 365 CE presents a powerful avenue to gather and leverage customer feedback. Although the platform lacks direct integration for viewing feedback within the CE apps, a structured approach was outlined in this guide.

The step-by-step process includes provisioning the Customer Voice service, creating tailored surveys, calculating the CSAT score through automation in Power Automate, and finally, showcasing this information in a customized dashboard within the Dynamics 365 Customer Service app.

By utilizing automated workflows and parsing JSON arrays, the guide ensures that CSAT scores are efficiently captured and stored, allowing managers to visualize and assess the performance of their Customer Service agents promptly. This method empowers organizations to drive improvements based on real-time feedback, enhancing overall customer satisfaction and service quality.

Thanks for reading this blog post!

If you like this blog post, please don't forget to comment or share.

Comments

Popular posts from this blog

D365 CE - Plugin - Set Attributes of Case Based on the Parent Email Activity (Convert to Case)

The new Not-to-Exceed feature in Dynamics 365 Field Service - Release 2023 Wave 1