Reduced first-touch maintenance turnaround by 63%
Built a triage agent that reads resident messages, classifies urgency, opens work orders in AppFolio, and drafts the first vendor outreach. Eight-week build.
Multifamily owner, 14 properties · February 2026
Resident messages arrived through three channels, text, email and the portal, and got triaged by regional managers in the gaps between everything else they were doing. Urgency calls were inconsistent, because the same leak described two different ways landed in two different buckets depending on who read it and how busy they were. Vendor follow up slipped for the same reason.
Nobody was doing anything wrong. Triage was simply the task that always lost to whatever was more urgent that hour.
What we shipped
A triage agent that classifies each inbound message into an urgency band, opens the work order in AppFolio with the right unit and category, and drafts the first vendor outreach. Twilio handles SMS, the model handles triage and drafting, the AppFolio API handles the work order. Eight week build across fourteen properties.
The regional manager still approves. What changed is that they approve a categorized work order with a drafted vendor message attached, instead of starting from a raw text at ten at night.
How we measured it
First touch turnaround is the time from a resident message arriving to a work order existing with an owner attached. It fell 63% against the prior period, measured in AppFolio rather than in our own logs.
Classification accuracy of 94% is specifically the share of messages where the manager did not have to recategorize before approving. The other 6% were edge cases the regional team flagged for tuning, and that tuning is ongoing rather than finished.
The NPS movement is the softest of the three numbers and we would treat it that way. It moved 18 points across the survey window, and maintenance responsiveness is one of several things residents were asked about. We would not claim the agent caused all of it.
Guard rails
Anything the agent reads as a habitability or life safety issue routes straight to a human and pages the on call manager. It never closes a work order, never dispatches a vendor without approval, and never replies directly to a resident. Residents hear from the property, not from the automation.
Where the message is ambiguous, the agent escalates rather than guessing the urgency band down. The failure mode we care about is an emergency classified as routine, so the system is deliberately biased toward over escalating.
What stayed human
The judgment call on a resident who is upset for reasons that have nothing to do with the work order. The vendor relationship. The decision to spend real money on a real repair.
What we won’t show you
The urgency definitions, the category tree, and the escalation thresholds. Those were built around this owner’s properties, vendors and tolerance for risk, and they are the part that took the eight weeks. The plumbing is portable. The definitions are not.