Field Service Scheduling & Optimization

If dispatchers override the optimizer, the policy is wrong.

Salesforce Field Service decides who gets which job using work rules and service objectives you configure. When the schedule looks wrong to the people who run the board, the engine is working correctly against the wrong instructions. Twopir tunes those instructions until the optimizer produces assignments dispatchers accept. Configuration, not reimplementation.

Scheduling Engine
SCHEDULING INPUTS Service Appointment Window · Duration · Priority Resource Pool Skills · Territories · Shifts Operating Hours Travel & Traffic SLA & Entitlement SCHEDULING POLICY 1 · Work Rules Hard filters Reject candidates 2 · Objectives Weighted scores Rank survivors 3 · Optimization Global · In-day Resource schedule RULES FILTER FIRST · OBJECTIVES SCORE SECOND 2πr SCHEDULE QUALITY SLA Attainment Commitments met without heroics Travel Time Less driving per completed job Utilization Wrench time up, idle gaps down FILTER · SCORE · OPTIMIZE · MEASURE
Symptoms

What a mistuned policy looks like on the board

These are configuration symptoms, not platform defects. Each one points at a specific rule or objective that is missing, too strict, or weighted for the wrong outcome. All six are fixable without touching code.

Dispatchers drag every appointment after the run

The clearest signal of all. The engine is optimising for something other than what the board actually values — usually travel when the business is really managing SLA risk.

Appointments come back unscheduled with no reason anyone trusts

A work rule is rejecting every candidate. Over-strict skill matching, a territory with no members for that window, or a required resource preference that nobody satisfies.

Travel looks fine on paper and terrible in the van

Straight-line distance instead of street-level routing, or operating hours that ignore where a technician actually starts and ends the day, produce schedules that only work in theory.

Your best technicians are over-booked and the rest sit idle

Preferred-resource weighting or a narrow skills matrix funnels work to a handful of people. Utilization averages look acceptable while individuals burn out and capacity goes unused.

Emergencies destroy the day's plan

Without in-day optimization and a priority model, a single urgent job is absorbed by manually moving six others — and the cost of that disruption is never measured.

Multi-day and crew jobs are scheduled by hand

Installations needing two people for three days, or a crew with a required lead, fall outside a policy designed for single-visit break-fix — so they get booked outside the system entirely.

How The Engine Decides

Work rules filter. Service objectives score.

This is the distinction almost every mistuned policy gets wrong. Work rules are hard filters that reject any resource violating them, and they run first. Service objectives are weighted scores applied only to the candidates that survived. A rule removes options; an objective ranks them.

Comparison of work rules and service objectives in a Salesforce Field Service scheduling policy
 Work RulesService Objectives
What it doesRejects any service resource that violates the rule. Produces the candidate list.Scores the surviving candidates and ranks them. Produces the chosen assignment.
When it runsFirst. Always before objectives.Second, and only against resources the rules already allowed.
Effect of getting it wrongAppointments come back unscheduled, or the only eligible technician is three hours away.Appointments schedule fine but to the wrong person, so dispatchers override them.
Typical examplesRequired skill and skill level, matching service territory, working within operating hours, resource availability and absences, required resource preference.Prioritise the earliest possible slot, minimise travel, favour a preferred resource for that account, balance technician workload.
How it is tunedBy relaxing or tightening the constraint — usually by making a hard skill requirement a preference instead.By changing the relative weighting, so the objective the business actually cares about outranks the others.
Diagnostic question"Why was nobody eligible for this job?""Why was this person chosen over that one?"

The practical consequence: if objectives are weighted for minimum travel while your dispatchers are really managing SLA risk, the engine will keep producing technically valid schedules that a human overrules — every single day.

Optimization Runs

Three ways to optimize, for three different moments

Running the wrong mode at the wrong time is a common cause of schedule churn — technicians see their day rearranged after they have already driven to the first job.

Global Optimization

A scheduled batch run across a territory and date range, usually overnight. It reshuffles everything it is allowed to touch to find the best overall plan.

  • Best for the next day or week's plan
  • Run outside working hours to avoid churn
  • Scope it per territory, not org-wide
  • Pin appointments that must not move
  • The main lever on travel and utilization

In-Day Optimization

Re-optimizes the remainder of the current day when reality diverges from the plan — an overrun, a no-access, an emergency call.

  • Absorbs emergencies without manual reshuffling
  • Only moves work that has not started
  • Needs clear rules on what may be disturbed
  • Where most of the SLA recovery happens
  • Requires accurate in-progress status from mobile

Resource Schedule Optimization

Optimizes one technician's day rather than the whole territory. Useful for targeted fixes and for handling a single resource's disruption.

  • Narrow blast radius, fast to run
  • Good for a returning or delayed technician
  • Useful when testing policy changes safely
  • Does not rebalance across the team
  • Often the safest first step in a tuning cycle
Our Tuning Engagement

From overridden schedules to a policy people trust

Scheduling tuning is empirical. We change one thing, re-run against real appointments, and measure — rather than redesigning the policy in a workshop and hoping.

Step 01

Override Analysis

We measure which assignments dispatchers change and what they change them to. The override pattern is the most honest statement of what your business actually optimises for.

