🎁 Free consultation. Book now. 🆕 New service: GEO optimization for AI search engines 📝 New blog post
Case Study

"Leads come in, but they arrive cold — and half of them just vanish." Sound familiar? This case study is about a bot that qualifies through conversation, nurtures the stalled ones, and hands the manager full context.

A custom AI chatbot that qualifies and nurtures leads on its own

AI conversation + a decision-tree funnel, 12-week warming, CRM hand-off — an AI sales assistant that adapts to any business with a long sales cycle.

🤖 AI chatbot (Telegram) 📍 real estate, Black Sea 🌐 5 language markets
🤖
24/7
qualifies with no operator
5 language markets
12-week warming
10+ signals/lead

This case study is for you if...

🕒 Long deal cycle (weeks to months) Your customer doesn't buy right away: they think, compare, and come back weeks later — they need nurturing, not pressure
🧊 A flow of leads that stall Leads come from ads but reach the manager cold and contextless — dates, budget, and needs are unknown
🌐 Customers in different languages People reach out from different countries and in different languages, and you don't have a 24/7 operator
💬 The manager is drowning in manual qualification The manager spends hours on the same repetitive qualification instead of working hot leads

See yourself in this? Keep reading: this case study shows the solution.

About the project

🤖

A Black Sea real-estate developer and rental agency

A Black Sea real-estate developer and rental agency — a steady flow of leads from ads, a long decision cycle, and customers from different countries and languages

🔥

Challenge

Leads kept coming, but reached the manager cold and without context: no dates, no location, no budget, no party size. About half stalled after the first message and never came back. The manager burned time re-qualifying every lead by hand, while after-hours and foreign-language inquiries went unanswered.

🎯

Goals

01 Qualify the lead through conversation — no operator, 24/7
02 Collect full context (dates, location, budget, party) before the hand-off to a manager
03 Recover stalled leads through nurturing instead of losing them
04 Serve several languages and markets from a single engine

What can go wrong here

And why most contractors get it wrong

A pure button tree breaks on a real person

A classic no-code bot walks down branches, but the moment a person types free text outside the script it stalls and replies "I didn't understand." The lead gets annoyed and leaves.

How I solved it: A tree where control is needed (dates, location, budget), and a Claude-powered AI layer on top of everything — it catches free text and drops non-standard requests straight into the inquiry.

Unconstrained AI invents deal terms

A raw LLM bot hallucinates easily: it promises a price, a deadline, or a condition that doesn't exist. For a business with real deals, that's direct reputational and financial damage.

How I solved it: An anti-hallucination guard: the bot doesn't invent terms — when data is missing, it asks again. Matches come only from the real catalog, never from the model's imagination.

Half of leads stall — and they're simply lost

In a long cycle most people don't buy on first contact. Without systematic nurturing these leads quietly go cold — and the ad budget for them is already spent.

How I solved it: A 12-week warming series by segment (residency, ROI, taxes) with an anti-spam guard and opt-out. Reply to a nurture and the AI picks up a live conversation and returns you to the funnel.

Several languages and markets — without an army of operators

Foreign-language and after-hours inquiries either go unanswered or require separate people for each market. Both are expensive and slow.

How I solved it: Language auto-detect and localized content for 5 markets from one engine — the AI replies in whatever language it's written to, with no operator.

What was done

STEP 01

Entry & attribution: the bot knows where the lead came from

A deep link from the ad carries context into the very first message: a click on a specific property opens a conversation about that property. No lead starts with "Hello, how can I help?" — the conversation gets straight to the point.

STEP 02

Qualification: a decision-tree funnel + an AI layer on top

A structured tree walks through the steps (dates, location, type, party size), while a Claude-powered AI layer catches free-text input that falls outside the script. The customer never gets stuck on a branch or hears "I didn't understand" — even non-standard requests get captured.

STEP 03

Active engagement: matching, memory, brand persona

The bot presents properties as cards, replies in the brand's voice, and remembers the selected properties and previously stated conditions all the way to the inquiry. Context is never lost between messages.

