# Build a lead qualification chatbot flow that routes hot leads to sales

> A lead qualification flow asks three or four questions on WhatsApp or SMS, validates the answers and routes the lead by timeline and budget. Hot leads go to sales as a ticket and into your CRM through a webhook, while others get a nurture campaign.

URL: https://on-chat.live/guides/lead-qualification-chatbot-flow/
Last updated: 2026-10-27

Leads that message you on WhatsApp expect an answer in minutes, not tomorrow. A lead qualification flow answers instantly, asks the questions your sales team would ask, and sends the best leads to a person while they're still interested.

This guide gives you a complete flow you can build in On-chat's [visual flow builder](https://on-chat.live/flow-builder/) in under an hour.

## What the flow does

The flow greets the lead, asks three qualifying questions, scores the answers and routes the lead to sales or to a nurture path.

1. Greets the lead and asks what they're interested in.
2. Asks three qualifying questions: company size, timeline and budget.
3. Calculates a simple score.
4. **Hot leads**: opens a ticket for sales, pushes the lead into your CRM and tells the lead someone will reply shortly.
5. **Warm and cold leads**: sends useful resources and adds them to a follow-up campaign.

## The questions to ask

Keep it to three or four questions. Every extra question loses people. A common B2B set:

| Question | Split rule | Saved as |
|---|---|---|
| What are you looking for? (quick replies) | has any of the words | `interest` |
| How many people are on your team? | has a number | `team_size` |
| When do you want to start? (This month / This quarter / Just exploring) | has any of the words | `timeline` |
| Roughly what budget do you have in mind? | has a number | `budget` |

Use quick replies wherever possible: they're faster for the lead and give you clean data.

## Step 1: Greeting and interest

Add **Send the contact a message**:

> Hi @contact.first_name! Thanks for reaching out to Acme. I'll ask 3 quick questions so we can point you to the right person. What are you interested in?

Quick replies: `Pricing`, `A demo`, `Partnership`.

Follow with **Wait for the contact to respond**, saving the result as `interest`.

## Step 2: Qualifying questions with validation

For each question, add a message and a wait. Use validation rules so the data is clean:

- `team_size`: **has a number**. On **Other**, reply "Just a number is perfect, for example 25."
- `timeline`: **has any of the words** `month, now, asap` → *Now*; `quarter, soon` → *Soon*; Other → *Exploring*.
- `budget`: **has a number**, with a gentle "No problem, a rough number is fine" retry.

Using categories like *Now / Soon / Exploring* instead of raw text makes reporting and branching much easier.

## Step 3: Save what you learned to the contact

Add **Update the contact** actions to store the answers in contact fields, such as `company_size`, `timeline` and `budget`. Now:

- every future flow can personalise using `@fields.company_size`,
- your team sees the details on the contact,
- you can build groups like "Leads starting this month".

## Step 4: Score and route the lead

Use a **Split by a custom expression** to route the lead. A simple, readable approach is to split on timeline first, then budget:

1. Split on `@results.timeline.category`:
   - **Now** → continue to the budget check
   - **Soon** → warm path
   - **Exploring** → nurture path
2. For **Now**, split on `@results.budget` with **has a number at or above** your threshold (for example `1000`):
   - yes → **hot**
   - no → warm path

Prefer a points score? Calculate one with an expression and save it as a result, then split on the number. Keep the logic simple enough that your sales team can understand why a lead was routed where it was.

## Step 5: Hot leads go straight to sales

On the hot path:

1. **Call a webhook** (`POST`) to create the lead in your CRM, or call Zapier to do it for you:

```json
{
  "name": "@contact.name",
  "phone": "@contact.urn",
  "interest": "@results.interest",
  "team_size": "@results.team_size",
  "timeline": "@results.timeline.category",
  "budget": "@results.budget"
}
```

2. **Open a ticket with a human agent** with the topic *Sales* and a body that summarises the lead:

   `Hot lead: @results.interest, team of @results.team_size, starting @results.timeline.category, budget @results.budget`

3. Tell the lead what happens next:

> Perfect, thank you! One of our specialists will message you here within the next hour.

The sales rep accepts the ticket in the [ticketing workspace](https://on-chat.live/live-chat-ticketing/) and continues the same conversation, with all the answers in front of them.

## Step 6: Nurture everyone else

Warm and cold leads still deserve a good experience:

- Send something useful right away: a pricing page, a short video or a case study.
- **Add the contact to a group** such as `Nurture`.
- Attach a **campaign** to that group that sends a helpful follow-up after 3 days and a check-in after 2 weeks.

If a nurtured lead replies "demo" later, a keyword trigger can start the qualification flow again. Their earlier answers are already saved, so you can skip the questions you've already asked.

## Step 7: Test and launch

Test the flow as a hot, a warm and a cold lead, then start it from a keyword, a website link or a click-to-WhatsApp ad.

- Run the flow in the **Simulator** as a hot, warm and cold lead.
- Check that the webhook creates the lead in your CRM.
- Start the flow from a **Keyword Trigger** (for example `demo`), a click-to-chat link on your website, or ads that open a WhatsApp chat.

## Measuring results

After a week, look at:

- **Completion rate:** how many leads answered all questions? If many drop off at one question, simplify it.
- **Hot lead rate:** too high, and your threshold is too low. Too low, and you may be filtering out good leads.
- **Time to first human reply** on hot leads, from the ticketing reports.

Want the fundamentals first? Read [chatbot flow design best practices](https://on-chat.live/guides/chatbot-flow-design-best-practices/), or [start building your lead flow for free](https://on-chat.live/org/signup/).

## Put this guide into practice

- [Visual flow builder](https://on-chat.live/flow-builder/): Build dynamic conversation flows without code: branch on answers, use live data from your systems and run one flow on WhatsApp, SMS and voice.
- [WhatsApp chatbot](https://on-chat.live/whatsapp-chatbot/): Build a WhatsApp Business chatbot without code. Answer FAQs, take orders, send template messages and hand chats to live agents. Free 30-day trial.

## Keep reading

- [How to Build a WhatsApp Chatbot Without Code](https://on-chat.live/guides/how-to-build-a-whatsapp-chatbot/): A step-by-step tutorial for building a dynamic WhatsApp chatbot in a visual flow builder, from your first message to live data and agent handoff.
- [How to Get the WhatsApp Business API](https://on-chat.live/guides/whatsapp-business-api-setup/): What you need to get WhatsApp Business API access, how to set it up step by step, and how to connect it to your chatbot flows.
- [Chatbot Flow Design: 12 Best Practices](https://on-chat.live/guides/chatbot-flow-design-best-practices/): Practical rules for designing chatbot conversation flows that customers finish: branching, fallbacks, personalisation, handoff and testing.
