- Every repair request read and classified on arrival, not when someone reaches it
- Potential damp, mould and safety hazards escalated by rules with statutory clocks
- Significant decisions about tenants kept with people, with AI as support
- Each step of each case traceable for complaints and regulators
- A clear route for tenants to challenge outcomes and get a human review
Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.
The situation
A housing association in England managed tens of thousands of homes. Repair requests arrived by phone, web form, email and through housing officers, and were keyed into the housing management system by a contact centre. At busy times, requests waited days to be read. A message mentioning "black marks on the bedroom wall" or "the baby keeps coughing" could sit in the same queue as a dripping tap.
Why now. Two sets of rules changed the stakes. Awaab's Law requires social landlords to investigate and fix damp, mould and serious hazards within set timescales, with the first phase in force since October 20255. And the Data (Use and Access) Act replaced the UK GDPR's rules on automated decisions with new Articles 22A to 22D from 5 February 2026, permitting more automated decision-making but with safeguards such as information, the right to contest and human intervention23. The ICO has said it is working on updated guidance and a code of practice on AI and automated decisions1, and in October 2026 it set out its expectations for AI agents and called for views4. The association needed speed and safeguards together.
What had to be true
- Every request read on arrival, whatever the channel.
- Hazards escalated by rules, with statutory clocks that start when the landlord becomes aware.
- People decide what significantly affects tenants; AI classifies, summarises and suggests.
- Every step traceable, so complaints and the Housing Ombudsman can see what happened and why.
- Tenants can challenge an outcome and reach a person.
Architecture
The data flow, end to end
- ReceiveA request arrives by any channel and gets a case ID at once
- ClassifyThe agent extracts trade, location, urgency signals and possible hazards
- Apply rulesHazard indicators start statutory clocks and jump the queue
- ReviewA person confirms priority for hazards and anything affecting vulnerable tenants
- ActA work order is raised; the workflow tracks it to completion
- TellThe tenant is told what happens next and how to challenge it
The hard part: long-running cases that must not get lost
A repair case is not a single model call. It can run for weeks: classify, wait for a surveyor, wait for a tenant to confirm access, raise a job, wait for a contractor, check it is fixed. Agents built as simple request-and-response loops lose state when a service restarts, and nobody notices until a statutory deadline has passed.
The team ran each case as a durable workflow. The workflow engine records every step, so a case resumes exactly where it was after a failure, and it can wait days for a person or a contractor without holding resources. Tracing had to follow the whole case, not just individual calls; the OpenTelemetry and Dapr communities have worked on carrying trace context across the workflow engine's internal boundaries so steps form one coherent trace6.

The second hard part was deciding where automation stops. Classification and routing of ordinary repairs were automated end to end. Anything that could significantly affect a tenant, such as refusing a repair, deciding it was the tenant's responsibility or flagging possible vulnerability, went to a person with the agent's summary and evidence. That kept the association comfortably within the safeguards the new rules expect, and made challenges easy to handle3. See structured outputs for how the classifications were kept reliable.
Automate the reading, the routing and the reminders. Keep people on the decisions a tenant might want to argue with.
How it ran
- Hazard definitions
- Review queues and roles
- Tenant communications
- Intake and classification
- Durable workflows
- Tracing and evaluations
- DPIA
- ADM safeguards
- Challenge route
- Unified intake
- Classification in shadow
- Evaluation set
- Hazard rules
- Statutory clocks
- Review queues
- Durable workflows
- Contractor integration
- End-to-end tracing
- Tenant updates
- Challenge route
- Quarterly review
Key decisions and trade-offs
| Decision | Alternative | Why |
|---|---|---|
| Rules own statutory priorities | Let the model rank urgency | Deadlines must be predictable and auditable |
| People decide significant outcomes | Fully automated decisions with safeguards | Lower risk and easier challenges |
| Durable workflows | Agent loops with a database | Cases survive failures and long waits |
| Structured outputs | Free-text summaries | Reliable routing and measurable accuracy |
| Shadow mode before routing | Switch on and monitor | Find misses without risk to tenants |
What I'd do again, and differently
Again: let housing staff define hazards and vulnerability in their own words, then turn those into rules and test cases. Differently: bring the complaints team in from the start. Their cases were the best test set we had. Related: evaluating AI agents, agents as users of enterprise systems, UK cyber resilience readiness and the UK page.
If you are bringing AI agents into public-facing services in the UK, see my AI architecture work, or analyse your challenge and bring the result to a call.
- 1
- 2
- 3
- 4AI agents and UK data protection law: ICO sets out its expectations and calls for viewsFreshfields · Oct 2026
- 5Awaab's Law: guidance for social landlordsGOV.UK · 2025
- 6Improving Async Workflow Observability in DaprOpenTelemetry blog · 21 Jan 2026