---
schema_version: "1"
id: f6a8f925f1823068d88c5a53cd72aae265ad921db5c8abd39bda9d03908a8c6e
title: Frontline Workforce Management Limits and Considerations
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/fwm_limits.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.fwm_limits.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 8c45908e88814034aef7bca281e5e8afd0556958c4bc85970548a93c949b455c
description: Before setting up Frontline Workforce Management, review these limits and considerations.
products:
  - Public Sector
  - Service Cloud
release: "264"
---
# Frontline Workforce Management Limits and Considerations

Before setting up Frontline Workforce Management, review these limits and considerations.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.fwm_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the Salesforce user interfaces, editions, and add-ons that support Frontline Workforce Management.">View supported editions</a>.</td></tr></tbody></table>

## General Limits

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e64">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e67">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e64 ">Maximum number of service resources per user</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e67 ">1 per service resource type </td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e64 ">Maximum number of service resource preferences</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e67 ">1 per service resource</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e64 ">
              <p>Maximum number of records for these objects:</p>
              <p style="margin-bottom:0;">Shifts, shift templates, shift
                scheduling operations, service resources, service territories, job profiles, operating
                hours, resource absences, time sheets, or scheduling constraints</p>
            </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e67 ">Platform behavior; 2000 records can be viewed without searching</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e64 ">Maximum number of time slots, service territory members, or time sheet entries</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e67 ">Platform behavior</td>

          </tr>
        </tbody>
      </table>

## Workloads and Forecasting Limits

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e133">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e136">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum number of queues or skill groups in a workload history </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">39</td>

          </tr>

          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">
              <p>Maximum number of weeks of historical data you can select when creating a
                workload</p>
              <p style="margin-bottom:0;">After a workload is created, it can continue to be refreshed with data
                for subsequent weeks. As a result, there's no overall limit on the number of years
                of data that can be maintained. We recommend archiving older data manually based
                on your retention requirements. </p>
            </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">260 (5 years)</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Minimum number of weeks in a workload history when creating a forecast </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">3 weeks </td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum number of weeks in a forecast</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">12 weeks for Holt-Winters</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum amount of historical data when Holt-Winters is selected as the
              forecasting model</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">3 years</td>

          </tr>

          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum size of a workload history or forecast export</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">40,000 records</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum number of forecast adjustments with an hourly interval</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">50 records per adjustment, but you can make multiple updates</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum number of forecast adjustments with a daily interval</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">30 records per adjustment, but you can make multiple updates</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e133 ">Maximum number of forecast adjustments with a monthly interval</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e136 ">4 records per adjustment, but you can make multiple updates</td>

          </tr>
        </tbody>
      </table>

## Capacity Plan Limits

 
| Limit | Details |
| --- | --- |
| Maximum number of weeks in a short-term capacity plan | 12 |
| Maximum number of job profiles per plan | 10 |
| Maximum slices per job profile. | 20 slices |
| Capacity plan processing | 1 plan per org at a time |

## Scheduling Limits

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e315">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d723e318">Details</th>
          </tr>
        </thead>
        <tbody>

          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">Maximum number of shifts that can be batch assigned (using Assign)</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">200 shifts at once</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">Maximum number of shifts on which Mass Shift Update can assign and update
              status</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">The number of shifts within a 90-day timespan. We recommend that you select less than
              50,000 shifts. It can take a few hours to assign and update the status on 50,000
              shifts.</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">Maximum number of scheduling rules</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">50 </td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">Maximum number of scheduling constraints</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">50 </td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">
              <p>Maximum number of records per page in these Shift Manager views</p><a name="fwm_limits__ul_ycl_khg_tcc"><!-- --></a>
              <ul id="fwm_limits__ul_ycl_khg_tcc">
                <li>View Shifts</li>
                <li>View Service Territories</li>
                <li>View Job Profiles</li>
                <li>View Operating Hours</li>
              </ul>
            </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">Up to 2000 records per page</td>

          </tr>
          <tr class="">
            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e315 ">Maximum number of Resource Absence records per page in the Shift Manager </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d723e318 ">Up to 300 records per page</td>

          </tr>
        </tbody>
      </table>

