facebook-pixel

Microsoft Dynamics 365 Field Service · Route Optimization

Route optimization for Dynamics 365 Field Service — beyond RSO.

Dynamics 365 Field Service route optimization has a ceiling: native RSO plans against pre-calculated road data. At best it adds historical traffic patterns — never live disruptions. FieldCamp’s AI Dispatcher works on top of your D365 FS data: it re-optimizes every technician’s route as traffic, cancellations and emergencies change the day, shows the before/after with real deltas, and applies nothing until you approve.

Book a demoAvailable on Microsoft Marketplace. Part of FieldCamp’s D365 Field Service cluster.
Re-run Marcus’s route with this morning’s traffic — hold the two promised windows.
Route comparison — Marcus R., todayFieldCamp liveD365 FS bookings · synced 7:56 AMv3
RSO overnight · historical traffic · 74.9 mi · 142 minFieldCamp · re-optimized 7:58 AM · 58.5 mi · 103 min
Miller RiverLandon ParkMarina AveFoundry St5th StI-40closed at exit 12 · +25 min1Northgate depot2Marina Pl.3Riverside10:00 held4Oak Hill5Downtown6Cedar Pk.

Riverside pinned to its 10:00 promised window · Oak Hill and Downtown swapped to route around the I-40 closure · same 6 visits, new order

−16.4 mi
driving distance
−39 min
drive time
2 / 2
promised windows held
same 6 visits · reordered only · nothing added or droppedDiscardApply route
Microsoft Marketplace

No rip-and-replace — Dynamics 365 stays your system of record. FieldCamp becomes the routing brain on top of it.

RSO add-inOptimization goalsTravel time calculationSchedule boardBookings

01  Live re-optimization

RSO routes against last night’s roads. Your day happens on today’s.

Native RSO’s travel time calculation can, at most, include historical traffic patterns — its own spec says it doesn’t account for real-time disruptions like road maintenance or accidents, and with traffic on it supports up to 500 requirements per optimization scope, so Microsoft recommends running it off business hours.

FieldCamp watches the day itself. A closure, a cancellation or a job running long triggers a live re-route: the affected technician’s remaining stops are re-sequenced around the disruption, promised windows are held, and the change lands as a proposal — not a silent rewrite of the board.

Source: Microsoft Learn — RSO optimization goals (travel time calculation)

Live day — Priya N. · 7 AM → 4 PMFieldCamp liveGPS + traffic feed

Plan · overnight run

Fairview7:30
Elm St. Depot9:00
Harborview11:30
Kingsley1:30
Summit Rdg.3:00

Re-routed · 11:09 AM

Fairviewdone 8:40
Elm St. Depotdone 10:55
Kingsley11:40
Harborview1:20
Summit Rdg.3:15 held
11:08 AM — SR-99 NB closed at Harborview exit · that leg +25 min

Kingsley and Harborview swapped to route around the closure · Summit Ridge’s 3:15 promised window held

−21 min drive recovered · 0 promised windows brokenDiscardApply
Route today with travel first, but never at the cost of a promised window.
Optimization goals — today's routing runFieldCamp liveweighed together
Travel time
35%
Promised windows
30%
Overtime risk
20%
Job priority
15%
Native RSO: objectives run as a ranked list — and “Minimize Total Travel Time” can’t be first.
WO-1129 · Backflow testDKDana K.93%

Routed 4th, not 2nd — a 6-min-shorter drive lost to the 10:00 promised window at Riverside; no overtime risk either way.

every routed job gets a reason stringRun with these weights

02  Multi-objective routing

In RSO, minimizing travel time can’t even come first.

RSO ranks its optimization objectives in a fixed order — and the optimization-goals page says it outright: “Minimize Total Travel Time” can’t be the first objective in the list, because the engine would rather schedule nothing than drive anywhere.

FieldCamp weighs objectives together — travel time, promised windows, overtime risk, job priority — and shows the trade-off it made for every routed job as a plain-language reason string. You see why a shorter drive lost to a promised window, per job, not per batch run.

Source: Microsoft Learn — RSO optimization goals (objectives)

03  Fleet-wide, human-approved

The whole fleet re-routed in seconds. Applied only when you say so.

Route optimization you can’t inspect is route optimization dispatchers don’t trust. Every FieldCamp re-route comes back as a before/after proposal with the deltas on it — miles saved, drive minutes saved, windows held — for one technician or the whole team at once.

The optimizer only reorders: it never silently adds or drops visits. Apply the plan and it flows back to your operation; Discard it and the board stays exactly as it was. Dynamics 365 remains the system of record either way.

Re-optimize the whole team’s afternoon — two cancellations just came in.
Fleet re-route — 3 technicians, this afternoonFieldCamp livereturned in 4s
MRMarcus R.
Northgate→Marina Pl.→Oak Hill→Cedar Pk.
−14 min · −5.8 mi
DKDana K.
Riverside 10:00→Downtown→Westside
−9 min · −3.2 mi
JTJae T.
Harbor Rd.→Elm Yard→Airport Bl.→Southgate
−17 min · −7.1 mi
11 stops re-ordered · 0 visits added or dropped · all windows heldReview eachApply all 3

04  What route optimization includes

Everything a D365 routing day needs. Nothing you have to babysit.

Live route re-optimization

Traffic, closures, cancellations, overruns and emergency jobs all trigger a re-route of the affected technicians' remaining stops — while the day is running, not on last night's batch.

Before/after with real deltas

Every proposal shows the current route next to the optimized one with the numbers that matter — miles saved, drive minutes saved, promised windows held — before you touch anything.

Weighted multi-objective routing

