Search and browse help
Lead capture
Turn chatbot conversations into qualified leads on the web widget, WhatsApp and Telegram. Collect contact info and your own qualification fields, get an email for every new lead, and export to CSV.
Lead Capture turns your chatbot into a lead-generation channel on every channel it runs on:
- Web widget — the bot shows a short contact form inside the chat.
- WhatsApp and Telegram — there is no form. The bot asks for the details in the conversation, one or two at a time, and saves the lead when it has the required ones.
Every lead lands on the Leads tab, you get an email for each new lead, and you can export everything to CSV. You decide what to collect; the bot decides the moment.
Enable and test the tool
Open Tools
Open your chatbot and choose Tools.
Configure the tool
Click Enable, review the settings below, and save.
Test each channel
Try a conversation on each enabled channel. Check the saved record and email notification.

Before you start
- Plan: Lead Capture is available on the Starter plan ($29/mo) and above.
-
Channels: web widget, WhatsApp and Telegram. Check the Enabled channels setting (see below) — tools enabled before WhatsApp/Telegram capture existed may still say
widgetonly.
Enable it on a chatbot
- Open a chatbot and go to the Tools tab.
- Find the Lead Capture card and click Enable.
- Review the configuration below, then click Enable Tool.
Once enabled, a Leads tab appears in the chatbot sub-nav. Enabling it on one chatbot doesn't affect any others.
Configure it
You can change every setting later from Tools → Configure.
When to trigger
A short instruction telling the bot when to start collecting. Write it the way you'd brief a sales rep:
- "Start when a visitor asks about prices, availability, or wants a callback."
- "Only after the visitor has asked at least two questions about a property."
The bot reads this every turn and decides whether the current message qualifies.
Contact fields
Name, Email and Phone, each with Enable and Required toggles. Defaults: Name and Email on and required, Phone off.
On WhatsApp and Telegram the channel already gives you a way to reach the customer, so:
- WhatsApp: the phone number is filled in automatically. The bot never asks for it.
- Telegram: the Telegram username and user ID are stored on the lead. The bot never asks how to reach them.
- Email and phone are never required there — the bot may ask for them if enabled, but it saves the lead without them. Name stays required if you set it; the profile name is used when the customer doesn't give another one.
Qualification fields
Your own fields — the questions a good salesperson asks before calling back. Each field has:
| Setting | What it does |
|---|---|
| Label (English and Spanish) | Shown in the dashboard, the email and the CSV header. The bot uses it to know what to ask. |
| Type | Text, Number, Money, Date, Date range, Option list, Phone, Email. Option lists also take the options (comma-separated). |
| Required | The bot won't save the lead until it has this value. |
| Hint | Optional guidance for the bot, e.g. "Ask for an approximate range". |
Click Load a preset to start from a ready-made list:
- Real estate — budget, area, property type, bedrooms, financing, timeline.
- Lots / developer — budget, lot size, financing, visit date.
- Restaurant / hotel — date (or check-in/check-out), party size, nights, occasion.
Up to 15 fields per chatbot. The answers are saved on the lead and shown as columns on the Leads tab, in the email and in the CSV.
On the web widget the form still shows only Name / Email / Phone. Qualification fields are filled in from the conversation afterwards (see Automatic qualification below).
Automatic collection on WhatsApp / Telegram
Two checkboxes, off by default. When on, every new contact becomes a lead on their first message — phone (WhatsApp) or username (Telegram) plus their profile name, with no questions asked. The bot then keeps qualifying them in the conversation and the lead is enriched as details come in.
Turn it on when every person who writes to your number is a potential customer (e.g. you run ads that open WhatsApp). The owner email for an auto-collected lead is sent a few minutes after the first message, so it already includes what the customer said.
Success message
What the bot says after the lead is saved. On the widget it's posted as is; on WhatsApp and Telegram the bot confirms in the customer's language using it as a guide. Default: "Thanks! We'll be in touch shortly."
Dismiss message (widget only)
What the bot says when a visitor closes the form without submitting.
Only capture once per conversation
On by default. There is always at most one lead per conversation: if the customer gives more details later, the same lead is updated (no second email).
Enabled channels
Comma-separated list: widget,whatsapp,telegram (new installs). Leave empty for all channels. If your tool says widget only, add whatsapp,telegram to capture leads there.
What the customer sees
Web widget: a short reply, then a contact form inline in the chat with an × to dismiss. After submit, the success message appears as a normal reply.
WhatsApp / Telegram: a normal conversation. For example, with the Lots / developer preset:
Customer: Hi, I'm looking for a lot in Guanacaste Bot: Hi Ana! We have lots from USD 35,000. What budget do you have in mind? Customer: Around 40 thousand dollars Bot: Great. Which area of Guanacaste would you like? Customer: Tamarindo, and I'd pay in installments Bot: Done, Ana! An advisor will write to you here today.
The bot did not ask for the phone — it already had it.
Automatic qualification
After a customer writes, ChatbotGen reads the conversation in the background (never slowing down the reply) and stores on the lead:
- the qualification fields it finds in the conversation (only fields that are still empty — values the bot saved stay as they are),
- intent — buyer, renter, booking, info, support, spam or other,
- temperature — hot, warm or cold,
- the customer's language and a one-line summary.
It runs again only when the customer writes something new. Temperature and intent show as badges on the Leads tab and in the conversation view.
Email notifications
Every account member gets an email for each new lead, in their dashboard language (English or Spanish), with the contact, the qualification fields and a link to the conversation. One email per lead — updates to the same lead don't send another one.
Review people and conversations
Open your chatbot → Leads. The People list groups known conversations by contact. Search by name, email or phone, or filter by temperature. Select a person to see their contact information, qualification and linked conversations; open a conversation for the full context. Identifiers and matching information can connect conversations across supported channels, but visitor-provided information is not proof of identity.

