Bots

Lead capture

💡

Lead capture lets you ask visitors for their details — name, email, anything else you need — before they send their first message. It's a web channel feature: you configure the fields, visitors fill them in, and the data is made available to your systems via webhooks. All fields are fully configurable, so you can tailor the form to whatever information your team needs to follow up.

Enabling lead capture

To turn lead capture on, head to the Channels tab on your bot's dashboard and click the settings icon on the web channel card. Scroll to the lead capture section and toggle on Require a pre-chat form.

You can also set Intro copy — a short message shown above the form to welcome visitors and explain why you're asking for their details. If you leave it blank, a sensible default is used.

Pre-chat form toggle and intro copy in web channel settings

Adding fields

With lead capture enabled, you'll see the form builder. By default, the form has two fields: Name and Email, both required.

Click Add field to add a new field, and drag the handle on the left of any field to reorder them. Click a field to expand its editor, where you can change its type, label, and other options.

Pre-chat form builder with the Name field expanded

Field types

Each field has a type that controls how it's rendered to visitors and what they can enter:

  • Text — short free-text input. Use it for things like company name or role.
  • Email — email input with built-in validation. Use it to collect a visitor's email address.
  • Phone — phone number input. No format is enforced, so visitors can enter numbers in whatever style they're used to.
  • Long text — multi-line textarea. Use it for open-ended prompts like "What are you trying to do?".
  • Select — dropdown with custom options. When you pick this type, an Options grid appears where you can set each option's Value (required) and an optional Label shown to visitors.
  • Checkbox — a single toggle. Use it for opt-ins or consent questions like "I agree to be contacted".
  • Date — a date picker. Use it when you need a specific day, like a preferred callback date.

Per-field options

Every field supports these options in its editor:

  • Label — the question or prompt shown above the field. This is also used to derive the field's slug (see below).
  • Placeholder — greyed-out example text shown inside the field before the visitor types.
  • Help text — an optional hint shown under the field for extra context.
  • Required — when on, visitors must complete the field before they can start chatting.

Previewing the form

When a visitor opens your bot, they'll see your intro copy followed by the form. They fill it in, submit it, and then the normal chat interface appears — ready for their first message.

Visitor-facing pre-chat form rendered on a bot page

Using captured data

Once a visitor submits the form, their answers are attached to the conversation and sent to your systems via webhooks.

Each answer is keyed by the field's slug — a machine-readable ID automatically derived from the field's label (for example, "Company name" becomes company-name). If you change a field's label later, the slug updates to match, so pick labels you're happy to key your data on.

To send the captured data to your systems, set up a webhook and read the userData object from the payload — it contains a key-value pair for every field the visitor filled in.

Webhook payload example with a userData object