WORKFORCE for Dispatchers
The board is the job. Everything else feeds it.
You are the person who decides which truck goes where, and who has to answer the phone while deciding it. This manual is organized the way your day actually runs: load the board, keep it honest, handle what breaks.
The Dispatch Board
Where: Dispatch.
This is a time grid, not a to-do list. Each technician has a row; the day runs left to right. Switch between Daily and Weekly, and expand to full screen when you're building the whole week at once.
Scheduling is dragging
Drag a job card onto a technician's row at the time you want it. That's the whole interaction. Moving a job — different tech, different hour, different day — is the same drag again.
What you get: loading five trucks stops being five phone calls and five spreadsheet edits. It's five drags, and everybody's phone updates itself.
The Queue
Down the left is every job that isn't on the board yet. Filter by priority, search by name, and create a new job right from the panel when someone calls in.
What you get: the gap between "customer called" and "truck is scheduled" stops being a place where work disappears.
The morning read
Four counters sit at the top: available techs, dispatched techs, unassigned jobs, active jobs. Each one expands into names.
What you get: three seconds tells you whether you're staffed for today.
Sending the right truck
The assignment picker
Open a job and choose Assign. You don't get an alphabetical list of names — you get a ranked one, showing for each technician:
- how far they are from the customer
- how loaded they are already that day ("2 tasks on date")
- skill match, with star ratings against what the job needs
- whether they're on approved leave — those are blocked outright, not just flagged
What you get: the closest, best-skilled, least-loaded tech gets the call, and you never send a plumber to an electrical job because their name came first in the list.
The guardrails run themselves
You don't turn these on. Before a drop or a save completes, the board checks:
- Time overlap — the same truck cannot be in two places in the same hour.
- Daily hours — you get warned when an assignment pushes a technician past an eight-hour day, before it lands.
- Past dates — an assignment cannot be moved into the past.
What you get: the mistakes that cost you a whole afternoon are the ones the system refuses to let you make.
Rescheduling
Click an existing assignment and change the technician, the time, or the notes in place. No deleting and rebuilding.
Knowing where everyone is
The live map
Technicians appear as live pins on a map, positioned from their phones' GPS. A tech who hasn't reported a location in two minutes automatically flags as offline.
What you get: you answer "where's my tech" with a look instead of a radio call — and when you give a customer an ETA, it's grounded in where the truck actually is.
The roster
Search and filter the crew by name, role, or status: Available, Dispatched, Unavailable.
What you get: when the phone is ringing and someone needs an answer now, "who's free" is one filter away.
When the day breaks
Recall a technician
A tech goes home sick at 11am. Select them, see their active jobs for the day, check the ones that need to move, confirm. Those jobs drop straight back into the unassigned queue, ready to redistribute.
What you get: a same-day callout is handled in one screen instead of hunting the board job by job while the phone rings.
Leave requests
Review pending time-off requests — PTO, sick, holiday, parental — filtered by status, and approve or reject each one.
Approval matters operationally, not just administratively: an approved tech is blocked from being assigned. They show with an orange "On Leave" flag in the picker and on the daily grid.
What you get: nobody gets scheduled on a day they were already given off. The "wait — I'm on vacation" phone call stops happening.
Taking work in
Service tickets
Where: Service Tickets → New.
Log the inbound call as a ticket: category, urgency (Normal / High / Emergency), description, and the customer contact. Add follow-up comments as it develops, and move it through Open → Resolved → Closed (or reopen it).
The queue view searches and filters every open ticket by status and category, and lets you reassign one to somebody else.
What you get: every phone call becomes a record with an owner. "I thought someone called them back" stops being a thing that happens.
Leads and triage
Where: the Leads list.
Inbound leads — from partners, from the web, from referrals — land in one searchable list. Open one and hit Triage: confirm the customer details, verify the address with autocomplete, pick the project type, and the modal creates the customer and the job in one pass.
What you get: a lead becomes a scheduled job without anyone retyping a name, an address, or a phone number. Nothing is lost in the handoff, because there isn't one.
The calendar
Where: Calendar.
A familiar Month / Week / Day / 4-Day layout of your scheduled assignments, color-coded by status — blue scheduled, yellow in progress, green complete, red urgent. Click a day to drill into its timeline.
This view is for planning and reading. Scheduling itself happens on the Dispatch Board.
Messaging
Where: Inbox.
Tabs for campaign, service, direct, and CRM threads. Start a direct conversation with a technician or another dispatcher tied to a specific job, or reach a customer through the service and CRM threads.
What you get: job coordination — "go here first", "customer called back" — stays searchable and attached to the work, instead of scattered across personal text messages that leave with whoever sent them.