How tenants report maintenance issues
Updated 2026-05-15
How the tenant reports it
PropFlow has no "raise a ticket" form for tenants. Instead they describe the issue in their own words via one of two channels:
WhatsApp (recommended)
The tenant texts PropFlow's WhatsApp number — the same one they used to register. They type out the issue ("the kitchen tap won't stop dripping"), optionally attach photos, and send. That's it.
Tenant portal — Messages page
If the tenant prefers web, they sign in to /tenant and open the Messages page. They write a free-text message to you and send. Same triage flow runs.
The AI triage flow
When the message arrives, PropFlow runs two classifiers in order:
1. Safety classifier (keyword match)
Looks for emergency keywords: gas leak, fire, medical emergency, no heat, broken glass, electric shock, structural collapse, intruder, etc. If matched: urgency is set to 5 (life-threatening), the tenant gets an emergency acknowledgement ("a contractor will contact you within 2 hours; if in immediate danger call 999; for gas: 0800 111 999"), and you're notified instantly.
2. Claude-based classifier
For non-emergencies, Claude reads the message body and any attached photos and returns a structured JSON classification:
- Issue type — one of:
plumbing,electrical,gas,structural,pest,appliance,heating_cooling,access_security,damp_mould,general,other. - Required trade — one of:
plumber,electrician,gas_engineer,builder,pest_controller,appliance_engineer,hvac,locksmith,damp_specialist,handyman,general_contractor. - Urgency score — 1 to 5:
- 5 — Life-threatening / immediate (gas leak, fire, total loss of heating in winter, structural collapse)
- 4 — Must fix within 24 hours (no hot water, no heating in cold weather, severe leak)
- 3 — Fix within 3–5 days (sluggish drain, intermittent appliance fault)
- 2 — Fix within 14 days (cosmetic damp, slow tap drip)
- 1 — Routine / cosmetic (chipped paint, loose handle)
- Issue summary — a 1–2 sentence plain-English summary of the problem, used in your job list.
- Estimated duration — optional rough estimate.
Fallback if Claude is unavailable
If Claude's API is down or returns malformed output, a state-machine fallback returns a safe default classification (issue_type: other, urgency: 3, requires_human_triage: true) and the job goes straight to your queue for manual triage.
Photos
- Max file size: 5 MB per file.
- Accepted formats: JPEG, PNG, WebP.
- Max count: not enforced — tenants can send as many as they like in WhatsApp.
- Storage: photos are stored privately in your organisation's bucket; access is via signed URL.
- Photos feed into Claude's classification — they often clarify ambiguous text descriptions.
What the tenant sees back
An automatic acknowledgement reply, tailored to the urgency:
- Emergency (urgency 5): "We have received your emergency report and a contractor will contact you within 2 hours. If you are in immediate danger, please call 999. For gas: 0800 111 999."
- Normal (urgency 1–4): "Thank you for reporting this issue. We have logged your request and our team will be in touch shortly to arrange a convenient time for a repair."
The tenant doesn't see a ticket ID, a status page, or a dashboard — they just see your replies as the work progresses. The conversation thread on WhatsApp is the tenant's view of the job.
How you, the landlord, get notified
Instantly. PropFlow sends a notification through your preferred channel (WhatsApp / SMS / email — set in Settings) the moment the job is created. The notification includes:
- The property address
- The AI's issue summary, type, and urgency score
- A link to
/jobs/{id}where you can see the full conversation, photos, and dispatch options
What you do next
Open the job in /jobs and run the triage / dispatch flow. See Triage and approve a maintenance job.
Common gotchas
- Tenant texts from a number not on the tenancy. PropFlow can't match them to your portfolio. Update the tenancy with their correct phone, then ask them to resend.
- Photos too large. If the tenant sends a photo over 5 MB, WhatsApp typically compresses it automatically; if it still fails, ask them to take a fresh shot.
- Tenant describes multiple issues in one message. Claude tries to pick the dominant one, but you may need to split into multiple jobs in the triage view.
Next steps
- Triage and approve a maintenance job — what you do on the landlord side once a job is in.
- Invite a tenant — make sure your tenants are registered first.
FAQ
- Why doesn't PropFlow have a 'report a maintenance issue' form for tenants?
- Because tenants don't typically pick categories accurately. 'The boiler isn't working' could be plumbing, electrical, gas, or appliance — and tenants don't know which. PropFlow asks them to describe the issue in their own words (WhatsApp or web message), then uses Claude to classify it correctly and assign urgency. The result is better triage than asking the tenant to self-categorise.
- What if AI gets the classification wrong?
- You override it. The job lands in your /jobs queue with the AI's suggested category, trade, and urgency — but every field is editable. If the AI tagged 'plumbing' but it's actually 'electrical', change it before dispatch. The override is logged so the model can be tuned over time.
- Are tenants charged for messaging the WhatsApp number?
- Not by PropFlow. Standard WhatsApp data charges from their mobile provider apply, but messaging the PropFlow number is no different cost-wise from any other WhatsApp chat for the tenant.
- What happens with safety emergencies?
- A keyword-based safety classifier runs first, before the AI triage. Words like 'gas leak', 'fire', 'medical emergency' bump the urgency to 5 (life-threatening) and trigger an immediate response: the tenant gets a message pointing to 999 and the gas emergency line (0800 111 999) for gas, and you're notified instantly.