Tenant Engine
Status: Accepted Owner: @bilal Last Updated: 2026-02-15
The core 24/7 automated tenant support system.
What It Does
- Automated responses to tenant queries
- Issue reporting through multiple channels
- 24/7 availability without landlord intervention
- Regulatory-compliant communication logging
Channels
| Channel | Provider | Status |
|---|---|---|
| Twilio + Meta API | Implemented | |
| Voice | VAPI / Retell | Implemented |
| Web Chat | Direct API | Implemented |
| SendGrid | Planned | |
| SMS | Twilio | Planned |
Tenant Identification
flowchart TD A[Inbound Contact] --> B{Phone in tenants table?} B -->|Yes| C[Identified: Link to tenant] B -->|No| D{Email in tenants table?} D -->|Yes| C D -->|No| E[Unknown Contact] C --> F[Process with AI] E --> G[Flag for manual linking] G --> F
Identity states: UNIDENTIFIED -> IDENTIFIED -> CONFIRMED -> ACTIVE
Issue Auto-Creation
The AI creates issues when:
- Maintenance problem detected (“My boiler isn’t working”)
- Emergency keywords detected (“flood”, “fire”, “gas leak”)
- Explicit request (“I need someone to fix…“)
Issue data sourced from: AI classification (category, urgency), conversation context (tenant, property), channel metadata.
Conversation Lifecycle
active -> resolved | escalated -> archived
Resolution types: issue_created, self_resolved, information_only, no_action, escalated
Security & Compliance
- All conversations encrypted at rest
- Media in private buckets with signed URLs
- Consent captured per channel (voice recording notice, WhatsApp opt-in)
- Retention: Full conversations 1 year, summaries 3 years, metadata 7 years
See also: RAG Pipeline, Issue Lifecycle, Conversation Orchestration