Case Study 02
Portfolio build — a complete, working system built and measured by Altus Initiatives to demonstrate this capability. Performance metrics below are measured from the build; agency-impact figures are projected for a representative brokerage.
Client-facing support is one of the highest-volume, most repetitive workloads in any real estate agency. The same questions arrive every week — listing details, process questions, appointment scheduling, document status, policy clarifications. Each one requires someone to read it, locate the answer, and write a reply — even when the answer hasn't changed in months.
For agencies running lean teams, this creates a compounding problem. Staff spend a disproportionate amount of time on questions that could be handled automatically, leaving less capacity for the complex, relationship-driven work that actually requires a licensed professional. Response times suffer. Quality becomes inconsistent. And the team gets pulled into administrative work that doesn't require their expertise.
The alternative — a generic chatbot — trades one problem for another. Rule-based bots can't handle anything outside their scripts. AI systems without grounding in real business data give confidently wrong answers — inventing statuses, misquoting policies, eroding the client trust that real estate businesses run on.
What's needed is an agent that can access real business data, answer accurately, and know when it's out of its depth — and hand off gracefully when it is.
Client inquiries are now handled automatically — retrieved, answered, and resolved or escalated without any manual intervention — in seconds. When a client inquiry arrives, the agent activates and works through the following sequence:
A part-time role, recovered
For an agency handling 30–50 client inquiries per week, this system recovers the equivalent of a part-time administrative role — returned entirely to client-facing and revenue-generating work.
The system follows a webhook-trigger pattern with the AI agent at the center, connecting to three data tools and routing output through a confidence evaluation branch:
Inbound Client Inquiry (Webhook)
│
▼
AI Agent
│
├── Tool: FAQ Lookup
├── Tool: Transaction Status Lookup
└── Tool: Client History
│
▼
Response + Confidence Score (1–10)
│
▼
Confidence Evaluation
│
├── Score ≥ 7 (Resolve)
│ │
│ ├── Log to Support Record
│ └── Deliver Response
│
└── Score < 7 (Escalate)
│
├── Team Notification (full context)
├── Log to Support Record (escalated)
└── Deliver Escalation Confirmation
Full architecture documentation available upon engagement.
| Component | Tool |
|---|---|
| Workflow automation | n8n |
| AI agent and response generation | Anthropic Claude Haiku |
| FAQ knowledge base | Google Sheets |
| Transaction status lookup | HTTP Request to business data source |
| Client history | Google Sheets |
| Conversation memory | n8n Window Buffer Memory (10-message window) |
| Escalation notifications | Slack |
| Interaction logging | Google Sheets |
Confidence self-scoring as the escalation trigger. Rather than relying on keyword matching or rule-based routing to decide when to escalate, the agent evaluates its own response quality before delivery. A score below 7 triggers escalation automatically — catching uncertainty that rule-based systems miss entirely, because it operates on the quality of the answer rather than the content of the question. For a real estate agency where a wrong answer about a transaction or a policy can damage a client relationship, this distinction matters significantly.
Three separate data sources over a single knowledge base. FAQ content, transaction data, and client history are kept as distinct tools rather than merged into one source. This mirrors how a skilled team member would work — checking the relevant system for each type of question, rather than searching a single undifferentiated knowledge base. It also keeps each data source independently maintainable: updating a policy document doesn't require touching the transaction lookup, and vice versa.
Escalation with full context, not just a flag. When a case routes to a human, the notification includes the original inquiry, the agent's attempted response, and the confidence score. The team member has everything needed to act immediately. A bare escalation flag that sends someone hunting for context defeats the purpose of the system — and in a client-facing context, that delay is visible.
Conversation continuity across sessions. Client support conversations are rarely single exchanges. A question about a listing is followed by a question about the next step. The session memory window allows the agent to handle natural multi-turn conversations without losing context — delivering an experience consistent with speaking to a member of the team, not a form submission.
This is the same architecture we build for clients. The first step is a 30-minute discovery call — no pitch, no commitment.
Book a discovery call