Create a batch for Schedule Optimization
Create an optimization batch to determine the interval at which Schedule Optimization should run. Set the start date, batch start time and end time, and run frequency for the related scope.
Before you begin
Configure the policy and Scheduling attribute configuration.
Verify that your agent work schedules are set up correctly:
- Work schedule structure: Set up a repeating schedule for each technician, such as a weekly or monthly pattern. Individual day exceptions can override this base schedule. Schedules with single, individual day entries won't work for optimization.
- Agent availability: Verify technicians are marked as Free in their schedules for the time periods covered by the batch. Technicians marked as Busy will not receive task assignments.
Role required: wm_admin
About this task
[Omitted video] Description: This video demonstrates how to create a batch for Schedule Optimization
For information about batch limits, run frequency, and how batches and scopes work together, see Schedule Optimization batches and scopes.
Procedure
-
Navigate to All > Schedule Optimization > Batch Optimization > Batches.
-
Select New.
-
Enter a name in the Name field.
-
Set the start date, batch start time, and end time in the relevant fields.
Note: When you activate a batch with a start date in the past, it creates two scheduled jobs: One to run immediately and another to run in the future. When you activate a batch with a future start date, the batch runs at the specified time. To avoid immediate processing, set the batch start date to a future date when you plan to activate the batch.
-
Determine how often a batch runs, and select a value for Run Frequency.
-
Select Save.
-
Add scopes to the batch.
- To create a scope: Complete steps from 8 through 11.
- To reuse an existing scope: In the Optimization Scopes tab, select Edit to select an existing scope. When you reuse a scope, the system duplicates the selected scope, including all configuration records, and links the duplicate to the batch.
-
To optimize tasks by assignment groups or territories, select New in the Optimization Scopes field.
-
Enter a name in the Name field.
-
Select a scheduling attribute configuration in the Scheduling attribute field.
-
Set the Assignment horizon range to determine the span of time during which the tasks are assigned to the agents.
-
Select Activate.
-
Select Schedule now to run the batch immediately without affecting the regular scheduled trigger time.
The Schedule now action runs the batch independently of its regular schedule. Using Schedule now doesn't change or delay the next scheduled optimization run.
Result
At each defined interval, the batch triggers the Schedule Optimization process. Work order tasks are automatically assigned to the most suitable technician, and the Assigned To field is updated accordingly. To verify the next scheduled trigger time, see KB2142495.
Note: Schedule Optimization doesn’t detect changes you make to agents or tasks during an optimization run. It considers changes to technicians and tasks during the next optimization run.
You can View Schedule Optimization logs to gather insights from each optimization attempt. To understand how tasks were processed and assigned during Schedule Optimization runs, see Run summaries overview.
Related topics
---
title: Create a batch for Schedule Optimization
description: Create an optimization batch to determine the interval at which Schedule Optimization should run. Set the start date, batch start time and end time, and run frequency for the related scope.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/field-service-management/field-service-scheduling/create-an-optimization-batch.html
release: brazil
product: Field Service Scheduling
classification: field-service-scheduling
topic_type: task
last_updated: "2026-09-10"
reading_time_minutes: 3
breadcrumb: [Batches and scopes, Schedule Optimization, Setting up a Field Service scheduling method, Configure, Field Service Management]
---
# Create a batch for Schedule Optimization
Create an optimization batch to determine the interval at which Schedule Optimization should run. Set the start date, batch start time and end time, and run frequency for the related scope.
## Before you begin
[Configure the policy](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/create-policies-schedule-optimization.md) and [Scheduling attribute configuration](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/configure-scheduling-attributes.md).
Verify that your agent work schedules are set up correctly:
- Work schedule structure: Set up a repeating schedule for each technician, such as a weekly or monthly pattern. Individual day exceptions can override this base schedule. Schedules with single, individual day entries won't work for optimization.
- Agent availability: Verify technicians are marked as **Free** in their schedules for the time periods covered by the batch. Technicians marked as **Busy** will not receive task assignments.
Role required: wm\_admin
## About this task
\[Omitted video\] Description: This video demonstrates how to create a batch for Schedule Optimization
For information about batch limits, run frequency, and how batches and scopes work together, see [Schedule Optimization batches and scopes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/batches-and-scopes.md).
## Procedure
1. Navigate to **All** > **Schedule Optimization** > **Batch Optimization** > **Batches**.
2. Select **New**.
3. Enter a name in the **Name** field.
4. Set the start date, batch start time, and end time in the relevant fields.
**Note:** When you activate a batch with a start date in the past, it creates two scheduled jobs: One to run immediately and another to run in the future. When you activate a batch with a future start date, the batch runs at the specified time. To avoid immediate processing, set the batch start date to a future date when you plan to activate the batch.
5. Determine how often a batch runs, and select a value for **Run Frequency**.
6. Select **Save**.
7. Add scopes to the batch.
- To create a scope: Complete steps from 8 through 11.
- To reuse an existing scope: In the Optimization Scopes tab, select **Edit** to select an existing scope. When you reuse a scope, the system duplicates the selected scope, including all configuration records, and links the duplicate to the batch.
8. To optimize tasks by assignment groups or territories, select **New** in the **Optimization Scopes** field.
9. Enter a name in the **Name** field.
10. Select a scheduling attribute configuration in the **Scheduling attribute** field.
11. Set the **Assignment horizon range** to determine the span of time during which the tasks are assigned to the agents.
12. Select **Activate**.
13. Select **Schedule now** to run the batch immediately without affecting the regular scheduled trigger time.
The **Schedule now** action runs the batch independently of its regular schedule. Using **Schedule now** doesn't change or delay the next scheduled optimization run.
## Result
At each defined interval, the batch triggers the Schedule Optimization process. Work order tasks are automatically assigned to the most suitable technician, and the **Assigned To** field is updated accordingly. To verify the next scheduled trigger time, see [KB2142495](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB2142495).
**Note:** Schedule Optimization doesn’t detect changes you make to agents or tasks during an optimization run. It considers changes to technicians and tasks during the next optimization run.
You can [View Schedule Optimization logs](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/view-schedule-optimization-logs.md) to gather insights from each optimization attempt. To understand how tasks were processed and assigned during Schedule Optimization runs, see [Run summaries overview](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/viewing-task-assignments-from-so-runs.md).
**Related topics**
[Batches and scopes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/batches-and-scopes.md)
[Create a scope for Schedule Optimization](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/create-an-optimization-job-soe.md)
[Add or remove scopes from an optimization batch](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/field-service-management/field-service-scheduling/add-remove-scopes-batch.md)
| title | Create a batch for Schedule Optimization |
| description | Create an optimization batch to determine the interval at which Schedule Optimization should run. Set the start date, batch start time and end time, and run frequency for the related scope. |
| locale | en-US |
| canonical_url | https://www.servicenow.com/docs/r/field-service-management/field-service-scheduling/create-an-optimization-batch.html |
| release | brazil |
| product | Field Service Scheduling |
| classification | field-service-scheduling |
| topic_type | task |
| last_updated | 2026-09-10 |
| reading_time_minutes | 3 |
| breadcrumb | Batches and scopesSchedule OptimizationSetting up a Field Service scheduling methodConfigureField Service Management |