Configuring Schedule Optimization

  • Release version: Zurich
  • Updated March 12, 2026
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Configuring Schedule Optimization

    Schedule Optimization automates task assignments and creates efficient technician schedules by dynamically responding to changing conditions during the day. It is designed to improve scheduling accuracy and resource utilization by evaluating tasks and technicians based on configured business rules.

    Show full answer Show less

    Key Features

    • Core Configuration Elements: Includes Properties (system-wide settings), Policies (rules and priorities), Scheduling Attributes (task and technician definitions), and Batches with associated Scopes (defining what and when to optimize).
    • Optimization Modes:
      • Batch Optimization: Scheduled runs generating complete optimized schedules for upcoming work within a time window.
      • Intraday Optimization: Runs throughout the day to adjust schedules based on disruptions like cancellations or high-priority tasks.
      • Prioritized Event Optimization: A focused intraday mode triggered by critical events.
      • On-Demand Optimization: Allows dispatchers to manually run optimization anytime via Dispatcher Workspace.
    • Use of Scopes and Qualifiers: Scopes define the context for optimization runs, including scheduling attributes and qualifiers such as assignment groups (by skill/role) or territories (geographic areas). Overlapping technicians are supported only with territory qualifiers.
    • Integration Options: Supports Territory-Based Optimization, Workforce Optimization for Field Service, and Planned Crews configurations for specialized scheduling needs.

    Setup Process

    • Activate the Schedule Optimization plugin to enable functionality.
    • Configure system properties to tailor optimization behavior and performance.
    • Create policies defining objectives (e.g., minimizing travel time) and constraints (e.g., skill requirements) guiding task assignment.
    • Set up scheduling attributes specifying reusable settings like default policies and travel estimate providers.
    • Define scopes combining scheduling attributes and qualifiers to specify which tasks and technicians are included.
    • Create batches to schedule when optimization runs occur, including frequency and timing.
    • Optionally configure intraday and on-demand optimization to respond dynamically to real-time scheduling disruptions.

    Practical Benefits

    By following this configuration, ServiceNow customers can automate complex scheduling scenarios to improve efficiency, reduce manual effort, and adapt quickly to changing field conditions. This leads to optimized resource allocation, better adherence to service commitments, and enhanced operational agility.

    Scalability

    The solution supports a high volume of tasks across all optimization methods by default. For expanded capacity needs, customers can engage ServiceNow support or submit change control requests to tailor performance.

    Use Schedule Optimization to automate task assignment, create efficient schedules, and respond to changing conditions as they occur throughout the day.

    Configuration overview

    The Schedule Optimization configuration comprises four main elements: Properties, Policies, Scheduling attributes, and Batches with their associated Scopes. The workflow involves configuring properties to control system-wide behavior, policies to define the rules and priorities that guide optimization, and scheduling attributes to describe the tasks and technicians included in a run. You then create batches and scopes to define what gets optimized, when, and by which method. Additional configurations support intraday and on-demand optimization, allowing scheduling updates in response to changing conditions throughout the day.

    How Schedule Optimization works

    Schedule Optimization evaluates available tasks and technicians against configured policies to produce optimized schedules. Each optimization run is associated with a scope, which specifies the scheduling attribute configuration and qualifiers. Qualifiers, such as assignment groups or territories, determine which technicians are included in the run. Assignment groups organize technicians by skill or role, while territories define geographic service areas. Qualifiers support overlapping technicians only when optimizing by territory, not by assignment groups.

    Schedule Optimization can be configured to run in three modes:
    • Batch optimization runs on a scheduled basis to create optimized schedules for upcoming work. It evaluates all available tasks and technicians within a specified time window and produces a complete schedule based on your configured objectives and constraints.
    • Intraday optimization runs throughout the day in response to schedule disruptions such as canceled tasks, new high-priority tasks, or technicians running late or calling in sick. Prioritized event optimization is a focused mode of intraday optimization that triggers shortly after a critical event occurs.
    • On-demand optimization allows dispatchers to trigger optimization manually from Dispatcher Workspace at any time.

    Schedule Optimization workflow diagram

    The following figure illustrates the high-level workflow of Schedule Optimization in batch mode.

    Figure 1. Schedule Optimization workflow
    Schedule Optimization flow diagram showing how batches, scopes, and policies work together. See the previous text description for more information.

    Steps to setup Schedule Optimization

    The steps to set up Schedule Optimization are:

    1. Activate the Schedule Optimization plugin. For more information, see Activate Schedule Optimization.
    2. Set the properties to control optimization behavior and performance in your instance.
    3. Optionally, you can set up Territory-Based Optimization, Schedule Optimization with Workforce Optimization for Field Service, and Schedule Optimization for Planned Crews depending on your specific needs.
    4. Create policies that define optimization goals through objectives and constraints. Objectives prioritize how tasks are assigned, such as minimizing travel time or maximizing task assignments. Constraints set rules that must be met before assigning tasks, such as required skills or availability. For more information, see Create a policy for Schedule Optimization.
    5. Configure scheduling attributes to define reusable optimization settings, including the default policy, travel estimate provider, and applicable qualifiers. For more information, see Create a scheduling attribute for Schedule Optimization.
    6. Create scopes that define the scheduling attribute configuration and qualifiers for an optimization run. Scopes are required for batches to run. For more information, see Create a scope for Schedule Optimization
    7. Create batches that define when optimization runs, including start date, run frequency, and start and end times. For more information, see Create a batch for Schedule Optimization.
    8. Optionally, create intraday configurations to trigger optimization in response to schedule disruptions or enable on-demand optimization for dispatchers. For more information, see Intraday optimization.

    Schedule Optimization supports a high volume of tasks across all three optimization methods by default. If your scheduling needs require expanded capacity, you can contact support or submit a change control request to adjust the configuration.