← All work
Growth AI Workflows GTM Engineering Funnel Optimization

AI Lead Qualification
Engine

WhatsApp AI that qualifies every inbound lead in conversation: extracts intent, budget, and timing signals, delivers brochures instantly, and routes warm prospects to sales. Replaced a manual, inconsistent process with a structured, scalable GTM layer.

Company
Paradyse Homes
Role
Automations & Growth Lead
Stack
OpenAI · HubSpot · WhatsApp API · Make
Channel
WhatsApp
0 min
Brochure delivery: instant on signup
20+ hours
Manual work saved per week
24x7
Lead coverage and nurturing
01 · Overview

The problem it solved

Paradyse Homes sells fractional property co-ownership in Bali. Every inbound lead arrived with a different level of awareness, intent, budget, and readiness to buy. The sales team handled each one manually: same call, same brochure, same response time regardless of signal quality.

Before
  • Manual brochure delivery: often delayed hours
  • Sales called every lead with the same pitch
  • No qualification data before the first call
  • Hot leads and tyre-kickers treated identically
  • Follow-ups arbitrary, not intent-based
After
  • Brochure delivered instantly on WhatsApp
  • AI qualifies budget, intent, timing in conversation
  • Sales receives scored, context-rich leads
  • Suppressed follow-ups for uninterested contacts
  • Human handoff on complex or high-intent signals
02 · Scope

What the bot is actually responsible for

One WhatsApp thread, six jobs. Nala carries a lead from first message to booked consultation, or to a human, without a separate tool for each step.

📄
Info delivery
Sends the brochure and listing details the moment a lead asks, no waiting on a rep.
🎯
Qualification
Extracts budget, intent, and timing through natural conversation, not a form.
🏡
Property recommendation
Filters listings to eligible options based on what's been shared so far, budget included.
💬
Answer & guide
Handles follow-up questions and keeps the lead moving instead of stalling in the thread.
🔁
Nurture
Re-engages based on how engaged the lead has actually been, not a fixed follow-up schedule.
🤝
Human handoff
Escalates to a sales agent when intent, complexity, or frustration calls for a person.
03 · Architecture

Let the model talk. Let the workflow decide.

LLMs handle language: understanding intent, generating natural responses, extracting structure. Workflow logic handles sequencing, routing, delays, and CRM updates. Neither tries to do the other's job.

WhatsApp Inbound
Lead sends message · workflow triggers · brochure sent instantly
01
Context Management
Chat history built and passed to all prompt stages every turn
02
Qualification Conversation
"Nala" asks budget, intent, timing, Bali relationship (one question at a time)
QUALIFICATION_COMPLETE detected
03
Answer Extraction
Reads full conversation → returns structured JSON. Never responds to customer.
04
Normalization
Maps raw answers to controlled enum values for downstream matching
05
Property Recommendation
Budget + intent → max 2 live eligible properties, with matched USPs
Post-recommendation mode
06
Nurture & Convert
Guide → Clarify → Convert → Handoff. No consecutive booking CTAs.
07
Human InterventionEscalation path
Explicit escalation: frustration, edge cases, direct human requests
08–09
Recovery & Follow-up
23h stall detection · context-aware suppression when inappropriate
04 · Qualification

Conversation in, structured data out.

Every answer is captured through natural conversation, then mapped to a controlled vocabulary, not free text, so the workflow can branch deterministically without a model interpreting prose downstream.

Dimension 01
Reason for buying
"Are you exploring for personal use, investment, or both?"
Determines which property USPs to emphasize. Investment intent unlocks ROI projections; personal use shifts to lifestyle framing.
reason_for_buying
own_use_only own_use_and_investment mainly_invest_some_use investment_only
Dimension 02
Bali relationship
"Have you spent time in Bali or are you planning a first visit?"
Shapes conversational register and context depth. Bali regulars want less explanation; first-timers need more lifestyle framing.
bali_relationship
lives_in_bali frequent_visitor visited_before first_time
Dimension 03
Budget
"What investment range are you working with?"
Filters the property recommendation to eligible options only. Budget mismatches are surfaced gracefully without ending the conversation.
budget_range
under_100k 100k_150k 150k_200k 200k_plus still_exploring
Dimension 04
Purchase timing
"Are you thinking in the next few months or a longer horizon?"
Informs urgency of follow-up. Short timelines trigger booking CTAs; longer horizons shift to nurture mode with a lighter touch.
purchase_timing
within_3_months 3_to_6_months 6_to_12_months just_browsing
Data flow: how conversation becomes CRM data
Natural language answers
Extraction JSON
Normalized enums
Property match
HubSpot contact
05 · Prompt Architecture

Every prompt does exactly one thing.

Separation of concerns prevents the system from doing conflicting things in the same turn: qualifying while recommending, or nurturing while escalating. Each prompt stage is isolated, focused, and replaceable.

Conversation layer: what Nala says and how
01
Personality
Defines Nala's tone: warm, concise, one question at a time. Prevents invented information and enforces WhatsApp-appropriate brevity.
02
Qualification
Guides conversation through four dimensions while responding naturally to prospect questions first. Never skips a dimension.
DATA
Extraction
Reads full chat history → returns structured JSON of four answers. Never responds to the customer: reads only.
04
Normalization
Maps extracted answers to controlled enum values, e.g. mainly_invest_some_use, for downstream property matching logic.
05
Prop Recommend
Selects max 2 live, budget-eligible properties. Explains the match using USPs. ROI included only for investment-intent prospects.
CLOSE
Post-qual
Switches mode after recommendation: Guide → Clarify → Convert → Handoff. Avoids consecutive booking CTAs.
07
Human handoff
Detects when to emit HUMAN_INTERVENTION: [reason] for frustration, edge cases, or explicit requests for a person.
08
Follow-up
Generates context-aware follow-ups. Suppresses with NO_FOLLOW_UP when contact is uninterested, human-handed, or already engaged.
06 · Guardrails

Human handoff is a feature, not a fallback

The system emits structured machine-readable signals the workflow can route on, not vague fallback responses that silently change behavior.

paradyse-ai · signal output
HUMAN_INTERVENTION: [reason]
Triggers immediate human escalation. Routes to sales via HubSpot task with reason attached. AI stops responding to that conversation.
QUALIFICATION_COMPLETE
Tells the workflow to pause the conversation loop and trigger the extraction → normalization → property recommendation sequence.
NO_FOLLOW_UP
Suppresses scheduled follow-up messages. Applied when contact expressed disinterest, requested a human, or is already mid-conversation.
HUMAN_INTERVENTION triggers
User expresses frustration, anger, or dissatisfaction
AI cannot confidently answer a specific question about a property
User directly requests a human or wants to call someone
User asks about full-villa pricing or full ownership (not fractional)
User is in Bali now and wants to physically visit a property
User is already in a meeting or wants to speak directly now
07 · Interactive Demo

Step through the qualification flow yourself

The exact conversation and system log from the production walkthrough. Click through it turn by turn.

Step 0 of 31
Live fit score
Not yet scored
System log
08 · Results

Measurement framework

Instrumented around consultation bookings as the primary success metric, with human handoff volume and follow-up response rates as secondary signals.

Funnel stages · confirmed figures only
WhatsApp entry
All leads
Qualification completion
42%
Consultation booking
12%