STEP 04

Inquiry & hand-off to CRM with full context

Once the lead is formed, the manager receives a structured card: dates, location, party size, budget, free-text wishes, and the full conversation. A built-in anti-hallucination guard means the bot never invents deal terms — it asks again when data is missing.

STEP 05

Nurturing the stalled: a 12-week warming series

Whoever stalls is not lost. A scheduler runs a personalized series by segment (residency, ROI, taxes) with an anti-spam guard and opt-out. As soon as the person replies to a nurture message, the AI picks up the live conversation and brings them back into the funnel.

STEP 06

New-listing alerts bring cold leads back

Anyone who saved a search automatically receives new listings that match their filter. This runs in parallel with the funnel and reactivates long-silent leads without any manager involvement.

What I did differently

1

A custom engine, not a no-code builder

Instead of assembling a bot in an off-the-shelf SaaS, I built a state machine with storage, a scheduler, and AI orchestration. That gives control over transition logic, timers, per-property memory, and multilingual support — things no-code simply can't handle. Every layer — bot runtime, state store, AI, scheduler, integrations — is swappable for a different stack.

2

Hybrid: a tree for control, AI for the human touch

One engine, two modes that switch on their own. The tree guarantees every required field is collected predictably. The AI layer keeps the conversation alive and catches whatever doesn't fit the script. The manager gets both structured fields and free-text wishes — full context without a single call.

Proof · real production

Not a diagram — a real conversation

One genuine dialogue: from "interested in renting" to a ready inquiry. Where structure leads — where AI catches the free-text wishes.

Name reduced to an initial, phone masked, brand hidden. The words and the mechanics are real.
AI
Agency AI assistantonline · replies instantly
Interested in: renting an apartment by the sea
Hi! I'm the agency's AI assistant. I'll find a seaside apartment in Bulgaria for your dates.
showed 5 options from the catalog
What dates are you planning your stay?
22 June — 19 July
Noted: 22 June — 19 July 2026. Which location — Sunny Beach, Sveti Vlas, Ravda or Nessebar?
Sveti Vlas
How many people — adults, and will there be children?
2 adults + 2 kids
How old are the children? We're preparing gifts for them
6 years, 2 years
For 4 people a one-bedroom studio works best. Does that suit you?
Yes
How are you planning to get there — by car or public transport?
By car
free text — not from the script
Not a high floor, big fridge
Noted — not a high floor, big fridge
TV mounted on the wall
Added — TV on the wall. What's your name, and how is it best to reach you?
O.
Telegram or WhatsApp, and a contact?
Telegram, +380 •• ••• ••60
inquiry passed to the manager with full context
Here's the difference. A button tree would have stopped at the dates and location. The free-text wishes — floor, fridge, TV on the wall — were caught by the AI layer and dropped straight into the inquiry.

What the manager sees

New inquirywarm
Name
O. (hidden)
Dates
22 June — 19 July 2026
Location
Sveti Vlas
Guests
2 adults + 2 children (6 and 2 years)
Layout
One-bedroom studio
Transport
By car
Wishes
Not a high floor · big fridge · TV on the wall
Contact
Telegram · +380 •• ••• ••60

8 structured fields + 3 free-text wishes = full context without a single call

Why this isn't "just another bot"

A tree where you need control.
AI where you need a human touch.

Layer 1 · structure

Decision-tree funnel

Clear steps — budget, location, type, dates. Predictable, with no small talk.

Layer 2 · intelligence

An AI layer over everything

The moment a person writes free text, Claude picks it up. Nobody gets stuck, nobody hears "I didn't understand."

one engine, two modes — it switches on its own

How it's built

7 funnel states — from click to hot lead

A state machine with its own transition logic. Each state has triggers, actions, data.

1
Stage 01

Entry & attribution

deep-link aware

Catches the deep link — knows which ad the lead came from. A click on a property → a conversation about that property.

next: Discovery24h silence → Bounced
2
Stage 02

