Guide · Planning, buying and running AI
AI Job Monitoring for the Work That Stopped Without Telling You
McGuire Flanigan · Updated October 29, 2026 · 12 min read
A job does not fail loudly. It sits. The monitor holds an expected next state and an expected duration for every job type, watches for the motion that should have happened, and raises the ones that stopped.
The Thing You Are Looking For Did Not Happen
Every operations tool a service business owns is built to draw something that exists. A dispatch board draws jobs and where they are. A live map draws technicians and where they are. A job status tab draws the current state of a ticket. A report draws last month. All of them are presence surfaces, and all of them are structurally incapable of showing you the thing that actually costs the money, because the thing that costs the money is the event that did not happen. There is no row for it. There is no state change to subscribe to. There is nothing to draw.
That is the whole problem, and it is worse than it sounds, because the absence is not even visible as a gap in most of these interfaces. A job sitting at a status for nine days looks exactly like a job sitting at that status for twenty minutes. The board renders the value, and the value is the same string in both cases. The only thing that distinguishes them is the clock, and the clock is the one dimension that a status field does not carry. Owners often conclude from this that their board is weak or their reporting is thin. It is neither. It is answering the question it was built to answer, and the question that matters was never asked of it.
There are four absences that reliably cost a service business money, and they are worth naming precisely because none of them announces itself. A job was booked and never scheduled onto a slot, so the customer waits at home for a visit that was never placed on a calendar. A status was set and never touched again, so a repair order sits in a bay while the office assumes a technician is on it and the technician assumes the office is chasing something. A part was ordered and never confirmed, so the job is described as waiting on a supplier when the truth is that nobody verified the order exists. An invoice was never created behind completed work, so the business finances the job quietly until month end.
The instinct, once an owner has felt this pain, is to treat it as a discipline problem: ask the team to check the board more carefully, add a morning review, put a status meeting on the calendar. That answer fails for the same reason it fails everywhere else it is applied. If the board does not show the difference between a moving job and a stopped one, then checking it more often does not produce the information; it just consumes more attention to produce the same nothing. A human scanning a list of current states cannot compute elapsed time against an expected duration across two hundred rows. The task is small in principle and impossible in practice, which is exactly the shape of work that belongs to a machine.
So the reframe is this. The business does not need more visibility, and it does not need another board to check. It needs a short, ranked, evidence-bearing list of the jobs that stopped, delivered while there is still time to do something about them. That is a different product from a dashboard and it is a different product from an alert on a state change, because both of those are triggered by something happening, and monitoring is the discipline of noticing motion that did not occur.
The Tightest Baseline Is Not the Watch That Works
Set your own numbers and watch the window move. Tightening it notices a stall sooner and starts firing on jobs that are simply slow, and past a point the noise is what your best scheduler spends their morning on. Nothing is submitted and nothing leaves the page.
Everything the business completes in a normal working week.
Used to size what a stalled job is carrying while it waits.
The share of jobs that stop moving for a day or more.
How long a job may sit before the watch calls it stalled.
What it costs to have somebody read and act on a raised job.
The parts wait is the largest slice and the invoice gap is the smallest, which is the opposite of what most owners expect. The invoice gap is loud because a number is missing. The parts wait is silent because the status already says waiting on parts, and a status that looks correct is the hardest absence to see.
This watch surfaces about 25 percent of the jobs that stop moving, which is roughly 4.9 a week out of 19.6. Annualized, the carrying time removed is about $89,284. All three lines are real costs, so the model charges you for all three.
Illustrative estimate from the inputs above. Your own numbers will differ; this is not a measured result or client data.
One Job, Six Stages, and What Should Have Happened at Each
Follow a single no-cool diagnostic from booking to payment. Each stage names the system it reads, the motion it expects, the absence it watches for, and the exact point where the watch breaks.
Booked
What Happens
This is the first absence and the least visible one, because a job that was never scheduled does not look broken. It looks like a gap. The calendar has room in it, nobody is waiting on a notification, and the customer is sitting at home assuming somebody is coming. The monitor holds a booking baseline per job type and asks one question: how long has this job existed without a scheduled visit against it. Nothing is judged. The record is only compared to the motion the business promised.
The booking baseline is almost never written down, so the monitor either has no number to compare against or borrows one from a job type that behaves completely differently. A water heater replacement and a thermostat swap do not have the same booking rhythm.
Observation Record
Precision Is Not a Setting. It Is a Baseline Somebody Wrote Down.
Any competent engineer can poll a REST surface and send a notification. What decides whether the watch is still alive in month three is whether the expected motion was ever defined, in writing, by the person who schedules the work.
A Baseline Nobody Set Is a Threshold Somebody Guessed
The baseline is the expected next state and the expected duration for a job type at a stage, and it is a business decision rather than a technical default. When it is not written down, the monitor uses one number for everything and that number is either so tight that it fires on healthy jobs or so loose that it never fires at all. The conversation that sets it takes an afternoon with the person who schedules the work, because they already know which job types move slowly and why.
The Long Job Has to Stay Quiet
A collision repair waiting on a backordered structural panel is not drifting, it is working correctly, and a monitor that does not know this will raise it every single day until the business stops reading the alerts. That is not a tuning inconvenience, it is the specific mechanism that kills these deployments in month two. Long jobs get long baselines, and the baselines are per job type rather than per business, because the business is not one kind of work.
Review Load Is Capped Before Anything Ships
The number of things a person will genuinely open and act on in a day is small, single digits in most operations. That number is a design input rather than a discovery, so it is set first and the rules are tuned to fit inside it. If the rule set cannot fit without losing the stuck jobs that matter, that is information about the rules, not about the cap. A monitor that raises forty things a day is raising nine and spending the other thirty-one teaching the reader to ignore the channel.
Two Readers Who Should Buy Something Else
You want to look at the shape of the business, not at a job
A dashboard is a pull surface and it answers questions you bring to it. It is the right tool for trend review, for capacity planning, and for the questions you have not thought to ask yet. This is a push surface that interrupts you because a specific job stopped moving. If what you actually need is to open one view every Monday and see the week, buy nothing here: a well-built operations dashboard is cheaper, calmer, and better suited. The two are complements, and a business that confuses them ends up with six charts it never opens plus forty alerts it never reads.
You want to watch your people
There is a large category of software that surfaces under this keyword and it is about utilisation, activity, and who is where. Do not build that with this. A monitor that reads as performance surveillance gets gamed within a month: jobs get advanced at the wrong moment, notes get padded, timestamps get tidied, and the record stops being trustworthy in a way nobody can detect from the outside. Monitoring watches the state of the work. When a state points at a person, the monitor attaches the records and stops, because what the data can prove is that a job did not move, and it cannot prove why.
Where the Line Sits on Every Monitoring Action
The monitor reads, compares, raises, and clears. Advancing a job, promising a date, and any judgment about how a person worked belong to the people who own those decisions, and they are marked never for a reason rather than as a matter of taste.
Why Advancing a Status Is Worse Than Missing a Stall
A monitor that raises a job which turns out to be fine has cost somebody four minutes. A monitor that advances a status on its own has done something considerably worse: it has written a claim into the record that no human is behind, and the next person to read that record will treat it as fact. Every downstream decision inherits it. A dispatcher trusts it, an office manager reports on it, a technician assumes it was already handled, and the customer is told something nobody verified. A missed stall is a cost. A fabricated state is a liability, and it is the reason the read-only boundary on this page is drawn where it is rather than somewhere more convenient.
Straight Answers
The Rest of the Operations Picture
Monitoring one job is one layer. Which layer you need first depends on whether your problem is noticing, deciding, or collecting.
The closest sibling. Same discipline at queue level, where the unit is an exception rather than a job.
The record itself, and the admin that surrounds every work order.
What a job that never closed costs, and where completed work and collected money disagree.
What to do once a stall is raised, and the point where the monitor stops and a person takes over.
The umbrella guide for the whole operations cluster, if you are still choosing a starting layer.
The full library across operations, lead response, and back office.
Find the Jobs That Stopped Before the Customer Does
In thirty minutes we will list the job types you run, the expected motion at each stage of your own workflow, and which of the four absences your systems could actually watch today. You keep the analysis whether or not you hire us.
Questions operators ask
How is this different from the live board my platform already gives me?
- A live board renders the current state of every job. This watches the rate of change against an expected duration, which is the one dimension a status field does not carry. The practical consequence is that nine days at a status and twenty minutes at that status look identical on a board, and they look completely different to a monitor. Boards are also pull surfaces: somebody has to open them, which means they work exactly as well as the least busy person's memory. The monitor is a push surface that raises the jobs that stopped and leaves everything else alone. Both are worth having and they answer different questions.
Will I get flooded with alerts the way the last tool flooded me?
- That failure is the normal outcome and the design here is built against it specifically. Two mechanisms do the work. First, per-job-type baselines, so a four-day collision repair waiting on a backordered panel stays quiet while a brake service that has not moved in a day does not, because a single global threshold is wrong for both of them. Second, a read ceiling set before any rule ships, which is the number of things a person will genuinely open and act on in a day, usually single digits. If the rules cannot fit inside that ceiling without losing real stalls, the rules are too broad, and that is a finding rather than a reason to widen the cap.
Will this become surveillance of my technicians?
- Not if the boundary in the table above holds, and it is deliberate rather than decorative. The monitor watches states, not people: a job with no scheduled slot, a part with no confirmation, a repair order that has not been touched. When a state points at a person, the monitor attaches the records and stops, because what the data can prove is that a job did not move and it cannot prove why. That restraint is practical as well as ethical. A monitoring system that reads as performance measurement gets gamed inside a month, and a gamed record is worse than no record at all.
Do I have to replace my platform or move my data?
- No, and a proposal that opens with replacing a platform you already run should be treated with suspicion. The monitor reads the systems you have and holds no copy of their truth. Where a platform publishes a developer surface, the watch reacts in seconds: ServiceTitan V2 documents OAuth authorization, webhooks on state changes, and job, appointment, and technician resources, and QuickBooks Online publishes an incremental changed-since query path plus entity change notification webhooks. Jobber documents a single GraphQL endpoint at https://api.getjobber.com/api/graphql, and Tekmetric documents its Open API at https://api.tekmetric.com/api/v1/. Where a platform publishes no developer surface, the honest answer is different, and it is answered below.
What if my platform has no API to read?
- Then the watch runs on exports, and the page should say so plainly instead of implying real time. AutoLeap, for example, has no publicly documented developer API. What exists is native integrations, reporting exports, and work-order summaries, so anything built around it reads those exports and the detection interval becomes the export cadence rather than seconds. CCC ONE is a related case in a different shape: it exports CIECA EMS 2.01 files, which are snapshots at export time rather than a live queryable record. Neither is a reason to skip monitoring. Both are reasons to write the detection latency on the wall, because an unstated latency becomes an expectation nobody meets.
See where AI fits in your operation
Thirty minutes on how the work actually moves. No pack of agents. No obligation to build. If we can help, we will show you the first paths. If we cannot, we will say so.
Sources
- api.getjobber.com/api/graphql, api.getjobber.com
- api.tekmetric.com/api/v1, api.tekmetric.com
More guides on planning, buying and running ai
AI for Multi-Location Operations That Fixes the Vocabulary Before the Dashboard
A rollup fails at the words, not the charts. Translate the local vocabulary, check that the numbers are comparable, and rank the differences that actually matter.
An AI Agent for Stalled Jobs That Names the Owner, Not Just the Problem
Monitoring finds the stall. The agent works it: reads the reason, names the owner, drafts the unblocking message, and waits for real motion before the job leaves the list.
Automate Internal Handoffs Before the Job Falls Between Two People
A handoff is an owner, a trigger, a due time, and an escalation. Model where your handoffs stall and watch for the one that never completed.
Automate Job Status Updates Without Teaching Customers to Ignore You
A generic status message is worse than silence. Decide what changed, whether this customer cares, and say it once, plainly, in time. Your platform stays the record.
Automate Task Creation from CRM for Service Businesses
One record change, one owner, one due time, one proof of done. Model how many tasks your CRM should actually create, and how many should close from evidence.