What this automation does
Maintenance coordinators spend much of their day going back and forth with tenants to learn what is actually broken. This workflow does that back-and-forth instantly, in the tenant’s language, and hands coordinators finished work orders.
- One intake for every channel. Requests from the resident portal, a dedicated text number, email and voicemail transcripts land in one queue, matched to the tenant and unit.
- Screen for emergencies first. A keyword rule runs before any AI. Gas, smoke, fire, carbon monoxide and sparking trigger a scripted safety message and page the on-call person. Flooding, active leaks through ceilings, sewage, no heat in freezing weather and lockouts go to the on-call queue.
- Ask what the technician needs. For everything else, the AI asks short follow-ups: where in the unit, since when, make or model if visible, a photo or short video, pets in the unit, and permission to enter.
- Offer approved self-help. For issues on your approved list, such as a tripped GFCI outlet, a jammed garbage disposal or a tripped breaker, the AI offers the fix with a photo guide. The tenant can always skip it and request a technician.
- Classify. The model returns trade (plumbing, electrical, HVAC, appliance, pest, general), priority and a two-line summary as structured data.
- Create the work order. The work order goes into AppFolio, Buildium or Yardi with the summary, photos and entry permission, assigned to the preferred vendor for that trade and property, with your not-to-exceed amount.
- Schedule and confirm. The vendor gets the dispatch, the tenant gets the appointment window, and both get reminders.
- Close the loop. When the vendor marks the job complete, the tenant gets a “is this fixed?” text. A “no” reopens the work order. Repeat issues on the same unit are flagged for the manager.
When it is worth building
Build this when coordinators spend hours a day clarifying vague requests, when on-call staff get paged at night for things that could wait, or when tenants complain that requests vanish into a portal with no updates.
Skip it if your portfolio is small enough that one coordinator knows every unit, or if your property management software’s built-in maintenance tools and an answering service already cover you. Several property management platforms and maintenance-focused vendors offer AI intake as a product. Those are worth comparing, especially if you use their platform already. Custom wins when you need your own emergency rules, your vendor assignment logic, multiple languages, or one intake across several software systems.
Architecture
| Layer | What we use | Why |
|---|---|---|
| Channels | Resident portal notifications, a Twilio text number, a maintenance mailbox | Tenants use whatever is closest, so every channel feeds one queue |
| Emergency screen | A keyword and pattern rule in code | Life-safety handling must be predictable, not probabilistic |
| Conversation and classification | Claude Sonnet 5.5 with a fixed work order schema | Handles messy texts, photos and other languages, and returns structured fields |
| Orchestration | n8n | Built-in Twilio, Gmail and Sheets nodes, plus HTTP requests to PM software APIs |
| System of record | AppFolio, Buildium or Yardi | Work orders, vendors and owner reporting stay where accounting expects them |
| Vendor rules | A Google Sheet of trade, property, preferred vendor and not-to-exceed amount | Managers update vendor rules without touching the workflow |
How to build it
- Write the emergency list with your maintenance lead. What counts as an emergency, what the scripted replies say, and who is on call when. Test it with real past messages.
- Collect the self-help list. Only fixes your team is comfortable with tenants doing, each with a photo guide and a clear “skip and send a technician” option.
- Define the work order schema. The fields your vendors complain are missing today: location, symptom, duration, photos, entry permission, pets, access notes.
- Build the conversation. One question at a time, in the tenant’s language, with a limit of four follow-ups before it creates the work order anyway.
- Connect the PM software. Use the API where you have access. Where you do not yet, generate the work order in a review screen that staff submit in one step.
- Add vendor assignment and approvals. Preferred vendor per trade and property, not-to-exceed amounts, and owner approval above a threshold.
- Add scheduling, reminders and close-out. Entry notices follow your state and local rules on notice before entering a unit, which vary.
- Pilot on one property with a coordinator watching every conversation for two weeks.
The downloadable starter template below covers the text intake, emergency screen, classification and a work order sheet you can point at Buildium’s API or a review queue.
What breaks in production
- Several issues in one message. “The sink leaks and the bedroom light flickers” needs two work orders with two trades. Ask the model to return a list, not one item.
- Under-triaged leaks. A tenant downplays a ceiling stain that is an active leak from upstairs. Water plus ceiling always goes to urgent, and the upstairs unit gets checked.
- Roommate duplicates. Two tenants report the same broken dryer. Match on unit, trade and time window before creating a second order.
- Unresponsive vendors. A dispatch with no acceptance after a set time escalates to a backup vendor or the coordinator.
- Non-maintenance messages. Rent disputes, lease questions and legal threats arrive on the maintenance line. The AI does not respond to them and routes them to the manager.
- API access delays. Yardi partner approvals, or an AppFolio plan change to get write access, can take longer than the build. Plan for the review-screen fallback from day one.
Timeline and cost
Most portfolios go live in two to four weeks. Lumeor builds this in the range of $5,000 to $12,000. The low end is text and email intake with emergency screening and work orders through a review screen. The high end adds direct API work order creation, vendor dispatch, reminders, close-out surveys and multiple languages. Running costs are SMS fees from your messaging provider (check current pricing) and model usage per conversation, usually small. See the AppFolio and Buildium tool pages for connection details, and AI after-hours answering for the phone side.
How to measure success
- Time from request to first reply and to vendor assignment
- Emergency response time, measured separately from routine
- Night pages that turned out not to be emergencies
- First-visit fix rate, which shows whether technicians arrive informed
- Repeat requests per unit per quarter
- Tenant “is this fixed?” replies that reopened a work order