Intent discovery

tree + AI overlay

The tree walks through the steps; the AI layer catches free text — nobody gets stuck on a branch.

next: Engagement<3 messages/7d → Stuck
3
Stage 03

Active engagement

catalog + memory

Presents properties as cards, replies in the brand persona, remembers the selected properties all the way to the inquiry.

next: Lead formed7d silence → Warming
4
Stage 04

Inquiry & hand-off

anti-hallucination

No made-up terms — it asks again, never invents. The manager receives full context: the shortlist, the conversation, the segment.

HOT — manager takes over
Branch · Stuck

Nurturing engine

12-week series

A personalized series by segment (residency, ROI, taxes). Reply to a nurture — and the AI picks up a live conversation. Anti-spam guard + opt-out.

loops to: Lead formedor → Cold-out
Orthogonal

New-listing alerts

auto trigger

Anyone who saved a search receives new listings that match their filter. Brings "cold" leads back into an active conversation, in parallel with the funnel.

reactivates: Engagement
What's under the hood

A custom engine, not a no-code builder

A state machine with storage, a scheduler, and AI orchestration — it holds per-property context and multilingual support with no operator.

Bot runtime

Python · Telegram API · a state machine with transitions and timers.

State store

Sessions, intent tags, warming state, conversation history.

AI orchestration

Claude as the dialogue and extraction layer. Brand persona, anti-hallucination guard.

Scheduler

Runs the 12-week series — who, which step, when.

Integration layer

WP REST · CRM hand-off · GA4 / Enhanced Conversions.

Multilang

Language auto-detect · localized content for 5 markets.

Every layer is swappable for your stack — CRM, channel, language, and funnel logic are all configurable.

Numbers that speak for themselves

24/7
qualification with no operator
No gaps at night or on weekends
5
language markets
Simultaneously, with language auto-detect
12-week
nurturing stalled leads
A personalized warming series by segment

Before and after

Lead context for the manager Cold contact, data extracted by hand
A ready card with every field Structured fields + free-text wishes + the conversation
Stalled leads ~Half vanish after the first message
12-week nurturing Returned to the funnel via a warming series
Response time Depends on the manager, not at night
Instant, 24/7 Any time, any of 5 languages
Answer reliability Risk the bot invents a term
Anti-hallucination guard When data is missing it asks again, never fabricates
What this means for the business
24/7
lead qualification with no operator — an instant reply at any time and in any language
5
language markets served from a single engine, with no separate team per country
12-week
nurturing series that recovers stalled leads the ad budget has already been spent on

"Before, half the inquiries just dissolved and the manager kept asking the same things by hand. Now the inquiry arrives with all the context — all that's left is to close it." — owner of a real-estate business. Published anonymously, with identifying details removed, by agreement.

Free resource

Checklist: 12 signs your business is ready for an AI lead-gen bot

A quick self-diagnostic: whether an AI bot fits your deal cycle, where it pays off most, and what to prepare before launch. Based on a real build case.

  • PDF — 12 signs of readiness for an AI bot
  • What to check in your funnel before you start
  • No signup, no spam
Get it via Telegram →
PDF
AI Bot Readiness Checklist
3 pages PDF • 420 KB
FREE

FAQ

How much does it cost?

It starts with a paid scoping call — we size the scope for your business (the funnel and integrations differ for everyone), so there is no fixed price.

How long until launch?

A few weeks from brief to a working version.

I'm not in real estate — will it fit?

Yes. The engine is the same; only the funnel logic changes to fit your niche (clinic, automotive, B2B, education).

Who owns the bot and the data?

You do. The code and the database live on your own servers and accounts.

What if the bot tells a customer something untrue?

There is a built-in anti-hallucination guard: the bot never invents deal terms; when data is missing, it asks again.

Telegram only?

Telegram for now; WhatsApp and an on-site widget can be added.

What about support after launch?

New warming series, scenarios, and monitoring — by agreement.

Ready for growth?

Let's discuss your project and find the solution that works for your business.