Read → Find Gaps → Ask Resident → Capture Reply → Complete Ticket

Maintenance Missing Details Collector

Reads a maintenance request, works out what a dispatchable ticket is missing, and asks the resident the specific questions to fill the gaps, so the work order is complete before a tech is ever sent.

The Problem

"My sink is broken." The truck rolls. The story's half there.

Incomplete work orders. Techs arrive without the right information. Wasted site visits.

What Changes

Gaps filled before dispatch. The visit actually fixes it.

Asks the required questions before dispatch - which room, is there active water, can the tech access the unit - and adds the answers to the ticket. Work orders arrive complete.

Humans stay in control: Your coordinator decides what a complete ticket needs and dispatches it. The agent runs the back-and-forth that fills the gaps. It removes the chasing, not the dispatch.

HOW THE AGENT WORKS

TRIGGERLLMAPIDECISIONACTIONWAIT
TRIGGERRequest ArrivesNew maintenance request, any channel
LLMRead & Find GapsCompare to required fields for the category
DECISIONAnything Missing?
ACTIONAsk ResidentSend the specific missing-detail questions
WAITWait For Reply
LLMCapture AnswersParse the reply into the missing fields
DECISIONComplete Now?
ACTIONComplete TicketWrite the full work order, ready to dispatch
The agent doesn't decide what a complete ticket needs. Your coordinator does. The agent runs the chase that fills the gaps.

HOW TO BUILD IT

Three levels of depth. Pick the one that matches where you are.

For the ops person who needs to understand what's involved and brief their team.

Your RequestsPortal, SMS, email
The AgentWorkflow engine + LLM
Your PMSComplete work orders

WHAT YOUR TEAM PROVIDES ONCE

  • Required fields per category - what a complete ticket must have
  • Question templates - the approved wording for each missing field
  • Resident contact channels - how to reach them for answers
  • Max follow-up rule - how many times to ask before escalating
  • Escalation path - who picks up a request the resident never completes
What happens day-to-day: A resident sends a vague request. Instead of a tech rolling out to find half the story, the agent asks the two questions that were missing and fills them in. The coordinator dispatches a complete ticket and the truck roll actually fixes something.

For the IT person or technical lead who needs to scope the integration.

INQUIRY SOURCES

Resident portal
SMS
Email

WORKFLOW ENGINE (N8N)

Trigger
LLM - Find gaps
Branch - missing?
Send questions
Wait - reply
LLM - Capture answers
PMS API - Complete ticket

CONNECTS TO

PMS (Yardi / AppFolio)Read: required fields. Write: complete WO
SMS / email (Twilio / SMTP)Send questions, read replies
Resident portalRead: original request
Notifications (Slack / email)Escalate requests left incomplete
WITHOUT PMS API

Agent works from a fixed required-fields list and posts the completed ticket to a sheet. The chase still runs unattended.

WITH PMS API

Agent reads the category’s required fields live and writes a complete WO straight to the PMS. Best experience.

For the person who wants to build this agent step by step. Each node below maps to an n8n workflow node.

TRIGGERNode 1
Trigger - Request Arrives
Portal webhook + Twilio inbound + IMAP, normalised to one payload.
Output: { unit_id, resident_contact, channel, raw_message }
LLMNode 2
LLM - Find Missing Details
Compares the request to the required fields for its category and lists the gaps.
Output: { category, present_fields{}, missing_fields[] }
You check a maintenance request for completeness before dispatch.

Given the request and the REQUIRED FIELDS for its category, return:
- category: best guess at the category
- present_fields: object of fields already known
- missing_fields: list of required fields not yet provided (e.g. exact_location, access_permission, severity_detail, photo)

Respond ONLY with valid JSON.

REQUIRED FIELDS: {required_fields}
REQUEST: {raw_message}
INPUT
"My sink is broken."
OUTPUT
{
  "category": "plumbing",
  "present_fields": { "item": "sink" },
  "missing_fields": ["exact_location", "problem_detail", "access_permission", "active_leak"]
}
ACTIONNode 3
Send Missing-Detail Questions
Send the resident the specific questions for each missing field, using approved templates, on their channel.
Output: Questions sent. Awaiting reply.
WAITNode 4
Wait - Resident Reply
Wait for a reply, with one reminder after a set interval. Escalate after the max follow-up rule.
Output: Reply received, or escalated to coordinator after max attempts.
LLMNode 5
LLM - Capture Answers
Parse the resident’s free-text reply into the structured missing fields.
Output: { filled_fields{}, still_missing[] }
You read a resident's reply and fill in the missing maintenance fields.

Given the questions asked and the reply, return:
- filled_fields: object mapping each field to the answer
- still_missing: any field the reply did not answer

Respond ONLY with valid JSON.

QUESTIONS: {questions_json}
REPLY: {resident_reply}
OUTPUT
{
  "filled_fields": {
    "exact_location": "kitchen",
    "problem_detail": "faucet won't shut off, water running constantly",
    "access_permission": "anytime",
    "active_leak": true
  },
  "still_missing": []
}
DECISIONNode 6
Condition - Complete Now?
IF still_missing empty → complete the ticket. ELSE → ask again (within max attempts) or escalate.
Output: Branch: COMPLETE (write) or REASK / ESCALATE
APINode 7
HTTP Request - Complete Ticket
Write the full work order to the PMS with all fields, ready for dispatch.
Output: Dispatch-ready ticket created.
MVP vs Advanced — Where To Start
MVP — START HERE
  • Single channel (portal)
  • Gap detection vs fixed list
  • One round of questions
  • Keyword reply parsing
  • Completed ticket to a sheet
  • Escalate by email
ADVANCED — ADD LATER

    Full Video Walkthrough Coming Soon

    From a vague request to a dispatch-ready ticket - step by step.

    Register to be notified

    Everything on this page is free to learn.

    When you're ready to build — do it yourself or bring us in.

    OTHER AGENTS IN LEASING & MARKETING

    Classifies trade, sets priority from history, triggers correct dispatch
    Guides residents through safe checks before sending a tech
    Blocks rent-ready status until all work and QA is confirmed
    Catches duplicate tickets and flags recurring failures

    Frequently asked questions

    Maintenance Missing Details Collector is an AI agent that fills the gaps in a request before a tech is dispatched.
    "My sink is broken." The truck rolls. The story's half there. The Maintenance Missing Details Collector addresses this — it fills the gaps in a request before a tech is dispatched.
    No — your team stays in control. Your coordinator decides what a complete ticket needs and dispatches it. The agent runs the back-and-forth that fills the gaps. It removes the chasing, not the dispatch.