AI Agents & Automation

OpenClaw Sales Agent

A WhatsApp Agent Running the Whole Property Lead Journey

A conversational agent that qualifies property leads on WhatsApp, recommends deduplicated listings across several data sources, books viewings from live calendar slots and dispatches reminders.

Industry
Real Estate
The problem

Property sales teams lose inbound WhatsApp leads to response delay. Qualification, listing research, booking and reminders are all time-sensitive work that stops happening when an agent is out showing a property.

  • Inbound enquiries arrive outside working hours and go cold
  • Qualification questionnaires lose leads on a messaging channel
  • The same listing appears repeatedly across different data sources
  • A strict search that returns nothing ends the conversation
  • Booked viewings are missed without reminders nobody has time to send
What we built

A tool-calling agent over the conversation log that qualifies leads from context, searches and deduplicates listings across sources, books viewings against a live calendar and runs reminder jobs on a schedule.

  • A watcher on the interaction log extracting buyer profile data from conversation context
  • Unified listing search across several property APIs with deduplication before output
  • Off-plan matching that relaxes budget criteria when no strict match exists
  • Live calendar slot retrieval, customer selection, then a booking record and confirmation
  • Cron routines for daily listing sync and 24-hour and 1-hour reminder dispatch
  • Supporting decision flows for mortgage pre-qualification and visa checks

How it was built

Leads go cold while the agent is out on a viewing

Inbound property enquiries arrive at all hours on WhatsApp, and the work that gets dropped is always the same: qualification, follow-up, and reminding someone about the appointment they booked. None of it is difficult and all of it is time-sensitive.

Extract the profile from the conversation

A watcher consumes the conversation log and extracts buyer profile data from context rather than asking a form's worth of questions. Budget, area and bedroom count arrive in the way people actually write them, and a qualification questionnaire on WhatsApp loses the lead.

An empty result set is a lost lead

Listing search runs unified across several property data sources with deduplication, so the customer sees one clean set rather than the same apartment three times. When a strict match returns nothing, off-plan matching relaxes the budget criteria instead of returning an empty screen.

Booking and reminders as scheduled jobs

Calendar slots are fetched live, the customer picks one, and a booking record plus confirmation is written. Cron routines keep listings synced and dispatch reminders at 24 hours and 1 hour against the booking window. The reminders are the part with the clearest return, and the part most likely to be forgotten manually.

Before
  • Enquiries answered only during working hours
  • Duplicate listings shown across data sources
  • Empty results when no strict match existed
  • Viewing reminders sent manually or not at all
After
  • Leads qualified from conversation context around the clock
  • One deduplicated listing set per enquiry
  • Relaxed-criteria fallback instead of an empty result
  • Bookings confirmed and reminded automatically
Stack
Agent & Backend
Node.jsTool-invocation architectureLanguage detection
Data
SupabasePostgreSQL
Integrations
Google Calendar APIMulti-source property APIsWhatsApp messaging runtime
Operations
Cron sync jobsScheduled reminder dispatch