Use Set up in 2 minutes to configure the website's pre-chat form and automatic collection for connected messaging channels. In the first step choose which fields to ask for and whether they are required; in the second choose the channels where new contacts should be saved automatically. Saving settings does not verify the identity of visitors. Review your privacy notice and obtain any required consent before collecting information.

On a site with user accounts, call window.chatbotgen("resetUser") when a person signs out and before a different person uses the widget. This starts a new chat and rotates the browser visitor identifier. Then identify the next person if appropriate. Signed identity tokens are required for actions that trust identity; names and emails passed by a page are unverified. Avoid putting personal details in script URLs, which can be recorded in logs and browser history. See Web widget.
Export to CSV
Click Export CSV on the Leads page. Columns:
| Column | Contents |
|---|---|
inserted_at |
Date and time the lead was captured |
name, email, phone |
Contact info (empty when unknown) |
source |
widget, whatsapp or telegram |
conversation_id |
ID of the conversation |
| one column per qualification field |
Named by the field key, e.g. budget, zone |
intent, temperature, language, summary |
Automatic qualification |
The file imports directly into HubSpot, Pipedrive, Google Sheets or any tool that accepts CSV.
Common questions
Does the bot keep asking until it has everything?
It asks for the required fields, one or two per message, while still answering the customer's questions. If the customer doesn't want to give an optional detail, the bot doesn't insist.
What if a customer gives fake info?
It's stored as written. Only required fields are checked for presence.
The bot doesn't capture leads on WhatsApp. Why?
- Is the tool enabled on this chatbot (green Enabled badge on Tools)?
-
Does Enabled channels include
whatsapp? - Is the conversation paused for a human? After someone on your team replies from the phone, the bot stays silent for 12 hours — and captures nothing in that time. Automatic collection still works.
- Does your trigger prompt match what customers actually say?
Can I get the alert on WhatsApp instead of email?
Lead capture emails and human-handoff alerts are separate. Check notification settings for the handoff channels available to your team.
See also
- What are tools? — the Tools tab in general
- Appointment booking — when the customer wants a time slot, not a callback
- Human handoff — when the bot should step aside
- Conversations overview — read the chats behind each lead
- Plans & pricing — what's included in Starter