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

ChannelProviderStatus
WhatsAppTwilio + Meta APIImplemented
VoiceVAPI / RetellImplemented
Web ChatDirect APIImplemented
EmailSendGridPlanned
SMSTwilioPlanned

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