Approach
Property management is fundamentally a routing problem — the right request has to reach the right contractor with the right context, fast. Instead of a monolithic CRM integration, I built small n8n workflows chained together, each one responsible for a single state transition. That makes the system trivially debuggable and lets the client add new routing rules without touching code.
Problem
The client was manually triaging maintenance tickets: reading each one, deciding category, picking a contractor, chasing updates, and writing landlord reports by hand. Turnaround was days. Mistakes were frequent.
How I built it
- ▸Stage 1: webhook ingest from the tenant portal.
- ▸Stage 2: AI categorisation via OpenRouter/DeepSeek with a strict JSON schema.
- ▸Stage 3: contractor selection against a capability matrix.
- ▸Stage 4: dispatch notification + acknowledgement loop.
- ▸Stage 5: auto-generated landlord report at job completion.
Outcome
- →Manual processing cut from days to minutes.
- →Clear audit trail for every maintenance request.
- →Reusable template now applied to a second client (10Ninety).
Stack
Links