Travel time, promised windows, overtime risk and job priority weighed together per job — with a plain-language reason string for each trade-off, not a rigid ranked list.

Promised-window protection

Time-from/to-promised windows are treated as commitments: the optimizer routes around them and flags any plan that would put one at risk instead of quietly breaking it.

Apply or Discard — always

Nothing moves until a dispatcher approves. The optimizer only reorders visits — it never silently adds or drops one — and a discarded plan leaves the board untouched.

Live GPS ground truth

Real-time technician positions, stops and trips feed the optimizer, so re-routes start from where the trucks actually are — not where the morning plan said they'd be.

05  Where native routing stops

Printed in the RSO manual. Felt on every route sheet.

These aren’t opinions — they’re the routing limitations written into the RSO documentation, and the reason a live routing layer on top of D365 Field Service exists as a category.

01

Live roads aren't in the model

RSO's travel time calculation can include historical traffic patterns at most — Microsoft's documentation states the option “doesn't account for real-time disruptions like road maintenance or accidents,” takes longer to process, supports up to 500 requirements in the optimization scope, and is best used for schedules that run off business hours. FieldCamp re-optimizes against the day as it actually unfolds.

Source: Microsoft Learn — RSO optimization goals (travel time calculation)

02

Minimizing travel time can't be the top goal

Microsoft's docs are explicit: “Minimize Total Travel Time” can't be the first objective in an RSO goal, because to truly minimize travel the engine might not schedule any requirement that requires travel at all. Travel is what field service is — FieldCamp weighs it together with windows, overtime and priority instead of demoting it by design.

Source: Microsoft Learn — RSO optimization goals (objectives)

03

It's a separately-priced add-in built for batch runs

RSO is a paid add-in to Dynamics 365 Field Service, priced by the number of resources whose schedules are optimized, and its canonical patterns are batch: overnight runs and intraday runs every 30 minutes — while the schedule board and schedule assistant handle one job at a time. FieldCamp sits on top of the D365 FS data you already have and responds to the day continuously.

Source: Microsoft Learn — Overview of Resource Scheduling Optimization

06  The Microsoft cluster

Routing is one door. The whole cluster runs your day.

Every scheduling, dispatch and routing question a Dynamics 365 Field Service team asks has its own page here — each one grounded in what the AI Dispatcher actually does.

Microsoft, Dynamics 365 and Dynamics 365 Field Service are trademarks of Microsoft Corporation. FieldCamp is an independent product and is not affiliated with or endorsed by Microsoft; references are for compatibility and comparison.

07  D365 route optimization FAQ

Dynamics 365 routing — questions, answered.

What is Dynamics 365 Field Service route optimization?

Dynamics 365 Field Service route optimization is the process of ordering each technician's daily bookings to minimize travel time and driving distance. Natively, the Resource Scheduling Optimization (RSO) add-in handles it using pre-calculated road data; FieldCamp's AI Dispatcher adds a live layer on top that re-optimizes routes as traffic, cancellations and emergencies change the day.

Does RSO use live traffic data?

No. Per Microsoft's documentation, RSO's travel time calculation can at most include historical traffic patterns — the option doesn't account for real-time disruptions like road maintenance or accidents, takes longer to process, and supports up to 500 requirements in the optimization scope. FieldCamp re-optimizes against the day as it actually unfolds.

Microsoft Learn — RSO optimization goals →

Can “minimize travel time” be RSO's first optimization goal?

No — Microsoft's docs state “Minimize Total Travel Time” can't be the first objective in an RSO goal, because to truly minimize travel the engine might not schedule any requirement that requires travel. FieldCamp weighs travel together with promised windows, overtime and priority instead of ranking it below other objectives by design.

Microsoft Learn — RSO optimization goals →

How does FieldCamp optimize routes on top of D365 Field Service?

FieldCamp works with your D365 Field Service data — work orders, bookings and bookable resources. The optimizer reorders each technician's visits to cut travel time and driving distance, returns the route as a before/after proposal with the deltas shown, and applies nothing until you Apply or Discard. It only reorders — it never silently adds or drops visits.

Do I have to leave Dynamics 365 Field Service to use it?

No. FieldCamp works on top of D365 Field Service — you keep Dynamics as your system of record and add the live routing layer on top, with no rip-and-replace and no migration project.

What happens when traffic or an emergency disrupts a route mid-day?

FieldCamp re-optimizes live. A closure, an urgent job or a visit running long triggers a re-route of the affected technicians' remaining stops — promised windows held, the nearest qualified technician pulled in when needed — returned in seconds as a plan you approve, not a silent rewrite of the board.

Does it protect promised time windows?

Yes. Time-from/to-promised windows are treated as commitments: the optimizer routes around them, and any plan that would put a promised window at risk is flagged for your decision instead of being applied quietly.

Is it on Microsoft Marketplace?

Yes — AI Dispatcher by FieldCamp is available on Microsoft Marketplace, so it fits the way Microsoft-based organizations already evaluate and buy software.

See the listing on Microsoft Marketplace →

What does route optimization software for D365 Field Service cost?

Book a demo and we'll walk you through it against your own routes — your work orders, your technicians, your territory.

How do I get started?

Book a demo — we'll run the AI Dispatcher against a Dynamics 365 Field Service routing day like yours and show the before/after on your own kind of routes.

Bring yesterday’s route sheet — watch it come back shorter.

Book a demo. Bring a real routing day — the stops, the promised windows, the traffic that blew up the plan — and we’ll run it through the AI Dispatcher live, on top of your Dynamics data.

No demo deck. Your Dynamics routes, our dispatcher.