Ecco AI Receptionist for Hotels and Restaurants

Property Managers

How to Build an After-Hours Emergency Maintenance Triage Script for AI Voice Agents

by

Momo Ramadori

An emergency maintenance triage script is a decision tree that tells an AI voice agent exactly which questions to ask, in what order, so it can classify an after-hours maintenance call by severity and route it to the right person, whether that's an emergency plumber dispatched immediately or a work order that waits until morning.

Why generic after-hours scripts fail on real emergencies

Most property management answering services and basic IVR menus were built for one job: take a message. That works fine for a leaky faucet or a squeaky garbage disposal. It fails badly when a tenant calls at 2am smelling gas or watching water pour through a ceiling. A generic script asks 'what's the issue?' and 'what's your address?' then promises a callback. By the time anyone calls back, the pipe has flooded two units below, or worse, someone has struck a light switch in a gas-filled kitchen.

An emergency maintenance triage script solves this by forcing the conversation through a structured decision path before anything else happens. It asks the highest-risk question first, not last, and it branches immediately based on the answer. This is the difference between an answering service and a system that actually protects people and property.

The three-tier triage structure

Every emergency maintenance triage script should sort calls into three tiers before it does anything else, including collecting a full address or unit number in detail. Speed of classification matters more than completeness at this stage.

  • Tier 1, Life Safety: gas smell, carbon monoxide alarm, active fire, sparking electrical, structural collapse. These require an immediate scripted safety instruction plus a live human or 911 handoff, not a work order.

  • Tier 2, Property Damage in Progress: burst pipes, active flooding, no heat in freezing temperatures, sewage backup. These require immediate dispatch to an on-call vendor, but do not require evacuation instructions.

  • Tier 3, Urgent but Stable: no hot water, minor leaks, appliance failure, lockouts. These get logged and routed to the on-call tech, but can wait a reasonable window without causing damage.

The script's very first branching question should be designed to sort the caller into one of these tiers within the first two or three exchanges. Everything else, including politeness, apology language, and detailed data collection, comes after that sort.

Building the gas leak branch

A gas leak is the single highest-risk call type an after-hours line will receive, and the script needs to treat it differently from every other emergency. The AI agent should not attempt to diagnose or troubleshoot. Its only job is to confirm the risk and deliver a safety script.

  1. Detect the trigger phrase or keyword: 'gas,' 'smell gas,' 'rotten egg smell,' 'CO alarm,' 'carbon monoxide.'

  2. Immediately deliver the safety instruction: do not use light switches, do not use phones inside the unit, leave the unit and building, call the gas utility emergency line or 911 from outside.

  3. Confirm the caller is safely outside or away from the source before continuing.

  4. Collect address and unit number for the record, but do not delay the safety instruction to get this information first.

  5. Escalate to a live on-call manager immediately, tagged as Tier 1, regardless of time of day.

  6. Log the call with a timestamp and send a simultaneous text or push alert to the property manager, not just an email that might sit unread.

Note what's missing from this branch: there's no 'let me transfer you to maintenance' step and no attempt to schedule anything. Gas leak calls should never end with a promised callback window. They end with the caller safely away from the property and a human already in motion.

Building the burst pipe branch

Burst pipes are Tier 2: serious and damage-generating, but not immediately life-threatening in most cases. The script's goal here is to stop the damage from spreading while getting a vendor moving.

  1. Ask if the water is actively running or if it has been stopped. This single question determines urgency within the tier.

  2. If water is actively running, instruct the caller to locate and shut off the main water valve or the fixture's local shutoff, if they know where it is and can safely reach it.

  3. Ask whether water is affecting electrical outlets, panels, or light fixtures. If yes, add a safety instruction to avoid the affected area and treat it as elevated priority.

  4. Collect unit number, specific location (kitchen, bathroom, ceiling, wall), and whether neighboring units are affected.

  5. Dispatch the on-call plumber or maintenance vendor immediately with all collected details, and confirm dispatch back to the caller with an estimated arrival window.

  6. Send a follow-up alert to the property manager with photos requested by text if the caller is able to send them.

