Read → Categorise → Score Severity → Set Priority → Tag

Work Order Triage and Priority Tagger

Applies one consistent taxonomy to every work order: category, severity, and priority. The same request gets tagged the same way no matter who logs it, so SLAs hold and dashboards stay clean.

The Problem

Tagged five different ways. The SLA clock starts wrong.

Priority tagging is inconsistent. SLA reporting is unreliable. The same issue gets different urgency from different people.

What Changes

One taxonomy, every ticket. Reporting you can trust.

Applies a consistent taxonomy - category, severity, priority - based on rules, not judgment calls. Your dashboards become trustworthy.

Humans stay in control: Your supervisor sets the taxonomy and overrides any tag. The agent applies the rules consistently across every ticket. It removes the inconsistency, not the standard.

HOW THE AGENT WORKS

TRIGGERLLMAPIDECISIONACTIONWAIT
TRIGGERWork Order CreatedNew WO from any intake channel
LLMRead & CategoriseAssign category from the taxonomy
LLMScore SeverityRate impact on habitability and damage
APICheck SLA RulesPull the SLA for this category
LLMSet PriorityCombine severity + SLA into a priority
DECISIONConfident?
ACTIONWrite TagsApply category, severity, priority to the WO
ACTIONFlag Low ConfidenceSurface uncertain tags for review
The agent doesn't set the standard. Your supervisor does, and overrides any tag. The agent just applies it the same way every time.

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 Work OrdersAny intake channel
The AgentWorkflow engine + LLM
Your PMSTagged, sorted tickets

WHAT YOUR TEAM PROVIDES ONCE

  • Your taxonomy - the categories and sub-categories work is sorted into
  • Severity definitions - what makes something habitability vs cosmetic
  • SLA rules - the response and completion targets per category
  • Priority matrix - how severity and SLA combine into a priority
  • Examples - a sample of correctly tagged past tickets
What happens day-to-day: Work orders come in from every channel, tagged differently by every person. The agent reads each one and applies the same taxonomy every time. Your reporting stops lying to you and your SLA clock starts on the right priority.

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

INQUIRY SOURCES

Portal WO
Email / phone WO
Intake agent feed

WORKFLOW ENGINE (N8N)

Trigger
LLM - Categorise
LLM - Score severity
PMS API - SLA lookup
Rules - Priority matrix
PMS API - Write tags
Flag low confidence

CONNECTS TO

PMS (Yardi / AppFolio / RealPage)Read: WOs, SLA config. Write: tags
CMMS (Property Meld etc.)Optional - sync tags and priority
Notifications (Slack / email)Flag low-confidence tags to a supervisor
BI / dashboardClean tags feed accurate reporting
WITHOUT PMS API

Agent tags from the request text and posts the tags to a sheet for import. SLA lookup uses a static table. Still removes the inconsistency.

WITH PMS API

Agent reads live SLA config and writes tags straight onto the work order. Reporting is clean in real time. 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 - Work Order Created
Webhook from the PMS on new WO, or a queue poll on the WO table.
Output: { wo_id, description, unit_id, channel, created_at }
LLMNode 2
LLM - Categorise & Score Severity
OpenAI GPT-4 or Anthropic Claude. Assigns category and severity from your definitions.
Output: { category, sub_category, severity, severity_reason }
You classify property maintenance work orders.

Return:
- category: one of {category_list}
- sub_category: a short specific label
- severity: habitability / damage_risk / functional / cosmetic
- severity_reason: one line

Use SEVERITY DEFINITIONS exactly. Do not invent categories.
Respond ONLY with valid JSON.

SEVERITY DEFINITIONS: {severity_definitions}
WORK ORDER: {description}
INPUT
"AC not cooling, apartment is 84 degrees inside, elderly resident."
OUTPUT
{
  "category": "hvac",
  "sub_category": "no cooling",
  "severity": "habitability",
  "severity_reason": "No cooling in extreme heat with vulnerable resident."
}
APINode 3
HTTP Request - SLA Lookup
GET the SLA target for the assigned category from PMS config or a static SLA table.
Output: { response_sla_hours, complete_sla_hours }
LLMNode 4
LLM - Set Priority
Combine severity and SLA into a final priority using your matrix.
Output: { priority, priority_reason, confidence }
You set work order priority from severity and SLA.

Use the PRIORITY MATRIX. Return:
- priority: emergency / high / medium / low
- priority_reason: one line
- confidence: high / medium / low

PRIORITY MATRIX: {priority_matrix}
SEVERITY: {severity_json}
SLA: {sla_json}

Respond ONLY with valid JSON.
OUTPUT
{
  "priority": "emergency",
  "priority_reason": "Habitability + vulnerable resident = top priority regardless of SLA clock.",
  "confidence": "high"
}
DECISIONNode 5
Condition - Confident?
IF confidence = high → write tags. ELSE → write tags but flag for supervisor review.
Output: Branch: CONFIDENT (write) or UNCERTAIN (write + flag)
APINode 6
HTTP Request - Write Tags
PATCH the work order with category, severity, priority, and the reasons as a note.
Output: Work order tagged. Reporting and SLA clock now correct.
ACTIONNode 7
Flag Low Confidence
For uncertain tags, notify the supervisor with the WO and the agent’s reasoning.
Output: Supervisor notified to confirm or correct the tag.
MVP vs Advanced — Where To Start
MVP — START HERE
  • PMS webhook trigger
  • LLM categorise + severity
  • Static SLA table
  • Fixed priority matrix
  • Tags to a sheet
  • Low-confidence flag by email
ADVANCED — ADD LATER

    Full Video Walkthrough Coming Soon

    From raw ticket to consistent tags - 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

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

    Frequently asked questions

    Work Order Triage and Priority Tagger is an AI agent that applies consistent category and severity rules across all tickets.
    Tagged five different ways. The SLA clock starts wrong. The Work Order Triage and Priority Tagger addresses this — it applies consistent category and severity rules across all tickets.
    No — your team stays in control. Your supervisor sets the taxonomy and overrides any tag. The agent applies the rules consistently across every ticket. It removes the inconsistency, not the standard.