Edit

Set up the Scheduling Operations Agent (preview)

[This article is prerelease documentation and is subject to change.]

The Scheduling Operations Agent is an autonomous agent for Dynamics 365 Field Service that considers existing bookings and requirements when a dispatcher adjusts a technician's schedule. Before dispatchers can use the agent, an administrator must set it up in your environment.

Important

  • This is a preview feature.
  • Preview features aren't meant for production use and may have restricted functionality. These features are available before an official release so that customers can get early access and provide feedback.

Prerequisites

  • Your environment is updated to Field Service version 8.8.133.214 or newer and Universal Resource Scheduling version 3.12.149.15 or newer.
  • Location and map settings are turned on for your environment.
  • You have an administrator role in the Dynamics 365 Field Service app.

Set up the billing model

Scheduling Operations Agent and other Copilot and agent capabilities in Dynamics 365 use Microsoft Copilot Studio messages for AI interactions and tasks like retrieving information and responding to prompts. The number of messages per event depends on the event's complexity. Learn more in Message scenarios. For the Scheduling Operations Agent, a single optimization request consumes messages based on the number of resources it includes, so optimizing more resources at once uses more capacity.

These capabilities use consumption-based billing, charging per use, and messages are the billing units that measure usage. Learn more about billing and rates in Power Platform Licensing Guide.

Dynamics 365 supports two billing models: prepaid capacity and pay-as-you-go. The prepaid capacity model uses Copilot Studio message pack subscriptions, which are a licensing option for Microsoft Copilot Studio that you purchase in advance. The pay-as-you-go model charges for the actual number of messages that agents consume during the month. Learn more in Copilot licensing.

You can use both billing models in the same environment. Prepaid capacity is consumed first. Both models require that you link your Dynamics 365 environment to a Power Platform environment.

Set up prepaid capacity billing

  1. In the Microsoft 365 admin center, purchase a Copilot message pack subscription. Learn more in Manage self-service purchases and trials (for users) or Manage self-service purchases and trials (for admins).

  2. In the Power Platform admin center, assign prepaid capacity to the Power Platform environment. Learn more in Manage capacity.

Set up pay-as-you-go billing

To set up pay-as-you-go billing, you first need an active Azure subscription. Link the subscription to your Power Platform environment by using the Power Platform admin center or Power Apps. Learn more in Set up pay-as-you-go.

Manage capacity and usage

You can view Copilot Studio message capacity and usage for both prepaid capacity and pay-as-you-go billing in the Power Platform admin center. Learn more in Manage Copilot Studio messages and capacity.

Dynamics 365 regularly checks the available capacity, or quota, of Copilot Studio messages. If your organization's quota is low or depleted, users receive in-app notifications about the capacity status and necessary actions. It's important to take timely action on these notifications and either reallocate existing capacity or purchase more.

  • For prepaid capacity, use the Power Platform admin center to allocate more capacity to the environment from the total available on the tenant. If no capacity is available, purchase more. Learn more in Manage capacity.

  • For pay-as-you-go, use Microsoft Cost Management in the Azure portal to view detailed usage and adjust spending limits, or budgets, to free up more capacity. If no capacity is available, purchase more. Learn more in View usage and billing information.

Important

When the quota is depleted, AI capabilities are unavailable until more capacity is added. Tenant admins can review the message consumption of agents in the Power Platform admin center. Learn more in Message scenarios.

Turn on the Scheduling Operations Agent

  1. Open the Field Service app.

  2. Change to the Resources area and go to Scheduling Parameters > Resource Scheduling.

  3. Go to the Agents tab and turn on Scheduling Operations Agent (Preview).

Screenshot of the Scheduling Operations Agent toggle in Dynamics 365 Field Service Resource Scheduling settings.

Turning on the agent enables both interactive and batch optimizations. The rest of this article—bookable resource properties, booking status optimization methods, and priority values—applies to both.

Assign permissions and roles

The Scheduling Operations Agent uses two security roles for the people who use it, plus a team that gives the agent itself access to your data.

Assign roles to users

The agent includes two security roles. They're additive, so assign them alongside a user's existing roles rather than replacing them. Each user also needs a role that grants access to the underlying scheduling tables, such as bookable resources, bookings, and resource requirements - for example, a dispatcher role like Field Service - Dispatcher.

