Introducing the Customer Intent Agent in Dynamics 365 – Part 2

Back in February, I shared some of the new features that are coming in the 2025 Release Wave 1 for Dynamics 365 Customer Service and Contact Center. In that article, I gave a quick overview of three new autonomous agents Microsoft is rolling out: the Case Management Agent, the Customer Knowledge Management Agent, and the Customer Intent Agent. Each of them brings something unique to the table, all with the goal of helping customer support teams work more efficiently and deliver better service. Since then, I’ve written more focused articles on the Case Management Agent, and the Customer Knowledge Management Agent, and just last week I published part one of my article on the Customer Intent Agent, where I focused on what it is and how it works. This week, we’re going to dig into how to configure it. Let’s jump in!

The first thing an admin will need to do is enable the agent in the Copilot Service Admin Center. If the preview has reached your region you will see a new navigation item on the sitemap called ‘Intent’, which will take you to the setup screen for the Intent agent. On the top of the screen is the toggle to enable the agent. You’ll probably notice a red banner on the top of the screen that reads: ‘Billing setup pending To use this feature, setup Microsoft Copilot Studio messages for this environment.’Go to Power Platform Admin Center’. This means that before you can enable the Intent agent, you will need to setup Microsoft Copilot Studio messages for billing purposes. This feature (even in preview) is a paid feature, meaning that each time the agent engages, it will consume Copilot Studio messages, so you’ll need to configure the billing for this first.

Billing Setup

