Dispatch
How do facility maintenance companies dispatch in-house technicians first and fall back to vendors?
They give every incoming work order a short, rule-based window for their own technicians first: if an in-house tech covers that state or area, has the trade, and has capacity before the client's due time, the job is scheduled to them; if not, or if the window passes, it goes to the next vendor on that site's ranked vendor list. The vendor gets a cost not-to-exceed (NTE) amount set below the client's NTE, must accept within a set time, and must check in on site, and anything that would go over the NTE comes back as a quote for approval. The office then only works the exceptions: jobs nobody accepted, vendors who missed a check-in, and NTE increase requests.
- Decide by rule, not by memory: state or territory, trade, priority and the due time decide who gets the first offer.
- Give in-house techs a time box (e.g. 30 minutes for an emergency, 4 hours for routine work), then fall back automatically.
- Rank vendors per site and trade, and only offer work to vendors whose insurance and W-9 are current.
- Send the vendor a cost NTE below the client's NTE, so a vendor overrun never becomes your loss.
- Chase by exception: no acceptance, no check-in, or an NTE increase request is what the dispatcher sees.
This is for companies that run both their own technicians and a vendor network. If everything goes to vendors, or nothing does, you need simpler rules than these.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How it works, step by step
The same flow works whether the work order arrives from a client portal, an email or a phone call.
1. Capture the work order with the fields routing needs
Every work order needs, at minimum: client, site address (and its state or territory), trade (plumbing, electrical, HVAC, doors, general handyman), priority (e.g. P1 emergency, P2 urgent, P3 routine), the client's due time and the client's NTE amount. If any of these is missing, routing stalls, so the work order sits in a "needs info" status instead of a dispatcher's head.
2. Check in-house coverage first
Rule: does an in-house technician cover this state or territory, hold this trade or certification, and have a free slot before the due time, counting drive time? If yes, schedule them. Some teams only self-perform certain trades or priorities (e.g. in-house takes all P3 handyman work in three states, never roofing).
3. Time-box the in-house offer
If the job is held for in-house techs, it can only be held for a set time. A common shape is a short window for emergencies and a longer one for routine work. When the window passes without a slot, the work order moves to vendor dispatch automatically, so nobody has to notice it waiting.
4. Offer it to the top-ranked vendor for that site and trade
Each site or area has a ranked list of vendors per trade. The first eligible vendor gets the work order, but only if their compliance documents (general liability, workers' comp, W-9, vendor agreement) are current. Vendors with an expired certificate are skipped, not offered and then caught later. To fill gaps in the list, some client platforms offer vendor discovery: ServiceChannel's Provider Search lists 70,000+ providers searchable by trade, location and performance.
5. Send a cost NTE, not the client's NTE
The vendor sees a cost ceiling you set, usually the client's NTE minus your margin. If the vendor finds the job is bigger, they submit a quote or NTE increase request with photos. Nothing above the cost NTE gets done until it is approved, and if the client's NTE also needs to rise, that request goes to the client.
6. Require acceptance and check-in
The vendor must accept within a set time (or the job moves to the next vendor) and must check in and out on site, ideally with GPS inside a radius of the site. Many client systems want the check-in pushed back to them, so the timestamps and coordinates must be on the work order record.
7. Close, verify and bill
Check-out with photos and notes moves the job to review. Once verified, the vendor's bill and the client invoice are both tied to the same work order, so the margin on each job is visible.
Where it breaks
Why it goes wrong
These are the problems buyers described on our sales calls, mainly from a commercial facility maintenance company with about 20 in-house technicians, hundreds of vendors and roughly 600 to 700 new work orders a month.
Scheduling in-house techs is done from an export and a map
Dispatchers export the open work order list, look at a map, and decide by hand who goes where. On one call, scheduling about eight technicians took someone around three hours a day. The decision of whether a job is in-house or vendor work is made inside that same manual process.
Two different scheduling models in one system
Employees are scheduled into time slots. Vendors are offered a job and schedule themselves. Tools built for one model handle the other badly, so hybrid teams end up running in-house work in the FSM and vendor work in email and spreadsheets.
Endless vendor chasing
Once a job goes to a vendor, someone has to chase acceptance, an ETA, the check-in, photos, the quote and the invoice. One facility maintenance buyer described it as circles of chasing, and noted that many vendors are tradespeople who only use email and will not log into a portal.
Missing fields from emailed work orders
Work orders that arrive by email often lack the trade, priority or NTE. One buyer had two staff whose job was to read dispatch emails and fill in the missing pieces before anything could be routed.
The NTE is tracked as a number, not a rule
If the vendor's ceiling and the client's ceiling are not separate fields with alerts, a vendor can run up costs that equal or exceed what the client will pay. A hybrid commercial FM owner on our calls listed NTE tracking and alerts as a must-have for exactly this reason.
Small P2s slip through
When a job is waiting for someone to decide in-house or vendor, it has no owner. Buyers described urgent jobs that were simply missed because they never got out of that queue.
The options
Ways to do it
| Approach | How the in-house vs vendor decision is made | Weak spot | Good for |
|---|---|---|---|
| Spreadsheet, map and email | A dispatcher checks a coverage sheet and emails a vendor when no tech is free | No time box, no NTE control, all chasing by hand | Under about 100 work orders a month |
| Client portals (ServiceChannel, Corrigo) as the dispatch tool | The client's system sends the work order and its NTE; you assign it to your own tech or a sub inside that portal | One portal per client; your own routing rules and cost NTEs live elsewhere | Providers with one or two big portal clients |
| Enterprise FSM (Dynamics 365 Field Service) | Vendors set up as Account or Contact resources beside employees; price, cost and margin NTEs selected by customer, incident type or location | Large setup project; NTE breaches warn but do not block saving | Large teams with an admin and partner |
| Enterprise FSM (Salesforce Field Service) | Scheduling policy: work rules (territory, skills, required resource) filter candidates, service objectives rank them | Rules apply to auto scheduling; drag and drop can break them; vendor flows need configuring | Teams already on Salesforce |
| Configurable FSM with routing rules and vendor links (Fieldproxy) | In-house rule by state, trade and priority with a time box, then ranked vendors with a cost NTE, offered by link or portal | Routing rules and vendor ranks have to be agreed with you before go-live | Hybrid teams with hundreds of vendors and a few dozen techs |
As of November 2026, from each vendor's own help pages and training material (sources below). Check the current version before you rely on any one setting.
Worked example
A worked example: one P2 leak in a retail store
Say a facility maintenance company has in-house plumbers in Texas and Oklahoma, and vendors everywhere else. A P2 leaking-sink work order arrives for a store in Arkansas with a client NTE of $660 and a due time of 24 hours. Made-up numbers.
| Time | What happens | Rule that applied |
|---|---|---|
| 09:00 | Work order created from the client email with trade plumbing, P2, client NTE $660 | All routing fields present, so it skips "needs info" |
| 09:00 | No in-house plumber covers Arkansas, so the in-house step is skipped | In-house coverage by state and trade |
| 09:01 | Offered to vendor A (rank 1 for plumbing at this site) with a cost NTE of $495 | Cost NTE = client NTE x 0.75 (e.g. a 25% margin target) |
| 10:01 | Vendor A has not accepted; offer moves to vendor B (rank 2) | 1-hour acceptance window for P2 |
| 10:20 | Vendor B accepts, ETA tomorrow 08:00 | Within the 24-hour due time |
| 08:05 next day | Vendor B checks in by GPS inside the site radius | Check-in pushed to the client's system with time and coordinates |
| 08:40 | Vendor B finds a cracked trap and submits an increase to $560 with two photos | Above cost NTE, so it goes to approval; still under the $660 client NTE, so no client approval needed |
| 09:30 | Approved, work done, checked out with after photos | Photos required at check-out |
The dispatcher touched this job twice: they did not chase vendor A (the timeout moved it on) and they approved one increase. If the same leak had been in Texas on a day with a free plumber, it would have been scheduled in-house at 09:00 and never offered to a vendor.
Before you buy
What to check before you buy
Good signs
- Routing rules use state or territory, trade, priority and due time, and you can change them yourself
- The in-house offer has a time box, and the fallback to vendors happens without a person moving it
- Vendors are ranked per site or area and trade, not one global list
- Expired insurance or a missing W-9 removes a vendor from the offer list automatically
- Client NTE and vendor cost NTE are separate fields, with alerts before either is passed
- Vendors can accept, check in and upload photos from an email or text link without a paid seat
- Check-in times and coordinates can be sent back to client systems that require them
Red flags
- Vendors have to be set up as fake employees to receive jobs
- Only one NTE field per work order, shared by the client and the vendor
- Auto-assignment only works for employees; vendor work is manual
- No timeout on offers, so a job waits until someone notices
- Per-user pricing that makes every vendor a licence
- Routing changes need a ticket to the vendor and weeks of wait
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is set up around your process, so the routing rules, ranks, windows and statuses below are configured with you. Field and status names are examples.
Work orders in with routing fields filled
Work orders come in from email, PDFs or client systems. The Document intelligence agent (/agents/document-intelligence-agent) reads emailed work orders and PDFs into a job with client, site, trade, priority, due time and client NTE. Anything it cannot fill sits in a needs_info status for a person to complete.
In-house first, by rule
The Dispatch agent (/agents/dispatch-agent) assigns the right tech by distance, skills and certifications. A routing rule decides whether it tries in-house first, e.g. self-perform plumbing and handyman work in your home states, and gives in-house techs a time box per priority before the job moves to vendor dispatch.
Ranked vendors and compliance gates
Each vendor has a profile with trades, coverage areas, a rank per area and dated compliance records. A vendor whose certificate of insurance or W-9 has expired is skipped. Subcontractor management (/solutions/subcontractor-management) holds the profiles and documents.
Two NTEs and an approval step
Each work order carries client_nte and vendor_nte (e.g. set as a percentage of the client NTE). Vendors only see their own ceiling. Increase requests with photos go through an approval workflow (/solutions/approval-workflows), and a second approval goes to the client only when the client NTE would also be passed.
Vendors work from a link or portal
Vendors accept, check in with GPS, upload photos and check out from a secure job link or a portal login. Fieldproxy is one price per company with unlimited users, so a large vendor network does not add seats. See /pricing.
Chasing by exception
The Watcher agent (/agents/watcher-agent) flags offers with no acceptance, missed check-ins and jobs nearing the client due time. Autopilot (/agents/autopilot) drafts the chase to the vendor for an ETA, photos or an invoice, and a person approves it before it sends. The Calling agent (/agents/calling-agent) can make outbound confirmation calls to vendors who only answer the phone.
By country
Regional notes: who is allowed to do the work
Routing by state or region is often about licensing, not only distance. This is general information, not legal advice.
United States: licenses are state by state
An in-house tech licensed in one state may not be allowed to do the same work across a state line, so coverage rules should be by state and trade. In California, for example, unlicensed minor work is capped at $1,000 since January 1, 2025, and only if no permit is needed and no workers are hired; otherwise a license is required even below $1,000.
United Kingdom: gas work
Gas engineers must be on the Gas Safe Register, and they carry a Gas Safe ID card that should be checked before they are hired for gas work on domestic or commercial premises. Store the registration and its categories on both tech and vendor profiles so a gas job can only be offered to someone registered for it.
Client portals in every region
Retail and restaurant clients that issue work through ServiceChannel can require check-in by phone (IVR) or GPS within a radius of the location, chosen by the client's administrator, and the check-in moves the work order to In Progress / On Site. Your vendors need to follow the client's method, whichever system you dispatch from.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Show us a week of work orders
Bring the open work order list, where each one came from, who did it (tech or vendor) and the NTEs. We map the rules you already use without writing them down.We set the routing rules
In-house coverage by state and trade, time boxes per priority, vendor ranks per area, cost NTE rules and the compliance gate, set to your thresholds.We connect intake and client systems
Email and PDF intake, plus your client portals where they allow it, so work orders arrive with the fields routing needs.Run both side by side for a week
The rules suggest the assignment and your dispatchers confirm it. Once the suggestions match what they would have done, fallback runs on its own.
FAQ
Questions people ask
- Can work orders go to in-house technicians first by state and then fall back to vendors?
- Yes. Set coverage by state or territory and trade for in-house techs, give them a time box per priority, and when there is no slot or the window passes, the work order is offered to the top-ranked eligible vendor for that site.
- How long should in-house techs get before a job goes to a vendor?
- Set it per priority against the client's due time. An emergency might get minutes, routine work a few hours or until the end of the day. The window must leave the vendor enough time to meet the client's SLA.
- Should the vendor see the client's NTE?
- No. Give the vendor a cost NTE below the client's NTE. Dynamics 365 Field Service, for example, separates price NTEs (what the customer accepts) from cost NTEs (what you accept before assigning work to a vendor).
- What happens when a vendor needs more than the NTE?
- They submit a quote or increase request with photos before doing the extra work. In CorrigoPro, for example, the provider submits a quote against the NTE and the customer accepts or rejects it.
- Can AI agents chase vendors for check-ins, quotes and photos?
- Yes, with a person in the loop. Fieldproxy's Watcher agent flags what is late and Autopilot drafts the follow-up, which a person approves before it sends.
- Our vendors will not use an app. Does this still work?
- Yes. Vendors can accept, check in and upload photos from a link sent by email or text, with no download. Regular vendors can use a portal login instead.
- Can check-ins be pushed back to ServiceChannel?
- ServiceChannel's API has universal check-in and check-out endpoints that take latitude and longitude, though most activity types need permissions enabled on the account. Confirm with each client which method they require.
- Do vendors need a paid account in Fieldproxy?
- No. Fieldproxy is one price per company with unlimited users, so vendors and techs do not add seats. See /pricing.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- ServiceChannel SCUniversity: understanding work order NTEs: https://servicechannel.atlassian.net/wiki/spaces/SCUCP/pages/622364017/Understanding+Work+Order+NTEs
- ServiceChannel SCUniversity: using the telephone (IVR) to check in and out: https://servicechannel.atlassian.net/wiki/spaces/SCUCP/pages/579764555
- ServiceChannel Developer: about check-in/out: https://developer.servicechannel.com/guides/checkin/about-check-in-out/
- ServiceChannel Developer: GPS check-in/out: https://developer.servicechannel.com/guides/checkin/gps-check-in-out/
- ServiceChannel: Provider Search: https://servicechannel.com/products/provider-search/
- CorrigoPro training: managing work orders with CorrigoPro Desktop: https://corrigopro.com/wp-content/uploads/2017/09/CORRIGOPRO-TRAINING-2018-Managing-Work-Orders-with-CorrigoPro-Desktop.pdf
- Microsoft Learn: not-to-exceed values on work orders (Dynamics 365 Field Service): https://learn.microsoft.com/en-us/dynamics365/field-service/work-order-not-to-exceed
- Microsoft Learn: set up bookable resources (Dynamics 365 Field Service): https://learn.microsoft.com/en-us/dynamics365/field-service/set-up-bookable-resources
- Salesforce Trailhead: examine scheduling policies (Field Service): https://trailhead.salesforce.com/content/learn/modules/field-service-lightning-scheduling-basics/examine-scheduling-policies
- CSLB industry bulletin 24-07: minor work exemption raised to $1,000: https://www.cslb.ca.gov/Resources/IndustryBulletins/2024/AB%202622%20Implementation.FINAL.pdf
- Designing Buildings: Gas Safe (UK): https://www.designingbuildings.co.uk/wiki/Gas_Safe
Related
Keep reading
- How do I stop dispatching subcontractors whose insurance or W-9 has expired?
- How can subcontractors receive, update and close jobs without an app?
- How do I hide job pricing and client contact details from subcontractors?
- Subcontractor management
- What is the best field service software for a 5-10 person HVAC team?
- ServiceTitan alternatives for small HVAC companies (under 50 techs)