Role Assign to Grants
Scheduling Operations Agent Administrator Administrators who create scopes, goals, and plans Create, edit, and delete scopes, goals, and plans, and view optimization results.
Scheduling Operations Agent User Dispatchers who run optimizations View scopes, goals, and plans; run interactive optimizations from the schedule board and batch optimizations from a plan; and view optimization results.

To assign a role to a user:

  1. Sign in to the Power Platform admin center.

  2. Select your environment, and then go to Settings > Users + permissions > Users.

  3. Select a user, and then select Manage security roles.

  4. Select Scheduling Operations Agent Administrator or Scheduling Operations Agent User, along with a dispatcher role such as Field Service - Dispatcher, and then select Save.

Give the agent access to your data

The agent runs as an application user that belongs to the Scheduling Operations Agent Team. Each change the agent makes uses the combined permissions of the user who runs the optimization and the agent's application user, so both must have access to the affected records. By default, the agent's application user can read and write the standard scheduling tables.

If your optimizations use custom tables, Field Service or Project Operations tables, or queries that reference other tables, assign the matching security roles to the Scheduling Operations Agent Team so that the agent can read and update those tables. A good starting point is to assign the same roles that you assign to your dispatchers.

  1. In the Power Platform admin center, select your environment, and then go to Settings > Teams.

  2. Select the Scheduling Operations Agent Team.

  3. Assign the security roles that grant access to the tables your optimizations use, and then save.

Note

If you use column-level security (field security profiles) on any columns that your scopes or queries reference, also add the Scheduling Operations Agent Team to the matching field security profile. Otherwise, the agent might ignore filter conditions on those columns and return incorrect results.

Set properties for bookable resources

In the Resources area, set the following properties for each bookable resource that you want the agent to consider:

  • Display on schedule board must be Yes.

Select an optimization method for booking statuses

Optimization Method is a new property of booking statuses that tells the agent whether it can move or delete scheduled or committed bookings in favor of unfulfilled requirements that better match the optimization goals. If you don't set this field, the agent treats all bookings in that status as Do Not Move.

  1. Open the Field Service app and go to the Resources area.

  2. Select Booking Settings > Booking Statuses. To show all statuses, remove all filters from the view.

  3. For each booking status, set the Optimization Method property to one of the following values:

    • Optimize: The agent can move or delete bookings with this status to generate an optimal schedule. Use this method for bookings that aren't in progress yet, such as Scheduled or Committed statuses.

    • Do Not Move: The agent must preserve the estimated arrival time of bookings with this status. It only updates the travel time if a previous booking is moved or changed. This method typically applies when a technician is already traveling to a booking or has started or completed the work. You can also use this optimization method in situations where a specific arrival time was committed to a customer. Do Not Move is the default behavior if Optimization Method isn't set.

    • Ignore: The agent can override bookings with this status and move or create new bookings on top of them. Use this method for bookings with a status of Canceled.

    Screenshot of a booking status record with a configured optimization method in Dynamics 365 Field Service booking statuses settings.

Tip

In addition to using the default booking statuses, create a booking status such as Locked with Optimization Method set to Do Not Move. Dispatchers can use that booking status to selectively indicate which bookings to preserve when the agent runs.

If you don't set the Optimization Method for Committed or Scheduled statuses, the agent has little flexibility in making changes to a schedule.

Set priority values

The Priority Value property helps the agent decide which bookings or resource requirements are more important. It accepts numbers between 1 and 100. The higher the number, the higher the priority. For example, a high-priority booking with a Priority Value of 75 takes precedence over a high-priority booking with a Priority Value of 50. The agent ignores the Level of Importance field.

  1. Open the Field Service app and go to the Settings area.

  2. Select Priorities.

  3. For each priority that you want the agent to consider, set a Priority Value.

    Screenshot of a priority record with a configured priority value in Dynamics 365 Field Service priorities settings.

Tip

Set priority values that are clearly distinguishable, but within a relatively narrow range. For example, if your values are Low - 1, Medium - 10, and Emergency - 100, the Emergency bookings are 10 times more important than Medium. This results in Emergency bookings nearly always being included in the result, regardless of how inefficient the placement is.

Next steps