Disposition Codes Explained: How to Track and Report on Dynamics 365 Customer Service Outcomes
As a customer service leader, have you ever had the need to report on how customer service conversations actually end, not just that they happened? This is where disposition codes come in. Disposition codes in Dynamics 365 Customer Service and Contact Center allow customer service reps to capture the outcome of a chat or voice conversation by selecting from a pre-determined list of disposition codes. For example a customer service rep has a chat (or voice) conversation with a customer about a product return which he/she is able to resolve during the conversation. The disposition code in this scenario could be ‘Product Return Completed’.
Disposition codes create consistency across conversations by standardizing how outcomes are logged, which means cleaner data and waaay better reporting! Now who doesn’t want that? This type of data helps customer service leaders spot trends in why customers are reaching out, measure agent effectiveness, understand where processes are breaking down, and uncover opportunities to improve the overall customer experience. Disposition codes turn conversations into insights you can actually act on, and that’s where the real magic happens.
How does it work?
In Dynamics 365 Customer Service and Contact Center, disposition codes are configured by admins and then surfaced to CSR’s at the end of a conversation. After completing the interaction, the agent selects the most appropriate disposition code or codes to describe the outcome, ensuring the interaction is consistently categorized. These codes are automatically stored with the conversations, making them available for reporting and analytics without adding extra work for the CSR. Because the same set of disposition codes can be used across chat and voice channels, we can analyze interaction outcomes at scale, giving organizations clear visibility into how customer conversations are being resolved and where follow-up or improvements are needed. Unfortunately today disposition codes can only be used with chat and voice channels.
Configuration
In order to start using this functionality, an administrator will have to enable it first. This can be done by opening the ‘Copilot Service Admin Center’ and navigating to ‘Customer Settings’. In the list of options, next to ‘Disposition Code’ click on ‘Manage’ and set the slider to ‘Turn on disposition code for CSR’. A window will pop-up asking to confirm the enabling of the feature. Click confirm to turn the feature on.

Once the feature is enabled, you’ll notice that the settings that were previously grayed out have become available. You’ll also notice a checkbox below the ‘Turn on disposition code for CSR’. When this box is checked, Customer Service Reps will not be able to close a session without selecting a disposition code. This is a global setting, but we can also configure this per workstream which I will explain later in this article. Keep in mind that this doesn’t mean that the CSR can’t end the conversation with the customer, it just means they can’t close the session tab in Customer Service Workspace. Below the checkbox you’ll notice the ‘Max disposition codes allowed’ drop down field with values between 1-12. This represents the maximum number of disposition codes that a Customer Service Rep can select when closing a conversation. You’ll also notice that the ‘Do not contact’ disposition code has already been created. This disposition code can’t be removed or edited.
Create disposition codes
New disposition codes can be added by clicking the ‘+New Disposition Code’ button on top of the page. When the ‘+New Disposition’ button is clicked, a side pane opens where you can enter the name of the disposition code and the category is belongs to. New categories can be added by clicking on the drop down, typing in the name of the category and clicking on the ‘+’ button on the right side. Clicking on the ‘Category’ dropdown again (or just waiting a few seconds) will show the newly created category in the drop down field.
NOTE: When a new category is created, this adds a row in the ‘Disposition Code Category’ table. I wasn’t able to find the disposition code categories in the Copilot Service Admin Center, but I was able create a custom model driven app containing this table, from where I was able to delete categories. I had to delete the disposition codes related to the category first before I was able to delete the category!
The third field on the disposition code form is the ‘Workstreams’ field. This will allow us to configure where the disposition code will be available. When ‘All’ is selected it means the disposition code is global, and will be accessible in all chat and voice workstreams. If one or more workstreams are selected, the disposition code will only be available in those workstreams.
Configure Workstream specific settings
Besides configuring the global settings for the disposition codes, administrators also have the ability to configure disposition code settings that are specific to a work stream. To access these settings we will need to open the workstream and scroll down to the ‘Advanced Settings’. You’ll see the ‘Disposition Code’ area close to the bottom of the screen.

This shows all the disposition codes that are available for the workstream, which includes global disposition codes and workstream specific disposition codes. There is also a ‘Use global settings for requiring disposition code’ toggle. If you turn this off, the global configuration for requiring a disposition code when a conversation is closed, is overridden. For example if you didn’t require Customer Service Reps to require to use disposition codes when closing the chat or voice session, but you checked the box that reads ‘Require disposition code to close session’ on a workstream, then for that workstream, the Customer Service Reps will be required to select one or multiple disposition codes before they can close the session. If the global settings don’t require CSR’s to use a disposition code, you can still configure individual workstreams to require disposition codes prior to closing the chat or voice session.
Customer Service Rep Experience
If the disposition code is required, a Customer Service Rep will see a warning when they try to close a session stating they have to select at least one disposition code before they can close the session. Depending on the disposition code configuration, Customer Service Reps can pick one or more codes from the ‘Search codes’ field. If there are too many codes to scroll through, they also have the option to filter the codes by category.

If you’ve enabled the disposition code functionality in Dynamics 365 Customer Service / Contact Center but your Customer Service Reps aren’t seeing the disposition code section during conversation, don’t panic, you’re not alone (this exact thing happened to me). The first thing that you want to check is the security roles your CSR’s have. To use disposition codes they will need the Omnichannel Agent security role or another role that has the following privileges assigned:
- OC Disposition Code Table: Read & Append To
- Disposition Code Category Table: Read
- Conversation Disposition Code Map Table: Read, Create, Write, Delete, Append & Append To
In other cases this might have nothing to do with security roles, instead it might be a form issue, and the section is already on the form but hidden. To fix this, you’ll need to manually expose it on the form. Start by opening Power Apps and navigating to the ‘Conversation’ table, then open the ‘Customer Summary’ form. Once the form designer loads, scroll to the bottom and turn on the ‘Show hidden’ toggle. This will reveal any sections that exist on the form but aren’t currently visible, including the ‘Disposition Code’ section. Select that section, and in the properties pane on the right-hand side, uncheck the ‘Hidden’ option. After that, simply save and publish your changes. Once published, your CSRs should see the disposition code section and be able to capture conversation outcomes as expected! Be sure to check in again soon or subscribe here to never miss another post!



Comments are Closed