Today, we released a feature in Dynamics 365 AI for Customer Service Insights that enables you to map your own custom entities and fields in Common Data Service (CDS). If you are in one of the situations below:

  • You are not yet a customer for Dynamics 365 for Customer Service;
  • Or, you are a Dynamics 365 for Customer Service customer, but your service solution is customized, and you use custom CDS entities/fields to store support case data;
  • Or, if you have a custom field other than case title that provide better issue summary information, and you want AI to use that custom field to optimize support topic results;

Then this feature is built for you! In this blog post, I will share with you more details how you can use this feature to create workspace and generate better insights with your custom entities and fields.

What case data are used in Customer Service Insights

Before we dig into details about this feature, it’s beneficial to understand what case data in CDS that Customer Service Insights uses, and how it works with those data to create dashboards out of box.

As mentioned in our announcement of Dynamics 365 AI for Customer Service Insights public preview, the service provides a set of built-in dashboards that give you interactive charts and actionable insights out of box, including insights in support topics that are generated by automatically grouping cases using natural language understanding.

If you are a customer for Dynamics 365 for Customer Service, by default, case data are primarily stored in Incident (case) entity and several other related entities in Common Data Service. In this case, when creating a Customer Service Insights workspace, what you need to do is to simply connect with your Dynamics 365 environments through a couple of clicks. The service will then load data from several default Customer Service data entities and generate insights.

All the default entities and fields used by Customer Service Insights have been documented in this article: Dynamics 365 for Customer Service entities used by AI for Customer Service Insights. Here I want to highlight a couple of things:

  • Customer Service Insights load data from multiple entities, including Incident (case), BusinessUnit, Product, SystemUser and Team, etc. Incident entity is the primary entity that store case data. It contains the several data fields (with Lookup attribute type) that look up data from the primary field of other entities. For example, by default, OwningUser field looks up agents’ full names from SystemUser entity, because FullName is the primary field in SystemUser entity. Similarly, ProductId field looks up product names from Product entity, OwningBusinessUnit field looks up business unit names from BusinessUnit entity, and OwningTeam field looks up team names from Team entity.
  • Several data fields in Incident entity are pick lists, including PriorityCode, CaseOriginCode, ResolveBySLAStatus and CustomerSatisfactionCode. Picklist is an attribute type in Common Data Service that allows selection of multiple options. Each option consists of a numeric value and a string label.
    • For PriorityCode (which is used to specify a case’s priority) and CaseOriginCode (which indicates the support channel where the case originated), Customer Service Insights supports any custom values and labels defined in these fields.
    • ResolveBySLAStatus indicates whether a case is compliant with the service-level agreement (SLA). You can define multiple different values for compliant cases, and Customer Service Insights only uses value 4 to identify non-compliant cases.
    • The pick list values defined in CustomerSatisfactionCode indicates the customer satisfaction score (CSAT). Customer Service Insights reads value from 1 to 5 to calculate the average CSAT.

Hopefully this section gives you a clearer picture what kind of data Customer Service Insights use and how those data are used when generating dashboards. In next couple of sections, I will show you how to make best use of the custom entity/field mapping feature.

Map custom entities and fields to generate insights

Once your case data are stored in your custom CDS entities, it is very straightforward to map those data for Customer Service Insights to use. You can do that when creating a workspace or update the mapping in workspace settings.

When you create a workspace and have selected a Dynamics 365 environment, Customer Service Insights checks whether the Incident (case) entity exists and contains enough case data in the selected environment. If not, the data mapping wizard will show up:

Following the wizard, you will be able to pick your entity for mapping:

Then in the last wizard page, you can select the data fields from your entity to map to each attribute used by Customer Service Insights. The drop-down lists only show fields with compatible types with the destination field: 

Similarly, once a workspace is created, you can update the mapping in workspace settings:

This how-to article gives you step-by-step details how to use this feature: Map your data to custom entities and fields

Tips and tricks on data mapping

Here are several tips and tricks to help you get the most from this feature:

  • If your case data are stored in an external data source, you can follow this article to import your data to CDS: Add data to an entity in Common Data Service for Apps by using Power Query. Once imported, you will be able to create Insights workspace for your case data using data mapping.
  • When you create custom entities and fields, double check the pick lists' option values and make sure they are aligned with the data requirements. Specifically, when a custom entity/field is created in Power App, a custom option value is auto-generated for each option label you add in the form. You can follow this article, Create and edit fields for Common Data Service for Apps using PowerApps solution explorer, to view and update option sets associated with a picklist field. The following fields need more attention:
    • CSAT field: the values of your custom CSAT field should indicate the real CSAT scores (i.e. 1-5 in most of cases).
    • SLA status: make sure to use value 4 to indicate a case is not compliant. 
  • This feature enables an additional way to improve your AI-generated topic results. By default, AI-generated topic lists use the data stored in case Title field, assuming case titles are descriptive enough for the corresponding customer issues. If you have another data field in Incident entity (e.g. Subject field, or Description field, etc.) that summarizes issue better, you can use data mapping to replace case Title to generate better topics.
  • Data mapping requires your custom fields in compatible attribute types as listed in this document: Dynamics 365 for Customer Service entities used by AI for Customer Service Insights. If any field types for mapping are not compatible, as long as they are not required fields, you can skip the mapping for those fields before the problems are solved in your entity. You can find which fields are incompatible from the error message.
  • The lookup fields (for owning user, product, business unit and team) are not yet supported to look up custom entities in this release. For mapping to the same Incident (case) entity, it will try to map to the default fields automatically. The full custom support for these lookup fields will be supported soon in our next data mapping release (yeah, we release iteratively). Please stay tuned!


In this post, we discussed how Customer Service Insights works with service data to create dashboards, and introduce you the new capability that maps your custom CDS entities and fields to generate insights. Hopefully you find it useful and can start getting more actionable insights from your service data. If you have any questions or feedback about this feature, please feel free to leave your comments here or visit Customer Service Insights forum.

As a SaaS product, we are following an agile and iterative process to continuously deliver features that can make the product work better and better for our customers. There are a lot of things in our roadmap that we can’t wait to build and ship to you, and we are keen to listen to your opinions so as to deliver the right solutions for your problems. So, if you have any suggestions or ideas, please do not hesitate to create an idea, or vote on others’ ideas.

Again, if you run into any problems when using the Customer Service Insights or have any questions, we are ready at the Customer Service Insights forum to help you.


Xiaoying Guo
Senior Program Manager