Contact Sales

All fields are required

Developers

HouseCall: An AI Real Estate Agent That Answers Every Lead

A voice-first demo for an AI real estate agent

Dani Plicka

HouseCall is an open-source AI real estate agent built on SignalWire AI that answers inbound calls 24/7, captures buyer profiles through a structured conversation, scores leads automatically, searches property listings, books appointments with SMS confirmation, and transfers hot leads to a human agent in real time. It uses a 12-step state machine, Trestle caller enrichment, and a transparent weighted lead scoring system, giving independent agents and small teams always-on lead response without hiring staff for nights and weekends.

An AI Real Estate Agent That Answers Every Lead

Every missed call is a missed commission. A buyer dials in at 9 PM, gets voicemail, and calls the next agent on the list. This is the problem HouseCall was built to solve, with a fully functional AI real estate agent demo that runs on the SignalWire AI Gateway (SWAIG) framework and handles inbound calls the way a skilled inside sales rep would.

HouseCall is a production-pattern voice agent with a real database, a real conversation state machine, lead scoring, Trestle caller enrichment, SMS confirmations, and live call transfer to a human agent when the moment is right. The full source is on GitHub.

Why AI is changing real estate lead response

Speed-to-lead is the single most important variable in real estate conversion. Studies like the research from MIT’s Dr. James Oldroyd show that responding to an inbound inquiry within five minutes dramatically increases the chance of a sale. The problem is that human agents can't be everywhere, and the economics of hiring staff to cover nights and weekends rarely work for independent agents or small teams.

This is how AI is changing real estate in the USA most visibly: through reliable, always-on AI lead generation. These are systems that pick up the phone, qualify the caller, search available inventory, book an appointment, and route hot leads directly to the agent in real time.

An AI real estate agent ensures the relationship starts instead of going to voicemail. And this demo will show you how to build one.

Capabilities of this AI real estate agent

The demo is built around a 12-step conversation state machine, from greeting the caller to scheduling a viewing to error recovery. The agent moves between steps based on caller intent, tool results, and explicit routing calls. Here's what happens on a typical inbound call.

Caller identification

Before the greeting is spoken, HouseCall runs a Trestle reverse-phone lookup (cached for 90 days). If the caller is recognized, they get a personalized welcome: "Hey Brian, welcome back! I see you have a viewing on March 15th at 2 PM." If they're new, the agent moves into lead capture mode.

Lead capture (new callers)

Seven structured questions gather the buyer profile: name, email, price range, property type, preferred neighborhoods, and buying timeline. The answers feed directly into lead scoring.

Lead scoring


Any caller scoring 60 or above is automatically qualified. That determination happens silently, in milliseconds, while the caller is still on the line.

Property search and speed tour

Once the profile is saved, HouseCall queries the listing database and begins a “speed tour,” presenting properties one by one in natural language. The caller can ask for more details, skip to the next property, or say they want to schedule a viewing. The agent maintains a tour index in call state, so there's no confusion about which property is being discussed.

AI real estate appointment booking

When a caller wants to schedule a viewing, the agent checks availability, proposes the time slot, and books the appointment, all within the same call. An SMS confirmation goes out immediately.

Live transfer

If the caller wants to speak with a human, or if the agent detects a high-value moment that warrants escalation, it initiates a live call transfer to the agent's phone. If the agent is unavailable, it schedules a callback and sends an SMS to both parties.

The 14 SWAIG tools under the hood

save_lead

Persists the gathered profile and computes lead score from global_data.

route_caller

Moves the conversation to the correct state machine step by intent enum.

search_properties

Queries active listings by price, type, beds, city, and neighborhood.

present_property / next_property

Drives the speed tour, presenting one listing at a time with full detail on request.

check_availability + book_appointment

Validates time slots and creates confirmed appointments with SMS confirmation.

transfer_to_agent / schedule_callback

Live transfer or booked callback — the human handoff when the moment demands it.

modify_appointment / cancel_appointment

