Deployments
Zobique Labs engagement·2025Live

AI voice agent for real-estate lead qualification

A real-estate team was paying people to make the same qualifying call hundreds of times. Most calls ended in 'not interested' or no answer, and the interesting leads were a small fraction of the total.

  • Python
  • Telephony / speech APIs
  • LLM dialogue
  • Calendar / CRM integration

The constraint

A real-estate team was spending people-hours making the same first qualification call again and again. Most calls ended with no answer, not interested, or a very short conversation. The interesting leads were a small fraction of the total, but those were the ones the sales team actually needed to spend time on.

Real-estate lead calling looks simple until you try to automate it. The script is repetitive, but the conversation isn't. People interrupt. They ask questions outside the script. Some don't understand who is calling. Some are busy. Some say they'll call back and never do.

And because this is a phone call, latency becomes very noticeable. A two-second pause in a chatbot is nothing. On a phone call, it feels like the system is broken.

The goal wasn't to build a human-like AI salesperson. It was much simpler: let the agent handle the repetitive first interaction and get a human involved when there is actually something worth following up on.

What I built

The agent handles the first call from start to finish. It places the call, introduces itself, asks a short set of qualification questions, adapts based on the lead's responses, captures requirements from interested leads, books a follow-up on a real human's calendar, and records the outcome and a conversation summary.

The important part was not making the conversation infinitely flexible. It was keeping the agent bounded enough to be reliable. For an interested lead, we wanted structured information a salesperson could actually use. For everyone else, we wanted a clean outcome instead of another manual follow-up task.

Source is public: Risabkshetri/AI-Telecalling.

What broke

  • Latency kills a phone call. The model can be intelligent and the call can still feel terrible. We spent more time on time-to-first-audio and the speech pipeline than on squeezing another few points of intelligence out of the model. For voice, responsiveness is part of intelligence.
  • Real calls are messy. The demo worked; real calls were different. People talked over the agent. There was background noise, hold music, an IVR answering instead of a person, and sometimes just silence. The happy-path conversation was the easiest 20% of the problem.
  • Knowing when to stop matters. An agent shouldn't keep trying to save every conversation. If someone is clearly uninterested, the best action is often to thank them, end the call, and record the outcome. We needed explicit rules around disengagement, retries, silence, and handoff, and that turned out to be as important as the dialogue itself.

Outcome

The system handled the first qualification call and separated the leads that needed human attention from the ones that didn't. The useful output wasn't just a transcript: an interested lead moved toward a human follow-up with structured requirements attached, while the rest came back with a clean outcome and notes instead of another manual task in the queue.

What I'd redesign

If I were rebuilding it today, I wouldn't start by making the agent more conversational. I'd start with the voice pipeline and failure handling, and optimise for:

  1. Faster time-to-first-audio.
  2. Better interruption detection.
  3. More deterministic call-state management.
  4. Stronger handling of silence, IVRs, and call drops.
  5. Clearer confidence thresholds for human handoff.
  6. Better structured outputs for the CRM.

The biggest lesson: voice agents aren't chatbots that happen to speak. A phone conversation has its own engineering constraints. Latency, interruptions, silence, turn-taking, and knowing when to stop are not edge cases. They are the product.

Outcome

A voice agent makes the first qualifying call, books the interested leads, and hands the rest back to the sales team with structured notes.