FieldCamp

Handle Late Jobs and Cancellations | AI Dispatcher

When a technician runs late or a customer cancels, the Dispatch Recovery and Gap Filler agents detect the disruption and recommend the best recovery move automatically.

When the Day Goes Sideways

You planned the perfect schedule at 7am. By 10am, one tech is stuck on a job that is taking twice as long, and a customer just called to cancel their afternoon appointment. Now you are scrambling to figure out:

  • Which downstream jobs are at risk because the tech is running late?
  • Who else can take those jobs without creating new conflicts?
  • What do you put in the gap left by the cancellation?

Two agents handle this for you: Dispatch Recovery watches for late-running jobs, and Gap Filler responds to cancellations.


Dispatch Recovery Agent

What It Does

Dispatch Recovery monitors your live schedule for technicians who are falling behind. When a job runs past its expected completion time, the agent:

  1. Identifies which downstream jobs are now at risk
  2. Evaluates recovery options (reassign, extend, push back)
  3. Recommends the least disruptive fix
  4. Sends the recommendation to you for approval

AI Dispatcher Dispatch Recovery agent detail page showing late job detection and recommended recovery action

When It Activates

This agent does not run on a schedule. It triggers on a DISPATCH_RUNNING_LATE event — meaning it wakes up the moment a job exceeds its expected duration by a configurable number of minutes.

Setting It Up

  1. Go to Agents > Playbooks
  2. Find the Dispatch Recovery Assistant card and click Select
  3. Configure:
SettingWhat It DoesRecommended
Minimum overrun minutesHow far past the expected end time before the agent activates15 minutes
Auto-handle safe recoveryLet the agent execute simple fixes (like extending a time slot) without approvalNo (start with manual approval)
  1. Set to Draft, test for a week, then switch to Active

What You See

When Recovery detects a problem, a notification appears in the Dispatch Watch panel:

  • The late-running job with current overrun time
  • Downstream jobs at risk with their scheduled times
  • Recommended action (reassign, extend, or push back)
  • Accept or Reject buttons

Recovery prefers the least disruptive option. If extending the current job by 20 minutes fixes everything, it will suggest that over reassigning three downstream jobs to different technicians.


Gap Filler Agent

What It Does

When a visit gets cancelled, Gap Filler immediately looks at your unassigned jobs and scores them to find the best replacement. It considers:

  • Priority — Emergency and urgent jobs go first
  • Proximity — How close is the unassigned job to the technician's current location
  • Skill match — Does the technician have the right certifications
  • Gap fit — Does the job fit in the time slot left by the cancellation

AI Dispatcher Gap Filler agent detail page showing cancelled visit replacement scoring

When It Activates

Gap Filler triggers on a VISIT_CANCELLED event. The moment a visit is cancelled (from AI Dispatcher, your connected FSM, or via API), the agent wakes up.

Setting It Up

  1. Go to Agents > Playbooks
  2. Find the Gap Filler Agent card and click Select
  3. Configure:
SettingWhat It DoesRecommended
Auto-fill gapsLet the agent assign the replacement without approvalNo (start with approval required)
  1. Save as Draft, then Active when ready

What You See

After a cancellation, the Dispatch Watch panel shows:

  • Which visit was cancelled and the time gap it created
  • The top-scored replacement job with reasoning (priority, proximity, skills, fit)
  • Accept to assign the replacement, or Reject to leave the gap open

How to Cancel a Visit

You can cancel a visit from multiple places in AI Dispatcher:

  • Schedule page — Click a visit, then click Cancel
  • Jobs page — Open the job detail, find the visit, click Cancel
  • Live Dispatch timeline — Right-click a visit block, select Cancel
  • Connected FSM — Cancel in Jobber, ServiceTrade, or Housecall Pro and it syncs automatically

Gap Filler activates regardless of where the cancellation happens.


Using Both Together

Recovery and Gap Filler work independently, but they complement each other:

  • A tech is running 30 minutes late → Recovery recommends reassigning the last job of the day to another tech
  • That reassignment effectively "cancels" the original visit → Gap Filler does not activate because the job was reassigned, not cancelled
  • A customer calls to cancel their 2pm appointment → Gap Filler finds a nearby unassigned job to fill the gap
  • If the replacement job makes another tech late → Recovery handles that cascade

You do not need to coordinate them. They watch different events and respond independently.


Plan Requirements

PlanDispatch RecoveryGap Filler
FreeNot availableNot available
StarterNot availableNot available
ProfessionalYesYes
EnterpriseYesYes

Recovery and Gap Filler are live dispatch agents that require the Professional plan or above. They work with real-time events and need the deeper integration that Professional provides.


On this page