Optimization in the Scheduling Console
Use optimization to automate scheduling decisions, resolve conflicts, and maximize resource efficiency directly from the Scheduling Console.
Required Editions
| Available in: Lightning Experience |
| The Field Service core features, managed package, and mobile app are available in Enterprise, Unlimited, and Developer Editions. |
This is a Field Service managed package feature.
Instead of manually moving appointments on the Gantt, dispatchers can trigger an optimization run to automatically resolve scheduling conflicts, react to same-day disruptions, or fine-tune an individual service resource’s schedule, all while adhering to their business policies. The Scheduling Console offers three optimization modes.
| Optimization Mode | Best For |
|---|---|
| Resource Schedule Optimization | Rebalancing a single resource's schedule to fill gaps and resolve conflicts. |
| In-Day Optimization | Resolving last-minute schedule changes for one or more service territories on the day of service. |
| Global Optimization | Resolving scheduling conflicts and maximizing appointment coverage across service territories. |
After running an optimization, dispatchers can use the Activity Tracker to monitor the status of their request in real time and review results. See Activity Tracker in the Scheduling Console.
Resource Schedule Optimization
Use Resource Schedule Optimization to optimize a single service resource's schedule for maximum efficiency. It reorganizes a resource's schedule to maximize utilization and fill scheduling gaps.
When last-minute developments occur like canceled jobs, lateness, or emergencies, dispatchers can optimize an individual service resource's schedule to design the best schedule for them. As changes to a service resource's schedule occur throughout the day, gaps or overlaps can occur. Resource Schedule Optimization is a handy tool to automatically fix the service resource's schedule and fill any gaps with other work.
Run Resource Schedule Optimization
Resource Schedule Optimization optimizes the schedule of one service resource at a time.
- Hover over a resource in the service resource list (1).
- From the popover, click Optimize Schedule (2). The Resource Schedule Optimization side panel opens.
In the side panel, confirm the service resource and set the date range for the optimization run.
- Set the optimization date range (1). The date range can be up to 30 days.
- Click Run Optimization (2).
Resource Schedule Optimization runs in the background, so you can continue working in the Scheduling Console while your request is processed.
After running the optimization, you can use the Activity Tracker to monitor the status of your request in real time and review results. See Activity Tracker in the Scheduling Console.
Advanced Filters
If your admin has enabled Advanced Filters for you, customize the optimization run to fine-tune your scheduling results.
- Click the Advanced Filters header to expand the section (1).
- Under Scheduling Policy, select a scheduling policy for the run (2). The scheduling policy selected on the Gantt is used by default.
- Under Appointments to Keep Scheduled, select which type of service appointment must remain on the schedule (3). Optimization can reschedule these appointments only within the selected date range.
- Under Optimization Scope, select which service appointments are
considered for optimization (4).
- Scheduled Appointments in Date Range (default): Evaluates only scheduled appointments within the date range that you selected.
- All Appointments: Evaluates unscheduled appointments and scheduled appointments seven days before and after the selected date range.
- Appointment Type: Evaluates unscheduled appointments of the selected type, and scheduled appointments, seven days before and after the selected date range.
When you select All Appointments or a specific appointment type, the Include Appointments From section appears with two available options.
- Select This service resource's schedule for optimization to consider only appointments from this resource's schedule (1).
- Select Other service resources' schedules for optimization to consider appointments from other resources' schedules (2). Optimization evaluates their schedules seven days before and after the selected date range.
How Does This Work?
The How does this work? section at the bottom of the side panel provides a dynamic summary of what the optimization does. By default, it shows the scheduling policy selected on the Gantt and information about the expected schedule updates (1). As you configure the Advanced Filters, the section updates to reflect the additional criteria applied to the run (2).
Optimization Results
When the optimization run completes and changes are applied to the service resource’s schedule, use the Activity Tracker to review the results.
- Click Show Results (1) in the Activity Tracker to open the Optimization Results panel (2). The panel shows the optimization status, the selected date range, the selected scheduling policy, and the optimization request ID.
- Click the ID to view the optimization request record (3).
The Details section in the panel shows a breakdown of service appointment updates.
- Added: Appointments added to the resource's schedule. Click Highlight on Gantt (1) to highlight them on the Gantt, or click Show List (2) to open a temporary list of the added appointments.
- Rescheduled: Appointments moved within the selected date range. Click Highlight on Gantt or Show List to review them.
- Unchanged: Appointments that kept their original time and service resource. Click Highlight on Gantt or Show List to review them.
- Unscheduled: Appointments unassigned from the resource. Select Show List to review them.
All temporary lists show the current state of the appointments.
In-Day Optimization
Use In-Day Optimization to quickly rebalance your schedule in response to unexpected disruptions that occur during the workday.
When cancellations, no-shows, or urgent new requests disrupt your day, In-Day Optimization lets you run a quick optimization check to improve utilization and resolve last-minute scheduling issues for one or more service territories on the day of service. You can run In-Day Optimization over multiple days, but it's best suited for addressing last-minute issues on the current day or at most over two days.
Run In-Day Optimization
In-Day Optimization optimizes the schedules of one or more service territories in a single run.
- Click Optimize in the Scheduling Console header (1). If you have permission to run both In-Day and Global Optimization, click the dropdown and select In-Day Optimization (2). The In-Day Optimization side panel opens.
In the side panel, select one or more service territories and set the date range for the optimization run.
- Use the Service Territories dropdown to select which service territories to include in the optimization run (1). The dropdown lists only the service territories currently shown on the Gantt.
- Set the optimization date range (2). The date range can be up to 30 days.
- Click Run Optimization (3).
In-Day Optimization runs in the background, so you can continue working in the Scheduling Console while your request is processed.
After running the optimization, you can use the Activity Tracker to monitor the status of your request in real time and review results. See Activity Tracker in the Scheduling Console.
Advanced Filters
If your admin has enabled Advanced Filters for you, customize the optimization run to fine-tune your scheduling results.
- Click the Advanced Filters header to expand the section (1).
- Under Scheduling Policy, select an in-day scheduling policy for the run (2). If no in-day scheduling policy has been set up yet, ask your admin to set one up.
- Under Appointments to Keep Scheduled, select which type of service appointment must remain on the schedule (3). Optimization can reschedule these appointments only within the selected date range.
- Under Optimization Scope, select which service appointments are
considered for optimization (4). Optimization can include unscheduled and scheduled appointments.
- All Appointments: Evaluates all unscheduled and scheduled appointments.
- Appointment Type: Evaluates only unscheduled and scheduled appointments of the selected type.
How Does This Work?
The How does this work? section at the bottom of the side panel provides a dynamic summary of what the optimization does. By default, it shows the in-day scheduling policy used, information about the expected schedule updates, and the runtime of the optimization run (1). As you configure the Advanced Filters, the section updates to reflect the additional criteria applied to the run (2).
Optimization Results
When the optimization run completes and changes are applied to the schedule, use the Activity Tracker to review the results.
- Click Show Results (1) in the Activity Tracker to open the In-Day Optimization Results panel (2). The panel shows the optimization status, the selected date range, the selected scheduling policy, and the optimization request ID.
- Select or search for a specific service territory in the service territories dropdown to view its individual results. By default, results are shown for all selected service territories (3).
- Click the optimization request ID to view the optimization request record (4).
- Click Show Optimization Hub (5) to open the Optimization Hub and analyze the run in more detail. See Explore Metrics in Optimization Hub.
The Details section in the panel shows a breakdown of service appointment updates.
- Added: Appointments added to the schedule. Click Highlight on Gantt (1) to highlight them on the Gantt, or click Show List (2) to open a temporary list of the added appointments.
- Rescheduled: Appointments moved within the selected date range. Click Highlight on Gantt or Show List to review them.
- Unchanged: Appointments that kept their original time and service resource. Click Highlight on Gantt or Show List to review them.
- Unscheduled: Appointments removed from the schedule. Select Show List to review them.
All temporary lists show the current state of the appointments.
Global Optimization
Use Global Optimization to run an extended, in-depth optimization check to maximize utilization of the schedule for one or more service territories within a specific date range.
Global Optimization is the most powerful and thorough optimization option for resolving scheduling conflicts, maximizing appointment coverage, and rebalancing workloads across multiple service territories. It's ideal for handling large volumes of service appointments by optimizing multiple resource schedules across one or more service territories within a specific date range. Because it can take up to 2 hours to complete, it’s best to run it overnight.
Run Global Optimization
Global Optimization optimizes the schedules of one or more service territories in a single run.
- Click the Optimize dropdown in the Scheduling Console header (1) and select Global Optimization (2). The Global Optimization side panel opens.
In the side panel, select one or more service territories and set the date range for the optimization run.
- Use the Service Territories dropdown to select which service territories to include in the optimization run (1). The dropdown lists only the service territories currently shown on the Gantt.
- Set the optimization date range (2). The date range can be up to 30 days.
- Click Run Optimization (3).
Global Optimization runs in the background, so you can continue working in the Scheduling Console while your request is processed.
After running the optimization, you can use the Activity Tracker to monitor the status of your request in real time and review results. See Activity Tracker in the Scheduling Console.
Advanced Filters
If your admin has enabled Advanced Filters for you, customize the optimization run to fine-tune your scheduling results.
- Click the Advanced Filters header to expand the section (1).
- Under Scheduling Policy, select a scheduling policy for the run (2). The scheduling policy selected on the Gantt is used by default. Make sure that the selected scheduling policy is suitable for global optimization. If it isn't, ask your admin to set one up.
- Under Appointments to Keep Scheduled, select which type of service appointment must remain on the schedule (3). Optimization can reschedule these appointments only within the selected date range.
- Under Optimization Scope, select which service appointments are
considered for optimization (4). Optimization can include unscheduled and scheduled appointments.
- All Appointments: Evaluates all unscheduled and scheduled appointments.
- Appointment Type: Evaluates only unscheduled and scheduled appointments of the selected type.
How Does This Work?
The How does this work? section at the bottom of the side panel provides a dynamic summary of what the optimization does. By default, it shows the scheduling policy selected on the Gantt, information about the expected schedule updates, and the runtime of the optimization run (1). As you configure the Advanced Filters, the section updates to reflect the additional criteria applied to the run (2).
Optimization Results
When the optimization run completes and changes are applied to the schedule, use the Activity Tracker to review the results.
- Click Show Results (1) in the Activity Tracker to open the Global Optimization Results panel (2). The panel shows the optimization status, the selected date range, the selected scheduling policy, and the optimization request ID.
- Select or search for a specific service territory in the service territories dropdown to view its individual results. By default, results are shown for all selected service territories (3).
- Click the optimization request ID to view the optimization request record (4).
- Click Show Optimization Hub (5) to open the Optimization Hub and analyze the run in more detail. See Explore Metrics in Optimization Hub.
The Details section in the panel shows a breakdown of service appointment updates.
- Added: Appointments added to the schedule. Click Highlight on Gantt (1) to highlight them on the Gantt, or click Show List (2) to open a temporary list of the added appointments.
- Rescheduled: Appointments moved within the selected date range. Click Highlight on Gantt or Show List to review them.
- Unchanged: Appointments that kept their original time and service resource. Click Highlight on Gantt or Show List to review them.
- Unscheduled: Appointments removed from the schedule. Select Show List to review them.
All temporary lists show the current state of the appointments.

