| name | fsl-scheduling-policies |
| description | Use this skill to create, configure, or tune Field Service Lightning scheduling policies — including work rules (pass/fail filters) and service objectives (weighted ranking criteria). Covers the four default policies, custom policy design, work rule type selection, and objective weighting strategy. NOT for configuring service territories, resource availability calendars, or the Salesforce Scheduler (Appointment Scheduling) product. |
| category | admin |
| salesforce-version | Spring '25+ |
| well-architected-pillars | ["Operational Excellence","Reliability","Performance"] |
| triggers | ["field service scheduling ignores technician availability or working hours","create a custom scheduling policy for high-priority emergency work orders","how to configure work rules and service objectives in Field Service Lightning","technicians are being assigned to appointments outside their skills or certifications","optimize field service scheduling to minimize travel time between appointments","scheduling policy work rules and objectives not ranking candidates correctly","when should I use Customer First versus High Intensity scheduling policy"] |
| tags | ["field-service","fsl","scheduling-policy","work-rules","service-objectives","optimization","scheduling"] |
| inputs | ["Business scheduling priority (e.g., customer convenience, travel efficiency, emergency response)","List of required technician skills, certifications, or required-skill work types in use","Territory structure and whether territory boundaries must be strictly enforced","Workforce type: employee technicians, contractors, or crews with overtime constraints","Existing default policy in use (Customer First, High Intensity, Soft Boundaries, or Emergency)"] |
| outputs | ["Configured FSL__Scheduling_Policy__c record with named work rules and objectives","Work rule records (FSL__Work_Rule__c) attached to the policy with correct types and parameters","Service objective records (FSL__Service_Objective__c) with calibrated percentage weights","Decision table mapping business scenario to recommended policy configuration","Validation checklist confirming Service Resource Availability work rule is present"] |
| dependencies | ["fsl-service-territory-setup"] |
| version | 1.0.0 |
| author | Pranav Nagrecha |
| updated | "2026-04-28T00:00:00.000Z" |
FSL Scheduling Policies
This skill activates when a practitioner needs to create, modify, or troubleshoot a Field Service Lightning scheduling policy — the configuration object that governs how the scheduling engine filters and ranks available service resources for appointment slots. It covers work rule design, service objective weighting, and the selection between Salesforce's four built-in default policies.
Before Starting
Gather this context before working on anything in this domain:
- Confirm Field Service managed package is installed and Field Service is enabled in Setup > Field Service Settings. The FSL__Scheduling_Policy__c, FSL__Work_Rule__c, and FSL__Service_Objective__c objects must be accessible.
- Identify whether the org is using the Salesforce optimizer (bulk scheduling) or dispatcher-driven manual scheduling, or both. Policy behavior is the same in both cases, but the consequences of misconfiguration are more visible in bulk optimization runs.
- Determine the primary business priority: customer appointment windows, minimizing travel cost, emergency SLA compliance, or contractor overtime control. This drives which default policy to start from and which objectives to weight most heavily.
- Know the complete set of required skills and certifications defined in the org, because Match Skills and Match Required Skills work rules depend on this data being populated on resource records.
- Note that every custom policy MUST include a Service Resource Availability work rule. Without it, the scheduling engine completely ignores resource working hours and absences during candidate evaluation.
Core Concepts
FSL__Scheduling_Policy__c and Its Two Child Object Types
FSL__Scheduling_Policy__c is the top-level scheduling policy object. It acts as a container for two categories of child configuration records:
-
Work Rules (FSL__Work_Rule__c) — hard pass/fail filters. A candidate time slot is eliminated from consideration if it violates any active work rule. Work rules are binary: the slot either passes or it does not. There is no partial credit.
-
Service Objectives (FSL__Service_Objective__c) — weighted ranking criteria. After work rules eliminate ineligible slots, service objectives score the remaining candidates. Each objective has a percentage weight set via a slider. Weights across all objectives in a policy should sum to 100%.
A slot must pass all work rules before it is ever scored by service objectives. The two layers are sequential, not simultaneous.
Work Rule Types
FSL includes 15+ built-in work rule types. The most frequently used types are: