HomeCase StudiesJob dispatch in Teams
Field services company · 140 people

Job dispatch by adaptive card, not phone tag.

Dispatchers at this 140-person field services company assigned jobs by calling technicians, who confirmed by text and reported completion by photo in a WhatsApp group. Jobs fell through the cracks daily.

90 secaverage job acceptance
0jobs lost in handoff
3 appsreplaced by one card
The problem

Dispatch by phone call, confirmation by hope.

Every job started with a phone call. A dispatcher rang a technician, hoped they picked up, read the site details out loud, and waited for a text back to confirm. If the call went to voicemail, the job went back into the queue while the dispatcher moved down the list — and the clock kept running on the customer.

Completion was its own workaround. Technicians photographed finished work and posted it to a WhatsApp group, where someone in the office was expected to spot the photo, match it to the right job and close it out. Three separate apps — phone, text and WhatsApp — carried a single job from assignment to closure, and none of them talked to the job system that was supposed to be the record.

The gaps were where jobs died. A call never returned, a confirmation text that landed while the dispatcher was on another line, a completion photo that scrolled past in the group chat — each one was a job quietly going missing, and nobody could see it happening until a customer called to ask where their technician was.

What we did

One adaptive card carries the whole job.

We replaced the three-app relay with a single adaptive card in Teams, wired to their job system through the Graph API — so dispatch, acceptance and completion happen in one place, on one record.

1
One-tap Accept

Each new job lands as an adaptive card in the technician's Teams. Accepting it is a single tap on the card — the dispatcher sees the confirmation the moment it happens, and the call-and-text-back relay disappears.

2
Site details travel with the card

Everything the technician needs to arrive ready is on the card itself — no details read out over a call, misheard, or buried somewhere in a text thread.

3
A completion form, not a photo in a chat

Closing a job is a structured completion form on the same card, filled in from the field and tied to the right job automatically. Nobody fishes photos out of a WhatsApp group and guesses which job they belong to.

4
Wired to the job system — with escalation

The cards connect to their job system through the Graph API, so assignment and completion stay in sync with the system of record. And if a card sits unaccepted, it escalates — no job waits on a voicemail.

Results

Where things stand now.

A job now moves from dispatcher to technician to done inside one card — visible at every step, escalated when it stalls, and recorded in the job system without anyone retyping a thing.

90 secaverage job acceptance
0jobs lost in handoff
3 appsreplaced by one card
Microsoft Teams Adaptive Cards Microsoft Graph API Power Automate

Your Microsoft 365 is already paid for. Start using it.

Book a free 30-minute audit — we'll look at how jobs move from dispatcher to technician in your business today and show you exactly where they fall through the cracks.