Returning callers can reschedule or cancel without involving a human.

summarize_conversation

Logs outcome and summary post-call; cleans ephemeral state from the DB.

Returning caller experience

One of the details that makes HouseCall feel production-ready is how it handles returning callers. The phone number is checked against the leads table on every inbound call. If the caller is recognized, the entire lead-capture flow is removed from the conversation context. It simply doesn't exist.

The caller goes straight to the main menu with a personalized greeting that includes their upcoming appointments. This is how good AI for real estate leads should work: frictionless for people who've already been through the intake process.


Why it matters

Skipping a step and removing a step are different things. A skipped step can still be routed under the right conditions. A removed step cannot exist as a destination at all. This is how you guarantee that a returning caller can never accidentally be put through it again. It also keeps the AI's context window clean; instructions that don't apply to this call simply aren't there.

Lead qualification in five transparent lines

There's no machine learning involved in deciding whether a caller is a serious buyer. The entire qualification engine is a weighted sum anyone can read, audit, and adjust:


Why it matters

A score of 60 or above triggers automatic qualification. The weights are visible and editable. This is intentional transparency: the AI real estate agent makes a business decision on every call, and that decision should be something you can explain to a client.

Caller enrichment is silent and cached for 90 days

When Trestle enrichment is enabled, the reverse-phone lookup runs before the greeting is spoken, but the result is never exposed to the caller, and it's cached so the API is only called once per number ever:


The enriched data (owner name, email, address, coordinates) goes into global_data._trestle_context, an internal field the AI can't reference in conversation. It's used for two things only: proximity-sorting search results by the caller's home location, and silently validating the name and email they provide during intake.

Why it matters

Most demos call enrichment APIs on every request and surface everything they find. Neither is production behavior. Caching by caller phone number means a frequent caller never triggers a billable lookup twice. Keeping the data internal means the agent isn't awkwardly announcing that it already knows who you are — it just uses the information intelligently.

How to build an AI real estate agent with SignalWire

Setup is intentionally minimal. You need Python 3.10+, a SignalWire account with a phone number, and about ten minutes.

Clone the repo, create a virtual environment, copy .env.example to .env, fill in your SignalWire project credentials and agent details, and run python trenton.py. With SEED_PROPERTIES=true, the database auto-populates with 40+ sample listings so you can test property search immediately. A browser dashboard at the same port gives you full CRUD access to leads, listings, appointments, and call history.

For production, the repo includes a Gunicorn command using the Uvicorn worker class; one worker is intentional given SQLite's concurrency model.

Feel free to bring your questions to our developer community on Discord.

Frequently asked questions

What does an AI real estate agent do?

An AI real estate agent is a voice-powered system that handles inbound calls on behalf of a human agent, capturing buyer information, searching available listings, scheduling viewings, and routing qualified leads to a human when needed. It responds instantly, at any hour, without requiring staff to be on call.

Can an AI real estate agent replace a human agent?

No, and this demo isn’t designed to. An AI real estate agent handles the intake and qualification work that happens before a human relationship begins. It captures leads, answers initial questions, and books appointments, but the negotiation, trust-building, and closing still happen with a human agent. The AI ensures the conversation starts instead of going to voicemail.

How does AI help with real estate lead generation?

AI improves real estate lead generation by eliminating the response time gap that kills most inbound leads. MIT research found that responding within five minutes makes you 100 times more likely to qualify a lead than waiting 30 minutes. An AI agent responds in seconds, qualifies the caller automatically, and delivers a scored lead profile to the human agent before they make their first callback.

How is AI changing real estate in the USA?

AI is changing real estate in the USA primarily through lead response speed and 24/7 availability. The average US real estate agent takes over 15 hours to respond to a new inquiry, according to Inman's 2025 survey. AI agents respond in seconds, which matters because NAR data shows that 78% of buyers work with the first agent who responds. AI is also improving lead qualification, property search, and appointment management, removing the administrative layer so human agents can focus on relationships and closing.

Related Articles