Loading
Feature degradation | Gmail Email delivery failureRead More
Agentforce Field Service and Operations
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Field Service Limits and Limitations

          Field Service Limits and Limitations

          Learn about the limits and limitations of Agentforce Field Service and Operations (formerly Field Service).

          Required Editions

          Note
          Note Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
          Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience
          The Agentforce Field Service and Operations core features, managed package, and mobile app are available in Enterprise, Unlimited, and Developer Editions.

          General Limits

          Limit Details
          Maximum number of service resources per user 1
          Maximum number of service territories in a service territory hierarchy 10,000
          Maximum number of work orders in a work order hierarchy 10,000
          Maximum number of work order line items in a work order line item hierarchy 10,000
          Maximum number of maintenance work rules per maintenance plan 25,000
          Maximum number of work orders that can be generated simultaneously per maintenance plan

          2,600

          Field service can create a combined total of up to 2,600 work order records each time it generates details for a maintenance plan.

          There’s no hard limit on the number of maintenance assets that you can attach to a maintenance plan. But the limit on the number of work orders records that can be created means that the practical limit is 2,600 maintenance assets per maintenance plan. When maintenance assets have multiple maintenance rules—either applied directly or inherited from the maintenance plan—the practical number of maintenance assets is lower.

          Each maintenance work rule can generate work order and work order line item records.

          For example:

          • If every maintenance asset for a maintenance plan contains two maintenance work rules, the practical limit on maintenance assets is less than 1,300.
          • If a maintenance plan has four maintenance work rules, the practical limit on maintenance assets is less than 650.

          Also, a maintenance plan with a maintenance work rule using COUNT is limited to 2,000 maintenance assets.

          Salesforce recommends that you add no more than 5 maintenance work rules to each maintenance plan or asset.

          To decrease the number of work orders generated, increase the Frequency value, decrease the Generation Timeframe value, or decrease the number of assets related to the maintenance plan.

          Maximum number of days that can be specified in the Generation Horizon on a maintenance plan 365
          Maximum number of years that can be specified in the Generation Timeframe on a maintenance plan

          20

          On the Maintenance Plan, see the Generation Timeframe field and Generation Timeframe Type field (days/week/month/year). The Generation Timeframe can’t be more than 20 years.

          Maximum number of locations in a location hierarchy 10,000
          Maximum number of signature blocks on a service report template 20
          Maximum number of values in the Signature Type picklist on digital signatures 1,000
          Maximum number of child assets per asset 2,000
          Maximum number of levels in an asset hierarchy 50
          Maximum number of assets in an asset hierarchy 10,000
          Maximum size of asset hierarchies that can be viewed in the tree grid view 500
          Maximum number of appointments that can be scheduled at once with the Group Nearby Appointments action 50
          Maximum runtime in seconds for the Group Nearby Appointments action 60
          Maximum number of coordinates in a map polygon 3,200
          (Recommended) Maximum number of polygons in an org

          30,000

          Exceeding this limit can cause Classic Dispatch Console performance issues. To avoid such issues, set the sharing of the Map Polygon object to Private, and use sharing so that dispatchers only see polygons that are relevant to them.

          Maximum number of report markers on the Gantt map 500
          Maximum number of rows on the Gantt 500
          Maximum number of service appointments in the appointment list 3,000
          Maximum number of service appointment sharing records that can be processed when updating service appointment statuses in bulk 50,000
          Maximum number of service territory memberships per service resource for a given horizon

          100

          We recommend you don’t use service territory memberships for ZIP code coverage. Instead, use the Extended Match work rule.

          Maximum number of skills displayed in the Gantt Skills filter panel 2,000
          When Enhanced Scheduling and Optimization is enabled, the maximum number of skills that can be assigned to a resource. 250
          When Enhanced Scheduling and Optimization is enabled, the maximum number of values on a resource that can be validated by an extended match rule type. For example, if you define a Match tools extended match rule, it can’t validate more than 250 tools per resource. Any value above 250 is ignored. 250
          Maximum number of operating hours records displayed in the Default Operating Hours lookup field on the Global Actions | Appointment Booking settings page 2,000
          Maximum number of service appointments displayed in the Long-Term view in the Gantt 1,000
          Maximum number of resource absences displayed in the Long-Term view in the Gantt 200
          Maximum number of active scheduling recipes per category 75
          Maximum number of active scheduling recipes per org 1,000
          Maximum number of service territories that can be viewed without searching

          2,000

          If you have access to 2,000 or more service territories, the service territories list shows only selected territories. Use the search bar to find territories that aren't selected.

          Minimum screen resolution for a smooth Classic Dispatch Console experience

          1366 x 768 pixels (minimum)

          1920 x 1080 pixels (recommended)

          Schedule Optimization Request Limits

          Limit Details
          Maximum optimization requests per hour per org 3,600
          Maximum skills per service resource When you're using Enhanced Scheduling and Optimization, the limit is 250. When you're not using Enhanced Scheduling and Optimization, the limit is 100.
          Maximum number of service appointments per resource per day

          200

          A bundled appointment is counted as one service appointment. The bundled members don't count toward this limit.

          Maximum service appointments optimized per rolling 24 hours

          50,000

          When you're using Enhanced Scheduling and Optimization, the limit is the greater of 50,000 or 500 per Field Service Scheduling license. If you're using the enhanced engine, you can check whether you’re operating within the limit. To do this, monitor the actual consumption in Optimization Requests, Last 24 Hours under Company Information in Setup. All types of scheduling actions count toward this limit, for example, Gantt scheduling, get candidates, appointment booking, and global, in-day, and resource scheduing optimization request types. Nonoptimization scheduling actions, for example, the Schedule action, contribute only one toward this count (the appointment that's being scheduled). When you’re not using Enhanced Scheduling and Optimization, only global, in-day, and resource schedule optimization requests count toward this limit.

          Service appointments sent to optimization for evaluation are counted against this limit, even if they aren’t scheduled or rescheduled by optimization. This count includes appointments that are pinned or in the Pinned status and appointments that don’t meet the filter criteria. See Optimization Horizon.

          A bundle is a group of service appointments that are counted as one service appointment.

          Maximum service appointments optimized per request

          5,000

          When you’re using Enhanced Scheduling and Optimization and dynamic scaling is enabled, the limit is 50,000.

          See Optimization Horizon.

          Maximum service territories optimized in a request

          100

          When you’re using Enhanced Scheduling and Optimization and dynamic scaling is enabled, the limit is 1,000.

          This limit is the total number of service territories selected in the optimization request. This number isn’t affected by the service territory membership of the service resources in the request.

          Maximum service resources optimized per request

          500

          When you’re using Enhanced Scheduling and Optimization and dynamic scaling is enabled, the limit is 1,000.

          This limit is the total count of service resources per request, regardless of the number of contributing service territory memberships.

          Maximum days optimized per request

          When you’re using Enhanced Scheduling and Optimization, the limit is 30. When you’re not using Enhanced Scheduling and Optimization the limit is 21.

          See Manage Scheduled Jobs in Field Service.

          Maximum number of objects passed to the optimization service in 1 request (for example, service appointments + related objects such as skill requirements and assigned resources)

          45,000

          This limitation doesn't apply when you're using Enhanced Scheduling and Optimization.

          Maximum number of objects returned synchronously for In-day optimization (more objects are returned asynchronously)

          1,000

          This limitation doesn't apply when you're using Enhanced Scheduling and Optimization.

          Note
          Note For usage restrictions that apply to this product, see this document.

          Limitations

          Classic Dispatch Console
          • The Gantt shows information from the past four years to the current date and shows four years from the current date into the future.
          • Territory utilization calculation doesn’t consider secondary territory members.
          • With the Gantt chart Timezone field set to Territory Timezone in Field Service Settings (under Dispatcher Console UI, Gantt Configurations), if both primary and secondary service territories are selected, the service resource is shown in the secondary service territory only if it has the same time zone as the primary service territory. If the secondary service territory has a different time zone, the service resource is shown only in the primary service territory. If only a secondary service territory is selected, the service resource is shown under that territory regardless of the time zone.
          • The Classic Dispatch Console map can look different than the map shown on service territory member detail pages because of a difference in geocoding granularity. The Classic Dispatch Console map tends to be more accurate.
          • If a service resource has more than 23 stops in a period of 24 hours (including starting point, ending point, appointments, and absences), the resource map shows only the first 23 stops on the route and displays an error. This is a Directions API limitation.
          • The service appointment list in the Classic Dispatch Console stops loading data after 3,000 service appointment records are loaded from the server. When that limit is reached, you receive an error that the scheduling horizon is too long. If you haven’t turned on advanced filtering, filtering happens on the client side. In this case, all service appointments in the selected time domain and service territories before the filter conditions are applied are loaded from the server. If you’ve turned on advanced filtering, the filter conditions are applied on the server side before loading data to the client.
          • The limit is based on the number of service appointments loaded to the list, but the service appointment list can still show more than 3,000 service appointments if service appointments are scheduled on the Gantt that are outside the filter list criteria.
          Document Builder
          • Each Salesforce org is granted an allowance of 250 documents per user per month for the following licenses:
            • Field Service Dispatcher
            • Field Service Dispatcher Plus Login-Based
            • Field Service Mobile
            • Field Service Mobile Login-Based
            • Field Service Mobile Plus Login-Based
            If you exceed the 250 per user per month limit, you have an extra 10,000 documents per month to cover your service document needs during high-volume months.
          • A document template can have only one signature of each type, such as Customer, Partner, Technician, or Manager. If you expect to require two people with the same role, say Customer, to sign the same document, you can assign numbered types, such as Customer1 and Customer2, to your template.
          • A related record table can have up to 1,000 records.
          • The size limit for a Service Document is 100 MB.
          • On the desktop site, you can create document templates for all objects, Work Order, Work Order Line Item, and Service Appointment, and generate PDFs from these entities on your desktop. The Field Service mobile app lets you create service documents from the Service Appointment and Work Order objects on iOS and only from Service Appointment on Android.
          • PDFs can be up to 50 pages.
          • A service document template can contain only one signature per type. To collect multiple signatures on a service document, add more signature types. In Setup, edit the Signature Type picklist field on the Digital Signature object. Create at least one value for each role that can sign a service document, for example, Technician, Customer, Supervisor, and Supplier. If you expect multiple people in one role, for example, all mobile workers who are at the appointment, to sign a service report, create numbered types: Technician 1, Technician 2, and so forth.
          • You can’t generate documents over 100 MB.
          • On related list field tables, lookup fields show field IDs instead of field values.
          • You can’t use URLs to render images.
          • Account names don’t appear in service documents when the Account field isn’t added to the template.
          • If you have multiple image galleries on a template, the same set of images repeat across all image galleries.
          • You must add the service document template field must be added to work order and service appointment page layouts.
          • When you create a service document from a work order record detail page on the Field Service mobile app, you see a service appointment template instead of a work order template.
          • With rich text, only black appears on documents.
          • The parent record field value is empty in service documents.
          • When you’re designing a template, refreshing the browser can result in missing fields. If you must refresh, use the Refresh button on the design template page instead of refreshing the browser.
          • Long text area fields aren’t supported for related list components in Document Builder.
          • Languages that read right-to-left are translated, but the document format isn’t supported.
          • In rich text fields, only custom labels are translated.
          • In rich text fields, email addresses include a mailto: tag during design time. The mailto tag doesn’t show up in preview or in the final PDF.
          • Long text and picklists aren’t supported for embedded expressions in rich text.
          • Community users are supported only for sites with URLs ending in .site.com.
          • Experience Cloud users cannot trigger service document generation using Apex Class.
          • Service documents support these languages:
            • Chinese (Simplified)
            • Chinese (Traditional)
            • Danish
            • Dutch
            • Finnish
            • French
            • German
            • Italian
            • Japanese
            • Korean
            • Norwegian
            • Portuguese (Brazil)
            • Russian
            • Spanish (Mexico)
            • Swedish
            • Thai
          Inventory Management
          • Workers using the Field Service mobile app can consume—via the Products Consumed related list—only one serialized product item per product per work order. This limitation doesn’t apply to nonmobile platforms.
          • The Location field on serialized product items can’t be updated manually. The location auto-updates if a related product transfer is marked received. To enable serialized product transfers (a beta feature), contact Salesforce.
          Linked Articles
          Linked articles are knowledge articles attached to a work order, work order line item, or work type. They have the following limitations.
          • Quick actions and global actions aren’t supported for linked articles.
          • The Article widget and Feed Articles Tool aren’t available in the feed view.
          • In Lightning Experience, clicking an article link in a feed item redirects you to the article page in Salesforce Classic. In the Salesforce mobile app, linked articles can’t be accessed from feed items.
          • The Linked Work Types related list isn’t available on articles in any platform.
          • The Knowledge One widget isn’t available on work types in the console. To manage linked articles on work types in the console, use the Articles related list.
          • Linked articles are read-only in the Salesforce mobile app.
          Multiday Scheduling
          With multiday scheduling, you can schedule service appointments that span multiple days. It includes the following limitations.
          • Enhanced Scheduling and Optimization doesn't properly handle multiday work that starts or ends during nonworking hours at a time when travel at the resource's expense is allowed. Such cases can result in incorrect overlapping violations and inaccurate travel times.
          • A service resource can’t be assigned to any other appointment during a multiday service appointment.
          • When you’re not using Enhanced Scheduling and Optimization, multiday service appointments that overlap with other appointments don’t trigger the Fix Overlaps action.
          • Multiday service appointments can’t be assigned to capacity-based service resources.
          • The duration of multiday service appointments can’t span more than 56 calandar days.
          • If a multiday service appointment has a scheduling dependency, its Scheduled End date isn't calculated when the appointment is scheduled. For this reason, we recommend against creating dependencies between multiday appointments.
          • You can only schedule one multiday service appointment at a time. Scheduling multiple multiday service appointments in bulk isn't supported.
          Operating Hours
          • You can’t create a parent-child relationship between a custom object and Time Slot where Time Slot is the parent object.
          • Operating hours can't span a full 24 hours. Instead, use the operating hours 00:00–23:58.
          • If you aren’t using Enhanced Scheduling and Optimization, operating hours for secondary service territory memberships must be identical to or contained within the resource’s primary territory membership’s hours.
          Salesforce App
          Most Field Service features are available in all versions of the Salesforce mobile app. Be aware of these mobile app limitations.
          • In Salesforce for iOS:
            • You can’t create service appointments, and the Recent related list isn’t available.
            • You can’t create service resources or absences, and the Recent related list isn't available on service resources or absences.
          • On field service records created via a related list, the field that lists the parent record doesn’t populate until you save the record. This issue applies to all versions of the Salesforce mobile app. For example, when you create a service appointment from the Service Appointments related list on a work order, the Parent Record field is blank until you tap Save. After you create the record, the parent record field lists the parent work order.
          • If the Created Date or Last Modified Date fields are in the future, creating or updating records can cause an error when working offline with the offline sync permission disabled.
          • The Classic Dispatch Console—a Field Service managed package feature—isn’t available in the Salesforce mobile app.
          • The Linked Work Orders and Linked Work Order Line Items related lists on articles aren’t available.
          • Linked articles are read-only. You can search the Knowledge base and read attached articles, but you can’t attach or detach articles. To manage linked article settings and attach or detach articles, use the desktop site.
          • Linked articles can’t be accessed from feed items.
          Salesforce on iPad Safari
          • Creating service reports from work orders or service appointments isn't supported on Lightning Experience on iPad Safari.
          • The Classic Dispatch Console isn’t supported on iPad Safari. We recommend that you use Lightning Experience on a desktop to use the Classic Dispatch Console.
          Scheduling and Optimization
          • A scheduling policy can contain up to five Match Boolean work rules.
          • The Gantt and Appointment Booking features can retrieve up to 2,000 scheduling policies.
          • Match Fields work rules are supported for global, in-day, and resource optimization only when you're using Enhanced Scheduling and Optimization.
          • Match Time work rules are supported for schedule optimization only when you’re using Enhanced Scheduling and Optimization.
          • The Emergency Chatter action doesn't support multiday service appointments, bundled service appointments, or service appointments with a scheduling dependency.
          • Schedule optimization is supported only for service appointments whose parent record is a work order or work order line item.
          • When you’re not using Enhanced Scheduling and Optimization, scheduling and optimization is supported only for service territories with at least one primary service territory member.
          • When you're not using Enhanced Scheduling and Optimization, some resource schedule optimization and in-day optimization requests that fail the authentication process remain in the Open status instead of the Failed status due to a platform limitation.
          • When you're using Enhanced Scheduling and Optimization, we recommend that optimization requests that include a service resource's secondary territory memberships also include the corresponding primary territory membership. However, optimization requests can still optimize a secondary territory member without the related primary. For example, if you have an optimization request configured with the service territory Los Angeles, and a service resource has a primary service territory membership of San Diego and a secondary service territory membership of Los Angeles, the service resource’s schedule for Los Angeles can be optimized. When you’re not using Enhanced Scheduling and Optimization, optimization requests that include a service resource's secondary territory memberships must also include the corresponding primary territory membership.
          • Only active territories included in the scheduled optimization job are optimized.
          • If a service appointment or resource absence doesn’t include an address, the scheduling optimizer assumes that the appointment is at the assigned resource’s home base. This assumption could cause the optimizer to delete the Travel From value from the previous service appointment or resource absence with an address. To avoid deletion, add the resource’s home base address (the Service Territory Member address or, if there isn't a specified address, then the Service Territory address) to the service appointment or resource absence.
          • Global and In-day optimization validate that for already scheduled service appointments, the Scheduled End -Scheduled Start time = Duration, while taking resource efficiency into consideration. Service appointments that violate this requirement are unscheduled.
          • If a multiday service appointment has a scheduling dependency, its Scheduled End date isn't calculated when the appointment is scheduled. For this reason, we recommend against creating dependencies between multiday appointments.
          • If you drag a multiday service appointment, or manually change its Scheduled Start, the Scheduled End doesn’t go beyond the due date regardless of the appointment Duration.
          • Resource schedule optimization has the following limitations and considerations.
            • Under Keep these appointments scheduled, you can select a category of appointments that must remain scheduled. The optimization can move and then reschedule appointments in this category. If the optimization must keep more than 50 appointments scheduled, it fails.
            • Complex work information that’s not fully available in the optimization data is considered excluded from resource schedule optimization. For example, a partial chain of a scheduling dependency is excluded.
            • Resource schedule optimizations can’t run in parallel for the same service resource on the same time interval.
            • The Gantt doesn’t show percentage-based progress for resource schedule optimization requests.
            • Shifts assigned to secondary territories aren't considered during resource schedule optimization. Instead, use only shifts without territories or use time slots. This limitation doesn't apply to enhanced scheduling and optimization.
          • When you’re not using Enhanced Scheduling and Optimization, if the Fix Overlaps feature is in use, the Reshuffle other assignments option is only partially supported wuth the When unable to find a valid schedule for an appointment setting. If more than one service appointment is dropped from the schedule during a Fix Overlaps operation, only one of the appointments is reshuffled.
          • You can use platform encryption with standard Salesforce objects and fields. With the managed package, if you encrypt custom objects and fields, scheduling and optimization can sometimes yield unexpected results.
          • When you’re not using Enhanced Scheduling and Optimization, the optimization engine can create schedule overlaps when travel time updates from street-level routing (SLR) or aerial routing to predictive travel. If a service appointment is scheduled with SLR while predictive travel is enabled (due to delayed predictive results), and the travel time from the previous service appointment is longer with predictive travel, the engine updates the travel time to predictive travel and attempts to fix the overlap. If the service appointment stays in the same place (same day and same service resource or same previous appointment), the engine updates the travel time but keeps the original scheduling gap from the previous appointment.
          • Service appointments are updated in phases at the end of the optimization process. First, the Scheduled Start and Scheduled End times on the Service Appointment object are updated. Then, the assigned service resource on the related Service Resource object is updated. The appointment must have an assigned service resource for the service appointment status to update to Scheduled. If optimization successfully updates the Scheduled Start and Scheduled End times, but fails to add the assigned resource to the appointment, the appointment's status remains in its current state and isn’t updated.
          Service Appointments
          • The Owner and Parent Record fields on service appointments aren't available in custom report types. They also can’t be referenced in formulas, validation rules, workflow rules, flows, or processes. To limit the available owners or types of service appointment parent records, use an Apex trigger.
          • Service appointment fields whose values are inherited from the parent record can’t be referenced in formulas, validation rules, workflow rules, flows, or processes. The standard inherited fields are Work Type, Account, Parent Record Type, and Parent Record Status Category.
          • Service appointments with populated Scheduled Start or Scheduled End fields, but without an Assigned Resource, can be corrupted and lead to unexpected behavior in all Field Service actions.
          • Using seconds or milliseconds in the service appointment Scheduled Start and Scheduled End fields isn't supported. For example, if Scheduled Start is set to 8:00:00 AM and Scheduled End is set to 8:00:45 AM, the optimization engine can unschedule the service appointment because the start and end time is considered the same (8:00 AM). Using seconds or milliseconds in the following service appointment fields also isn't supported:
            • Due Date
            • Earliest Start Permitted
            • Arrival Window Start
            • Arrival Window End
            • Any DateTime field used in work rules of type Field Service - Match Time Rule in your scheduling policy, including custom fields.
            Using seconds or milliseconds in the Start and End DateTime field of the following objects isn't supported:
            • Resource Absence
            • Time Slot
            • Shift
            • Service Resource Skill
            • Service Territory Member
            • Custom objects used in Enhanced Match Rules
          Service Reports
          • Service reports can’t be created on service appointments whose parent records are assets, accounts, leads, or opportunities.
          • The Create Service Report action isn’t available in the Salesforce mobile app.
          • Section titles and rich text fields in service reports can’t be translated.
          • Digital signature field labels can’t be customized.
          • Related list filtering on service reports has the following limitations:
            • The Status field on contract line items isn’t available for filtering.
            • The Filters tab isn’t available in Internet Explorer 8.
          • Service Report Template lookup isn’t supported in Visualforce pages. To include Service Report Lookup in a Visualforce page for the edit of a Work Order, create a Custom lookup.
          Service Resources
          • If you deactivate a service resource, make sure to update records that were associated with that resource. For example, if a deactivated service resource was a required resource for an account, update that account to prevent scheduling issues.
          • Future service appointments scheduled to inactive resources aren’t considered in scheduling and optimization. You must manually unschedule these appointments.
          Sharing
          In Setup, Sharing Settings let you specify default internal and external access to Field Service records. For example, you can share dispatched service appointments to external Experience Builder site users, such as a team of contractors. But if the Default Internal Access is Private or Public Read Only, set the Default External Access to Private or Public Read Only also. If the internal setting is Public Read Write, external resources can see dispatched appointments only when the external setting is Public Read Write and you enable dispatch sharing to resources.
          Street-Level Routing (SLR)
          • If a service appointment requires a travel distance of more than 100 kilometers, aerial routing is used.
          • Predictive travel isn’t supported with multiday work scheduling. In multiday work scheduling, the exact departure time for each day is unknown, so SLR is used, corresponding to the fastest travel time (the best SLR travel time that you would get on a night slot with minimum traffic). Complex work uses point-to-point predictive routing in optimization, and the most optimistic SLR travel time for platform scheduling. This limitation isn’t relevant when you’re using Enhanced Scheduling and Optimization, because the enhanced engine doesn’t use SLR.
          • Any scheduling action that is triggered in a transaction with data manipulation language (DML) uses aerial routing. When SLR is enabled and scheduling requires SLR travel results that aren’t primed locally, you must use a callout to retrieve the results. If DML occurs in the same transaction as the callout, it causes an exception, for example, an Uncommitted Work Pending error. When the schedule falls back to aerial routing due to a failure in the callout, overlaps can appear on the Gantt after the travel time and break update runs and updates the travel to SLR or predictive travel. To avoid an exception, allow the system to use aerial routing or ensure that DML is completed in a separate transaction. If you want transactions of this type to cause an exception rather than a switch to aerial routing, from the App Launcher, find and open the Field Service Admin app, and then click Field Service Settings | Scheduling. Select Avoid aerial calculation upon callout DML exception.
          Note
          Note Field Service is now Agentforce Field Service and Operations. In some cases, we still use Field Service to refer to this product area in Salesforce applications and documentation.
           
          Loading
          Salesforce Help | Article