Audit tomorrow's dispatch board before the day starts

By General Input

Every weekday at 4pm, check tomorrow's schedule for unassigned appointments, time off conflicts, and overloaded techs, then post the fixes to Slack.

Integrations

  • ServiceTitan
  • Slack Bot

Type

Agentic Task

Categories

  • Operations

Every weekday at 4pm, audit my ServiceTitan dispatch board for the next business day and post one prioritized summary to my dispatch channel in Slack. The point is to catch coverage problems while there is still time to fix them. An unassigned appointment discovered at 7am on the day is a missed call to a customer, while the same gap caught at 4pm the day before is a five minute fix.

First work out the target date. Monday through Thursday that is tomorrow. On Friday it is the following Monday, so the weekend is never a blind spot. Everything below is scoped to that single target date.

Build the picture from ServiceTitan. Use List Appointments to get every appointment scheduled on the target date, List Appointment Assignments to see which of those appointments actually have a technician attached, List Technicians to get the active roster, and List Technician Shifts to see who is genuinely working, who is on call, and who is on time off that day. Page through these lists rather than reading only the first page, so a busy day is never silently truncated.

Then cross reference those four lists and flag only the real problems. First, appointments on the target date with no technician assigned. Second, technicians assigned to work on a day their shift record says they are on time off, which is the failure most likely to blow up on the morning of. Third, technicians whose day looks badly over or under loaded compared to the rest of the team. Treat that third one as a judgement call rather than a fixed rule: compare each technician's booked load against what the rest of the working roster is carrying that day, and call out only genuine outliers, meaning someone stacked well beyond a workable day or someone sitting nearly empty while the rest of the team is buried. Normal day to day variation is not worth reporting.

Use List Jobs to pull the job type, priority, and customer behind the affected appointments, and use that to rank the gaps by what is most at risk rather than listing them alphabetically or by id. A high priority job, a commercial or membership customer, an install with a hard start time, or the first appointment of the morning should float to the top. A low priority job late in the afternoon can sit at the bottom.

Post one message to the dispatch channel with the Slack Send a Message action. One message, not one per problem. Lead with the headline counts, then list the problems in priority order, each with enough detail for a dispatcher to act without opening ServiceTitan first: the appointment time, the customer, the job type and priority, and what specifically is wrong. Where the fix is obvious, suggest it, for example naming technicians who are on shift that day and look underloaded and could absorb an unassigned appointment. Keep it scannable with Slack formatting, since this gets read on a phone in a truck.

If the target date is fully covered, say so explicitly in the channel: every appointment has a technician, nobody is booked on time off, and the load looks reasonable across the team. Never stay silent on a clean day. Silence is ambiguous, because the team cannot tell a covered board from a check that failed to run.

This workflow is read only. Do not reassign appointments, change shifts, or modify anything in ServiceTitan, and do not use any tools beyond ServiceTitan and Slack. If a ServiceTitan call fails or comes back empty, say that plainly in the Slack message instead of reporting a clean board.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them