Step 02

Policy & Rule Audit

Every work rule and service objective reviewed against that pattern — what is over-strict, what is missing, what is weighted against the outcome you say matters.

Step 03

Foundation Check

Skills, skill levels, territory membership, operating hours and travel configuration. Most "optimizer problems" are actually stale foundation data underneath the policy.

Step 04

Reweight & Simulate

Changes applied to a policy variant and run against real historical appointments, so the effect is visible before any live schedule depends on it.

Step 05

Roll Out & Re-measure

One territory at a time, with override rate tracked as the primary success metric. If dispatchers stop overriding, the policy is right.

Scheduling Outcomes

What tuned scheduling changes on the ground

The figures below come from one documented engagement with an HVAC services company running more than 100 field technicians across multiple regions. They describe that client's results — not an industry benchmark and not a Twopir average.

Case Study

HVAC Services Company — Multi-Region

Automated scheduling and optimized routing across a 100+ technician fleet.

30% Reduction in response times
20% More jobs completed per day
25% Higher first-time fix rate

Before the engagement there was no real-time visibility of technician schedules or locations, which made assigning jobs efficiently almost impossible. Configuring the scheduling engine to optimize assignments on skills, location and availability produced the reduction in response times above, and technicians completed 20% more jobs per day from efficient routing and faster access to job information.

Diagnostic Checklist

Where We Look First

The five checks that explain most underperforming scheduling policies.

  • Override rate by dispatcher — if one dispatcher accepts the schedule and another rewrites it, the problem is training; if everyone rewrites it, the problem is the policy.
  • Unscheduled reasons — which work rule rejected every candidate, and whether that constraint is genuinely hard or just inherited.
  • Skill matrix accuracy — whether recorded skills and levels match what technicians are really trusted to do.
  • Territory membership over time — secondary and relocation territory records that expired quietly and shrank the candidate pool.
  • Travel configuration — whether routing reflects streets and traffic or straight lines, and whether start and end locations are right.
See the Full Service Range
Related Capabilities

Where scheduling meets everything else

Dispatch & Workforce

The engine produces the schedule; dispatchers work it. Console configuration, capacity planning, shifts and crews — and the change management that decides adoption.

Automation

Auto-dispatch rules, bulk scheduling jobs and the work order automation that feeds appointments into the engine in the first place.

AI & Agentforce

Agentforce can assist with scheduling and gap-filling — but only on top of a policy that already produces sensible assignments. Tune first, then automate.

Implementation

If you are not live yet, the scheduling policy is designed during implementation — alongside the territory and skills model it depends on.

Common Questions

Questions dispatch leads actually ask

A work rule is a hard filter. It rejects any service resource that violates it, and rules are always applied before objectives — they produce the list of candidates who are allowed to take the job. A service objective is a weighted score applied only to the candidates that survived the rules, and it decides which of them is chosen. The practical difference is diagnostic: if an appointment will not schedule at all, look at your work rules; if it schedules to the wrong person, look at your objective weightings.

Fewer than most orgs end up with. A policy per genuinely different scheduling behaviour is right — typically one for routine planned work, one for emergency or SLA-driven work where speed outranks travel, and sometimes one for installations or multi-day jobs. A policy per work type, per region and per customer tier is how orgs end up with twenty policies nobody can reason about. If two policies differ only in one objective weighting, they usually should have been one.

A work rule rejected every candidate. The usual causes are an over-strict skill requirement where a skill level is set higher than anyone actually holds, a territory with no members available in the appointment window, an operating hours or absence configuration that removes the people you expected, or a required resource preference that only one person satisfies and they are already booked. The fix is almost always to relax the constraint — often by converting a hard skill requirement into a preference so it becomes an objective rather than a filter.

Global optimization belongs outside working hours, typically overnight, scoped per territory — running it mid-morning rearranges days that technicians have already started, which destroys trust faster than a bad schedule does. In-day optimization is what handles disruption during the working day, and it should be constrained so it only moves work that has not been started. Resource schedule optimization is the narrowest and is useful both for a single disrupted technician and as a safe way to test a policy change before applying it broadly.

Yes. Service crews let you schedule a group of resources as a unit with defined roles, and multi-day work can be modelled so a single job spans several appointments across days. Both need deliberate design rather than default configuration — crew membership has to be maintained as people move, and multi-day work needs rules about whether the same crew must return. Orgs that skip this design usually end up scheduling installations manually outside the system, which then distorts every utilization and capacity report they produce.

Substantially less than an implementation, because the platform is already live and the work is configuration rather than build. The audit and override analysis need enough historical scheduling data to see real patterns, so the constraint is usually how much clean data exists rather than consultant time. Tuning then runs as cycles — change, simulate, roll out to one territory, measure — and it is deliberately iterative, because a policy that is reweighted once and never re-examined drifts again as territories, skills and job mix change.

Next Step

Show us a week of overridden schedules, and we will tell you why

The override pattern is the fastest diagnostic there is. Bring us a week of it and we will show you which rules are too strict, which objectives are weighted wrong, and what it takes to fix.

Speak with a team that tunes scheduling policies for a living