What Happens When AI Assigns a Job
When you enable AI Dispatcher and mark a job for automatic assignment, the system analyzes hundreds of variables in milliseconds to find the best technician match. This isn't calendar Tetris—it's solving a multi-constraint optimization problem that balances skills, location, availability, workload, and route efficiency simultaneously.
Here's what happens under the hood.
Step 1: Check Hard Constraints
Before optimization starts, AI Dispatcher filters out technicians who can't physically do the job. Every assignment must pass these hard constraints:
Time availability — Technician must be free during the requested window (accounting for existing jobs, breaks, and work hours)
Required skills — Technician must have all skills the job needs (HVAC certification, electrical license, etc.)
Equipment access — Technician must have required tools or vehicle type
Service area — Job location must fall within the technician's coverage zone
Capacity limits — Technician can't exceed daily or weekly hour caps
Fail any constraint? That technician is out. No amount of optimization overrides these—they ensure compliance and prevent impossible assignments.
Example: A commercial HVAC repair in downtown requires EPA 608 certification and a lift-equipped van. Only technicians with both pass this filter.
Step 2: Score Each Candidate
Now the engine scores every eligible technician across five optimization factors:
Travel Time
The system calculates real driving time from the technician's current location (or last job) to the new site. It uses road networks and traffic patterns, not straight-line distance.
Example: Sarah is 5 miles away via highway. Tom is 3 miles through downtown. Sarah scores higher—her route takes 8 minutes vs. Tom's 18.
Skills Match Quality
Meeting the minimum isn't the same as being the best fit. AI Dispatcher ranks technicians by expertise level, not just yes/no qualification.
Example: Job requires "HVAC Certified." Both Mike (basic cert, 6 months experience) and Lisa (master cert, 8 years) qualify. Lisa scores higher for a complex chiller repair. Mike might score higher for a routine filter change.
Workload Balance
The engine looks at each technician's schedule utilization over the next 2-4 weeks, not just today. Goal: keep everyone between 70-85% capacity—busy enough to be efficient, not so slammed that quality drops.
Example: Jake is at 45% utilization this week, Emma at 82%. All else equal, Jake gets the job to balance the team.
Customer History
If this client has service history, the system checks who's worked there before. Returning the same technician earns a continuity bonus—customers like familiar faces, and the tech already knows the equipment.
Example: This is the third service call for Murphy's Restaurant. Carlos did the previous two and knows their walk-in cooler quirks. He gets a scoring boost.
Route Efficiency
This is the sophisticated part. AI Dispatcher doesn't just look at one job—it simulates how this assignment affects the technician's entire day.
Example: Amy has jobs at 9am (north) and 3pm (south). The new 11am job is either downtown (creates a linear north→center→south route) or west side (forces backtracking). Downtown job scores higher for route efficiency.
Confidence Scores: How Good Is This Match?
Every assignment gets a confidence score (0-100%) showing how optimal it is:
90-100% — Perfect match. Skills align, minimal travel, clean route, balanced workload.
70-89% — Good match. Minor trade-offs (slightly longer drive or moderate workload).
50-69% — Acceptable but compromised. Maybe skills match but travel is long, or close by but technician is getting overloaded.
Below 50% — Suboptimal. System found someone eligible, but review this manually.
Example: AI assigns Tom with 68% confidence: "✓ Skills match perfectly, ✓ Customer continuity, ⚠ 45-minute drive, ⚠ Workload at 87%." You see the trade-offs and can override if needed.
Continuous Re-Optimization
AI Dispatcher monitors for changes and re-runs optimization when things shift:
Job gets cancelled or rescheduled
Technician calls out sick or finishes early
Emergency job added
Traffic delay changes travel times
Example: Carlos finishes his 10am job 30 minutes early. He's now the closest tech to a 1pm appointment currently assigned to Maria. AI suggests reassigning to Carlos—but only suggests, never auto-swaps. You keep control.
The System Learns From Reality
AI Dispatcher adjusts over time based on actual outcomes:
If "2-hour" boiler jobs consistently take 3 hours with certain techs, the system adjusts duration estimates
If specific skill combinations produce consistently successful assignments, those patterns strengthen
If certain routes always hit traffic at specific times, travel calculations adapt
The AI doesn't replace your judgment—it amplifies it. You set the rules (skills, areas, limits). You review questionable assignments. The AI does the computational heavy lifting: testing hundreds of combinations per second to find matches you'd never calculate manually.
Why You See the Reasoning
Every assignment shows why that technician was chosen, not just who:
"✓ Skills match perfectly
✓ Only 8 minutes away
✓ Route efficiency: 94%
⚠ Workload reaching 85%"
This transparency lets you override when you have context the AI doesn't: maybe this technician prefers working with this client type, or you know they need lighter days this week for personal reasons.
The goal isn't full automation. It's making you 10x faster at dispatch while preserving the judgment calls that require human insight.
Related Articles