## General Considerations

Frontline Workforce Management supports only time zones based on full hours, such as GMT+9:00 but not GMT+9:30. When you create a workload history, you select a service territory, which sets the time zone used in related data views. The setup flow shows only service territories with full-hour time zones.

## Considerations for Workload Histories and Forecasting

- You can create multiple forecasts from the same workload. However, you can't create or update forecasts for a workload while another forecast creation or workload update is in progress. During these operations, the workload is locked until processing is complete.
- Use Average Handle Times (AHT) less than 60 minutes in a workload or a forecast.

## Considerations for Capacity Planning

- When the number of job profiles increases, the prediction for Staff Required in a short-term plan increases. This increase happens because we split the workload across job profiles equally, calculate the required staff for each job profile separately, and then round up to the nearest whole number. If the workload is small, when you add job profiles, you can see a sudden jump in the number of staff required.
- If you change a shift template’s start time, end time, or job profile, you can’t create shifts from the plan.
- You can create a capacity plan only for one service territory at a time.

## Workload Forecasting Limitations

Workload forecasting is not supported in regions with non-standard UTC time zone offsets (half-hour or quarter-hour offsets).

**Unsupported Offsets & Regions Include:**

- **30-Minute Offsets:** UTC+03:30 (Iran), UTC+04:30 (Afghanistan), UTC+05:30 (India, Sri Lanka), UTC+06:30 (Myanmar, Cocos Islands), UTC+09:30 (Australian Central Standard Time), UTC+10:30 (Lord Howe Island), UTC-03:30 (Newfoundland), UTC-09:30 (Marquesas Islands).
- **45-Minute Offsets:** UTC+05:45 (Nepal), UTC+08:45 (Eucla), UTC+12:45 (Chatham Islands).

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-frontline_workforce_management-264-0-0-production-enus/6ed6d790-c8dc-44c2-adf2-f19af27ef204/images/icon_note.png)

Note Frontline Workforce Management provides tools for schedule creation and time tracking. It does not enforce or guarantee compliance with federal, state, provincial, or local labor laws, including requirements regarding overtime, meal and rest breaks, shift intervals, or recordkeeping. Customers are solely responsible for ensuring their schedules and time records comply with applicable statutory requirements.

## Scheduling Service & Optimization Limitations

- Overnight Shifts: Templates crossing midnight (for example, 22:00–06:00) aren't supported and may fail to schedule. Split overnight shifts into two single-day templates or keep shift times within a single calendar day.
- Template Matching: A template matches a shift only if its entire time window fits within the shift's window.
- Engine Limits: The optimization engine supports up to 72,000 activities and 12,000 shifts per run.

#### See Also

- [Supported Editions for Frontline Workforce Management](https://help.salesforce.com/s/articleView?id=service.fwm_editions.htm&release=264.0.0&type=5 "Learn about the Salesforce user interfaces, editions, and add-ons that support Frontline Workforce Management.")
- [Set Up Frontline Workforce Management](https://help.salesforce.com/s/articleView?id=service.fwm_configure_1.htm&release=264.0.0&type=5 "Before your teams can use Frontline Workforce Management, turn it on, assign permission sets, and create a custom Lightning Console app for your team to use.")
- [Workload Histories and Intelligent Forecasts](https://help.salesforce.com/s/articleView?id=service.fwm_history_and_forecasts_about.htm&release=264.0.0&type=5 "A workload history aggregates all or some of your historical workload volume data. Use a workload history as the foundation for building an intelligent forecast, which predicts future work volume based on your historical trends.")
- [Capacity Plans](https://help.salesforce.com/s/articleView?id=service.fwm_capacity_plan_about.htm&release=264.0.0&type=5 "Use capacity plans to determine the coverage required to meet demand by job profile and time period. Capacity plans estimate the staff required by job profile, show the number of assigned and available staff, and create shifts to meet capacity requirements..")
- [Manage Shifts](https://help.salesforce.com/s/articleView?id=service.fwm_manage_shifts.htm&release=264.0.0&type=5 "Create and manage shifts that drive resource availability for on-site and field work.")