TradeWeave · ServiceTitan Role Workflows

Dispatcher

Owns the gap between a booked job and a technician at the door. Splits into two clocks: capacity planning done ahead of time, and live dispatch handled minute to minute as the day unfolds.

Schedule > Capacity Reporting Technician Shifts Dispatch Board Jobs Tray + Dispatch Pro + ServiceTitan Max

Two clocks run this role: capacity planning — targets, shifts, zones, skills, all set up ahead of time — and live dispatch — moment-to-moment technician assignment and exception handling. Get the planning half wrong (a job type with no duration, a technician with no shift) and the live half turns into constant firefighting.

Day in the life

The five-stage flow

From setting capacity before the day starts to running the live board and working with Dispatch Pro's AI suggestions.

1

Set up capacity before the day starts

Adaptive Capacity SettingsTechnician Shifts
  • Set capacity targets at Settings > Adaptive Capacity > Settings before the team starts booking — without a target, there's no baseline for overbooked vs. underbooked.
  • Every job type needs a Default Duration — blank or zero durations cause massive overbooking.
  • Every working technician needs an active Shift (Normal, OnCall, or TimeOff) — without one, they contribute zero capacity and are invisible to the dispatch algorithm.
  • Time-off requests block the technician automatically, but existing jobs on their board must be manually reassigned.
2

Configure zones and skills

Settings > Operations > ZonesSkills
  • Draw zone boundaries by ZIP/city and assign technicians — every active tech needs at least one zone or they vanish from zone-filtered views.
  • Create Skills, check them on technician profiles, then require them on Job Types. A tech needs every listed skill to be eligible — it's an AND, not an OR.
  • Skill-routing tags must live at the location level, never customer level.
  • Validate every technician's home address — GPS routing and Map view both depend on it.
3

Run the live Dispatch Board

Dispatch BoardJobs Tray
  • Dispatch: find the appointment, Action > Dispatch — technician gets a mobile push, status flips to Dispatched.
  • Assign unassigned jobs from the Jobs Tray > Unassigned tab; multiple techs can share one appointment.
  • Reschedule by dragging to a new slot or Action > Reschedule — confirm the new arrival window.
  • Non-job events (meetings, training) only block capacity if "Include in scheduling and dispatching capacity" is checked when created.
Irreversible states Working, Dispatched, and Done appointments can't be unassigned. Canceling a job with invoice items attached deletes those items automatically.
4

Track technicians and manage exceptions

Map viewActivity Center
  • GPS/Map view: Dispatch > Daily dropdown > Map — color-coded techs and jobs, filterable by priority/skill/tags, batch-assign with the selection tool.
  • Message a technician directly from their name on the board, or bulk-message via Activity Center > Announcements.
  • Watch the dotted gray line on the board for dispatch-to-arrival lag; red-outlined jobs in the Alerts tab flag late arrivals.
Map view caveat On a date other than today, technicians display at their verified home address, not their real-time location.
5

Work with Dispatch Pro ServiceTitan Max — AI auto-dispatch

Dispatch Pro ConsoleTroubleshooter
  • Check icon at the top of the board confirms Dispatch Pro is live (re-runs roughly every 10 minutes).
  • Icon language: lightning = enabled and unlocked; lock = manually assigned or disabled; warning triangle on a tech = unvalidated address.
  • If a tech is sent unusually far, check the Troubleshooter before overriding — it may be the closest available option within the allowed drive-time range.
  • Dispatch Pro only reschedules within the arrival window or business hours — a day change needs a manual reschedule.

Reference

Pitfalls & performance

Common pitfalls

SymptomFix
Day wildly overbookedSet a Default Duration on every job type
Technician shows zero capacityCreate an active Shift
Tech missing from zone viewAssign to at least one zone
Job not skill-routedMove tag to location level
Non-job event doesn't reduce capacityRecheck "Include in scheduling" box
Can't unassign a jobReassign before it passes Scheduled status

KPIs to watch

MetricWhere
Provided vs. consumed capacitySchedule > Capacity Reporting
Jobs completed / tech / dayReports > Technician Performance
Unassigned job countJobs Tray > Unassigned tab
Dispatch Pro acceptance rateDispatch Pro > Supervisor Console
On-time arrival rateJobs Tray > Alerts tab

Source articles