runbookify
← All plans
Field Service & Dispatch / Work Order Intake

After-Hours Emergency Intake & On-Call Router: Triage the 2 A.M. Call

Turn after-hours emergency calls into a severity-gated intake that finds who's on call tonight and drafts the dispatch + customer ETA message — with your on-call lead approving the call-out before anyone is woken up.

IntermediateA weekendBuilds onNext.jsSupabaseResend
What you'll build

A web tool where after-hours callers (or your answering service) log an emergency, the app gates it by real severity, looks up tonight's on-call tech, drafts the dispatch and a customer ETA message, your on-call lead approves the classification and assignment, and only then does the tool notify the tech and customer via Resend and add the call to a nightly CSV log.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A Supabase account (free)
  • A Vercel account (free)
  • A Resend account (free)
  • Your on-call rotation as a CSV/sheet
  • Your severity definitions (what is and isn't a true emergency)
  • Tech and on-call-lead contact details
  • Claude Code or any AI coding agent

The problem this kills

It's 2 a.m. The phone rings. Someone is upset, talking fast, and you have to figure out three things at once: is this an actual emergency or can it wait until morning, who is even on call tonight, and what do you tell the customer about when help arrives. Get it wrong and you either wake a technician for a dripping faucet that could have waited, or you slow-walk a gas smell or a flooding basement that genuinely couldn't.

After-hours dispatch lives in a binder, a group text, and someone's memory of who swapped shifts this week. Severity is judged on the fly by whoever picks up. The rotation is out of date. The customer gets a vague "someone will call you back." Nobody can later reconstruct who decided what. It's stressful, it burns out your techs with needless call-outs, and it puts real safety calls at risk. You don't need to live like this, and you don't need to be a developer to fix it.

What you'll build

A simple internal web tool for after-hours intake. A dispatcher or answering-service rep logs the call: caller name, callback number, site, and what's happening. The tool walks them through a severity gate built from your definitions — life-safety (gas, fire, electrical, no heat in a hard freeze), property-threatening (active flooding, sewage), or routine (can wait for business hours) — and it spells out, on screen, what is not a true emergency so a leaky tap doesn't become a midnight call-out. Safety hazards get captured loudly and up front. The tool then looks up who's on call tonight from your rotation, drafts a dispatch message to that tech and a customer ETA message, and hands the whole thing to your on-call lead to approve. Only after the lead confirms the severity and the assignment does the tool notify the tech and the customer via Resend — and add the call to the night's emergency log, which you can export as a clean CSV.

What's inside the Implementation Plan

The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — your real severity definitions, what your trades cover, how your on-call rotation is structured and where it lives, how techs and the lead want to be reached, your service-area and ETA promises, and the messy edge cases (shift swaps, no-answer escalation, a caller who can't tell you the site) — and then it tailors the severity rules, the rotation lookup, and every later step to your answers. This is not a generic template; the agent reflects a short spec back to you and waits for your thumbs-up before it builds anything. From there it walks the agent through the intake form, the severity gate, the on-call lookup, the draft-and-approve screen, the tech-and-customer notifications, and the nightly CSV log — each step with a ready-to-copy prompt. There's also a fallback so you can build the whole thing today even with no integration to your dispatch software.

The governance it includes (this is the point)

This is real dispatch tooling that wakes people up and sets customer expectations, so it ships with the controls a service operation needs: login so only your team and answering service can use it, row-level security so you only ever see your own company's calls, a complete audit trail of who logged, classified, approved, and dispatched each call and when, a hard human-approval gate so no tech or customer is notified until the on-call lead signs off on the severity and the assignment, and duplicate guards keyed on callback number + site within the night so the same emergency called in twice doesn't trigger two call-outs.

Who it's for

After-hours dispatchers, on-call leads, answering-service staff, and service managers at HVAC, plumbing, electrical, restoration, property-management, and facilities operations — anyone who owns the overnight phone and wants triage to be consistent, fast, and on the record instead of improvised. If you can describe how your team decides what's a real emergency and who gets called, you can build this.

You've got this — start with the plan, paste the first prompt, answer the interview, and you'll watch your first triaged, approved dispatch go out the same weekend.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.