1. Maintenance request → triage, dispatch and vendor approval
A tenant or member reports a fault — AC not cooling, a leak, a jammed door — on WhatsApp or a portal. Today someone reads it, guesses the category, decides whether it needs an in-house handyman or a paid vendor, and manually raises a work order. Out of hours it just waits.
Trigger: WhatsApp / Webhook (member portal maintenance request)
How the workflow runs
- Trigger
Request comes in. A WhatsApp trigger (or a Webhook from your member/tenant portal) starts the flow the moment a fault is reported.
- Agent
Triage + categorize. An Agent node classifies the issue (electrical / plumbing / HVAC / access / cleaning), sets a priority, and drafts a clear work-order summary from the member's own words.
- Knowledge
Ground it in the SLA + asset book. A Knowledge node holds your priority matrix, SLA response times and the site's asset/equipment list, so priority and routing follow policy — not a guess.
- Device
Auto-resolve if it's a controllable asset. For faults on building IoT (a meeting-room AC left off, lighting/HVAC schedule), a Device Control node can apply the fix directly — e.g. set the HVAC setpoint — before ever raising a work order.
- Condition
In-house or paid vendor?. A Condition node splits the request: routine in-house tasks go straight to dispatch; anything needing a paid external vendor branches to approval.
- Approval
Manager approves vendor spend. Any work order that carries vendor cost pauses at an Approval node — a facilities manager signs off the spend before a paid job is raised. This is the money gate.
- Tool (MCP)
Raise the work order + notify. A Tool (MCP) node creates the ticket in your CAFM/CMMS and assigns the technician; an Output node confirms back to the member with a ticket number and expected window.
Channels & connectors
- Webhook
- Knowledge base
- Device Control
- Approval / HITL
- Tool (MCP → CAFM/CMMS)
Outcome
Every maintenance request is categorized, prioritized and either self-resolved or turned into a tracked work order in seconds, day or night — with paid vendor work held for a human sign-off.
Why it helps
Removes the read-classify-raise-by-hand loop and the out-of-hours wait, while the decision to spend on an outside vendor stays with a manager.
Build spec
1 agent — 1 triage agent; the Device Control auto-fix, the in-house/vendor split, the spend approval and the CAFM write are workflow nodes.
System prompt (paste-ready)
You are a facilities triage agent for {{site}}. From a member's maintenance message, output strict JSON {category (electrical|plumbing|hvac|access|cleaning|other), priority (P1|P2|P3 per the SLA matrix in Knowledge), work_order_summary (max 3 lines, factual), controllable_asset: boolean, needs_paid_vendor: boolean, location}. Set priority ONLY from the Knowledge SLA matrix, never invent one. Mark needs_paid_vendor=true whenever the fix likely requires an external contractor. You never approve spend and never dispatch a paid vendor yourself — you only triage.MCP connectors
- CAFM / CMMS (work-order system) — via a Tool (MCP) node (no first-party connector)
- Member/tenant portal — inbound via Webhook trigger
- WhatsApp — request + confirmation channel
Built-in tools
- knowledge_search (SLA/priority matrix + site asset list)
- http_request (create/assign work order)
Guardrails
- No paid vendor job is raised without the Approval node — the agent flags needs_paid_vendor, a manager approves the spend
- Priority is set only from the Knowledge SLA matrix, never guessed — so P1 emergencies aren't under-ranked
- Device Control is scope-locked to controllable building assets on this site; it can adjust a setpoint but never unlock access or override a safety system
Cost strategy
The per-request triage agent runs on an economy tier — it's a short classify-and-summarize pass, and it's the only agent that fires. Device auto-resolve and in-house routing close cheap requests with zero vendor cost; a premium model is never needed here, so cost stays flat per request regardless of volume.
Output & delivery
Agent emits the triage JSON → a Device Control node auto-fixes controllable-asset faults where it can → the Condition node routes in-house vs paid vendor → vendor spend waits at the manager Approval node → on approval a Tool node creates the CAFM/CMMS work order and an Output node confirms the ticket number + window to the member on WhatsApp.