The shutoff-valve question is the highest-leverage line in this entire branch. Many AI answering services skip it because it feels like troubleshooting rather than message-taking, but it's often the single action that separates a €300 repair from a €30,000 insurance claim.

Building the no-heat branch

No-heat calls are deceptively tricky to triage because urgency depends entirely on context: outdoor temperature, vulnerable occupants, and how long the heat has been out. A script that treats every no-heat call identically will either over-dispatch on mild nights or under-respond during a cold snap.

  1. Ask current indoor temperature if the caller knows it, or how the space feels (cold but tolerable vs. dangerously cold).

  2. Ask if there are children, elderly residents, or anyone with a medical condition in the unit.

  3. Check or reference current outdoor temperature data, if the AI agent has access to local weather, to calibrate urgency.

  4. If outdoor temps are near or below freezing, or vulnerable occupants are present, classify as Tier 2 and dispatch same-night.

  5. If temps are mild and no vulnerable occupants are present, classify as Tier 3, log the request, and confirm a next-business-day appointment window.

  6. In all cases, offer a scripted line about space heater safety if the caller mentions using one, since space heaters are a leading cause of secondary fire calls during no-heat events.

This branch is a good example of why a triage script needs conditional logic rather than a flat script. The same complaint, 'no heat,' can be Tier 2 or Tier 3 depending on two or three additional data points.

The best triage script isn't the one with the most polite language, it's the one that asks the highest-risk question first and never makes a caller wait to hear it.

What the script should never do

  • Never ask for a callback number before delivering a safety instruction on a life-safety call.

  • Never attempt to talk a caller through a repair beyond a shutoff valve or leaving the building.

  • Never let a Tier 1 call end in a voicemail-style message-take. It should always escalate live.

  • Never use identical scripting for every 'urgent' complaint. Urgency needs tiers, not a single flag.

  • Never omit the timestamp and channel of escalation from the log. If a call ever becomes a liability question, the record needs to show exactly what was said and when.

Structuring escalation and handoff rules

A triage script is only as good as what happens after classification. Each tier needs a clearly defined handoff rule built directly into the script logic, not left to the AI agent's discretion.

  • Tier 1 calls escalate to a live on-call manager or emergency line within seconds, with a simultaneous SMS/push alert as backup.

  • Tier 2 calls dispatch to the on-call vendor automatically, with a manager notified but not necessarily called.

  • Tier 3 calls get logged into the work order system with a confirmed follow-up window communicated to the caller before hanging up.

This layered handoff keeps managers from being paged at 3am for a stuck garbage disposal, while making sure they're never the last to know about a burst pipe flooding a unit below.

Testing the script before it goes live

Before deploying an emergency maintenance triage script, run it against real transcripts from past emergency calls, not hypothetical scenarios. Property managers usually have voicemail records or answering service logs from the last year that include exactly the kind of messy, panicked phrasing a real caller uses. Feed those into the script and check whether the branching logic correctly identifies tier and safety response, especially for callers who don't use the exact trigger words the script expects, like someone who says 'it smells weird in here' instead of 'I smell gas.'

Test the edge cases deliberately: a caller who mentions gas and a burst pipe in the same call, a no-heat call during a heat wave (equipment malfunction, not weather), and a caller who's too panicked to answer the triage questions in order. The script should be resilient enough to reclassify mid-call if new information changes the risk tier.

Keeping the script current

A triage script isn't a document you write once and forget. Review it quarterly against actual call outcomes: which Tier 3 calls turned out to be more serious than logged, which Tier 2 dispatches were unnecessary, and where callers got confused by the phrasing. Local factors matter too. A property portfolio in a cold climate needs a more aggressive no-heat branch than one in a mild region, and buildings with older plumbing or gas infrastructure may warrant lower thresholds for automatic Tier 1 escalation. The script should evolve with the property, not stay frozen at launch.

GDPR compliant

© 2026 Ecco. All rights reserved.