You can do this by navigating to PPAC (https://admin.powerplatform.microsoft.com/), then heading to ‘Licensing’ and then clicking on the ‘Copilot Studio’ navigation item under the ‘Licensing’ header. In my environment I have configured prepaid messages but you can also create a ‘pay-as-you-go’ billing plan, which means exactly that, you’ll only pay for consumed messages. You can add billing plans or review existing billing plans by clicking on the ‘Billing Plans’ navigation item under ‘Licensing’. You can add an environment to the billing plan by opening an existing billing plan (click ‘edit’ on the command bar) and clicking on the ‘Add or remove environments’ link on the side pane. This will open a window with all the environments and you can check the box next to the environment(s) you want to add to the plan.

The prepaid message pack allows you to purchase messages beforehand, which can then be assigned to one or more environments. This is the payment method I will be using. I add my environment by clicking on the ‘Manage Capacity’ link below ‘Prepaid Capacity’ and click on the environment I want to add this payment method to. I enter 500 under ‘Messages’ and check the box that reads ‘Draw from the available capacity in my tenant’. This allows the agent to continue to use messages when the 500 messages I just assigned reaches 0. Once this setup has been completed, return to the Copilot Service Admin Center and refresh the screen. The red banner should be gone and the toggle to turn on the Intent agent should no longer be grayed out.
When you enable the Customer Intent agent for the first time, the process can take up to 15 minutes. Until this time, you will not be able to make any configurations to the agent and all the options on the screen will be grayed out. Once the agent has been enabled, you’ll notice all of the options, except the ‘Manage Intent Groups’ option, are now editable. The first option that is available is the ‘Line of Business’ option. I haven’t talked about this option yet.

Manage Intent Discovery Setup

The intent discovery setup will start the process of analyzing past conversations within the Customer Service/Call Center instance to discover new intents, intents groups and attributes. You’ll need to create a new ‘Setting for intent discovery’ first, where you’ll need to enter a name for the record, data source(s) (cases and/or conversations) the agent will use to generate the intent and intent groups, and the intent group granularity. The lower the granularity is set, the less intent groups the agent will create. The ‘record status’ refers to the status of the newly discovered intents and intent groups. If an intent’s or intent group’s status is set to ‘Approved’ this means it’s ready to be used. I would recommend setting this to ‘Pending’ so you can manually go in and approve intents and intent groups afterwards.

In order simulate which intent groups and intents will be created from the ‘intent discovery setting’, you can click the ‘Test’ button below the record status. Depending on how many cases and conversation records you have in your environment, this can take a bit, so be patient. I would recommend running this a few times changing the intent group granularity, allowing you to see the difference for each setting. Once the simulation is done, you can export the results to an excel file. If the simulation failed, you won’t see any data in the excel sheet. Once you reviewed the results from the test, you can decide which test worked best and change the data sources, intent group granularity and record status to match the test after which you can click the ‘Setup intent discovery’ button to run the setup in production. This will create the intent (and intent group) records in the system. When you return to the ‘Manage intent discovery setup screen’ you’ll see when the process is finished. From here you can also export the intent and intent groups that were created during the run. NOTE: The first run of the intent discovery will take some time. It analyzes historical data for up to two months. After that, the intent discovery will run daily.

Intents and Intent Groups

The intents section allows you to view all the intents that were created during the intent discovery setup. You’ll notice the view shows the intents generated, the intent groups they belong to, the review status, which knowledge articles are tied to the intent, whether the Intent agent can use the intent, the attributes associated with the intent, the intent’s occurrence details (I’ll explain what occurrences are shortly), how the intent was generated, etc. NOTE: Not all intents are automatically mapped to an intent group. The system can create intents without linking them to an intent group.
From here you can change the review status of an intent record or open the record. When you open an intent record, you’ll see the name of the intent, the group it belongs to, the review status and if the intent can be used by the intent agent. Please note that you’ll need to change the review status of an intent group and intent record to ‘Approved’ before it can be used by the agent. When you navigate to ‘Intent groups’ you’ll see the list of all the intent groups, the number of intents that belong to the group, the review status, etc. This is where you can change the status of an intent group.

Attributes

Below the intent details you’ll notice attributes. These can be generated by the AI model, but you can also add custom attributes manually. As I explained above, attributes are important data points that the agent will use to suggest questions for a CSR to ask the customer during a conversation.
In the attribute list you’ll notice columns for ‘occurrence’, ‘occurrence for the last 30 days’ and ‘Occurrence’ for 1 year’ for each attribute. Occurrences represent how often an attribute is used by a CSR. For example: There are 100 conversations in Dynamics 365 and 50 of those conversations were mapped to the ‘resolve battery charging issue for laptop’ intent. During 5 of those conversations the CSR asks about the ‘battery health status’. In this scenario the system will add one occurrence count for each time the question is asked/the attribute is used in a conversation. NOTE: The occurrence count is per conversation, so if a CSR asks the question twice in one conversation the count would still be 1. In the example here that would add 5 occurrences for the ‘Battery health status’ attribute. These counts are for completed conversations only and the occurrence count for the attributes will be updated in the background. Why this is important: You’ll also see the ‘Runtime Usage’ column for each attribute and there are three options here, which can be edited for each attribute. The first option is ‘Use, if criteria is met’. This means that this attribute will only be used if the occurrence for the attribute is higher than 1. Any attribute with occurrence equal to or less than 1 will not be used to generate a question for the CSR. So, the more the attribute is used/question is asked during conversations, the greater the number of occurrence will become. Makes sense right? If we’re not using certain types of information that much then we probably don’t want the agent suggesting it to our CSR’s!

The second tab shows any knowledge articles that are related to the intent. This is where you can add or view existing knowledge articles to the intent which the Intent agent will use to provide a solution. When a CSR asks for a solution, the agent will first look at the associated knowledge articles to come up with a solution. If the agent can’t find the solution in the associated knowledge articles, it will look at the other knowledge articles in the system. If there are no knowledge articles selected here, it will automatically look at the other knowledge content available.

Enable for support representatives

You can enable the Intent Agent for your Customer Service Reps by clicking ‘Manage’ next to the ‘Enable for support representatives’ section, which will take you to the system’s experience profiles. When you open an experience profile, you’ll see the ‘Copilot AI Features’ in the bottom left of the screen. Clicking the ‘edit’ button will allow you to enable the ‘intent based suggestions(preview’). I hope you enjoyed this article! Be sure to check in again next week for a new article or subscribe here to never miss another post!

Share this!

Leave a Reply