A job went sideways at 2:14 PM on a Tuesday. The crew was 90 minutes into a packing step that was scoped for 45. The customer was watching from the kitchen. Nobody at dispatch knew — not until the customer called at 4:30 to ask why the truck hadn’t left yet.
By then the problem was two hours old and the customer was already drafting the one-star review.
Heartbeat AI is the system that was supposed to know at 2:14.
What Heartbeat AI Is
Heartbeat is a per-job health signal. It runs scheduled AI analysis on every job in progress and produces a read-only summary visible below the admin summary on the job activity page. The summary tells you, in plain language, whether this job is on track or going sideways — and why.
It shipped in two phases.
Phase 1 landed in June 2026 (Changelog_2606.md !1859). The initial system ran AI analysis on a schedule, produced read-only job summaries, included cost breakdowns, and came with a Self-Improving AI (SIA) dashboard for reviewing the AI’s own suggestions. Zone admins could enable or disable it per zone. An update_summary function let admins request a fresh AI-generated summary on demand.
Phase 2 shipped two weeks later (Changelog_2606.md !2126). The two-phase architecture splits the work: Phase 1 decides whether action is needed at all, and Phase 2 generates the full summary only when Phase 1 says it’s worth generating. Both phases share a cacheable message prefix, which reduces AI costs — most jobs don’t need a fresh summary every cycle, and the system now knows that. The SIA dashboard gained page tree navigation, a unified diff view, changelog memory, CSV export, and forced tool-call outputs for more reliable analysis.
The result: a dispatcher opens a job and sees a plain-English health signal. Not a dashboard they have to interpret. Not a notification they have to triage. A summary that says “packing is running 45 minutes over scope, crew has not checked in since 1:30 PM, customer has called twice” — or, more commonly, “job is on track, no action needed.”
How It Watches Jobs in Progress
Heartbeat runs on a schedule. For every active job, it pulls the job’s events, timeline, crew check-ins, customer communications, and step timings. It compares actual progress against the scoped plan. If something is off — a step running long, a crew that hasn’t checked in, a customer who has called more than once — the summary says so.
The summary is read-only. It does not change the job. It does not send messages. It does not reassign crew or alert the customer. It tells the dispatcher what is happening and lets the dispatcher decide what to do.
This is the critical distinction. Heartbeat is an AI that helps you see. It is not an AI that decides.
The Suggest/Assist/Auto Framework for AI Guardrails
When we shipped Bee — our inventory AI — we made a deployment mistake. Bee could write a customer’s inventory directly to the job record with no option to gate it. The first time it picked the wrong house and wrote a 47-item inventory for a job that needed 12, we learned the lesson. We wrote about it in the Bee AI permissions update.
The fix was a three-mode permission model that now applies to every AI feature in MoveRight that can take an action visible to a customer:
| Mode | What the AI does | Human review | Default |
|---|---|---|---|
| Suggest | Proposes. Nothing is written. Estimator confirms or rejects each item. | Every action reviewed. | Yes — all new accounts. |
| Assist | Writes only when an agent explicitly asks. Draft replaces existing data only on explicit confirmation. | AI runs on command; agent reviews before saving. | Opt-in. |
| Auto | Writes directly. No confirmation step. | No review before write. | Explicit admin opt-in only. |
Heartbeat runs in Suggest mode by design. It produces a summary. The dispatcher reads it. The dispatcher acts. The AI never touches the job record.
This is not a limitation. It is the point. A per-job health signal is only useful if the human trusts it — and trust comes from knowing the AI is not going to do something you didn’t ask it to.
The Difference Between “AI That Helps” and “AI That Decides”
Most AI features in SaaS products are sold as “automation.” The pitch is: the AI does the work so you don’t have to. In moving, that pitch is dangerous. A wrong inventory line costs a re-quote. A wrong reassignment costs a missed pickup. A wrong message to a customer costs a review.
Heartbeat is AI that helps. It surfaces information the dispatcher would have found eventually — after the customer called. It does not act on that information. The dispatcher acts. The AI’s job is to make the dispatcher faster, not to replace them.
We let Bee write a customer’s inventory once, and we turned that off. We replaced it with the Suggest/Assist/Auto model because the cost of an AI error visible to a customer is always higher than the cost of a human review step. Heartbeat applies the same principle to job monitoring: the AI sees, the human decides.
How a Dispatcher Uses the Heartbeat
The dispatcher opens the job activity page. Below the admin summary, the Heartbeat summary appears. It reads like a note from a colleague who has been watching the job:
- The job is on time, or it isn’t.
- The crew has checked in, or they haven’t.
- The customer has called, or they haven’t.
- A step is running long, or it isn’t.
If everything is green, the dispatcher moves on. If something is flagged, the dispatcher calls the crew lead, checks the crew navigator step timings, or contacts the customer — the same actions they would have taken after the customer called to complain, except two hours earlier.
The SIA dashboard lets zone admins review the AI’s own performance over time. If Heartbeat is flagging jobs that are fine, or missing jobs that aren’t, the dashboard shows it. The AI is accountable to the same review process as a human dispatcher.
What This Means for Moving Company Dispatch Software
Most moving company dispatch software gives you a calendar and a list of jobs. If a job is going sideways, you find out when the customer calls. Heartbeat closes that gap. The dispatcher knows before the customer does.
That’s the difference between reactive dispatch and proactive dispatch. Reactive dispatch costs you reviews. Proactive dispatch costs you a two-minute phone call to the crew lead.
MoveRight is the moving company CRM that watches every job in progress and tells you which ones need your attention — before the customer tells you.
References: