> ## Documentation Index
> Fetch the complete documentation index at: https://tinytalk.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Lead Generation

> Capture visitor information, qualify leads, and manage custom attributes for your contacts.

The **Contacts** section stores every visitor who interacts with your agent. You can collect contact information through a qualification form, view and export leads, and define custom attributes to enrich your contact data. Contacts has three tabs: **Leads**, **Qualify Leads**, and **Attributes**.

## Leads

The Leads tab displays all visitors who have interacted with your agent. Each row in the table shows:

| Column         | Description                                                                                                                 |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Email**      | The contact's email address                                                                                                 |
| **First Name** | First name, if provided                                                                                                     |
| **Last Name**  | Last name, if provided                                                                                                      |
| **Phone**      | Phone number, if provided                                                                                                   |
| **Role**       | The contact's role (e.g., Lead)                                                                                             |
| **Pseudonym**  | Auto-generated anonymous name (e.g., "Anxious Jade from NL") used to identify visitors before they provide personal details |
| **User ID**    | Unique identifier for the contact                                                                                           |

### Exporting leads

Click **Export Leads** to download all captured contacts as a CSV file. This is useful for importing leads into your CRM, email marketing tool, or spreadsheet.

## Qualify Leads

The Qualify Leads tab lets you configure the **qualification form** — a form that appears in the chat widget to collect visitor information during a conversation. All collected data is associated with the contact's profile and available in the Help Desk.

### Configuration

Two toggles control how the qualification form behaves:

* **Share Contact with Agent** — When enabled, your AI agent can access lead information (first name, last name, email, phone, and custom attributes) during conversations, allowing it to personalize responses.
* **Enabled** — When toggled on, the qualification form appears after the agent's first response to a visitor's message.

### Form messages

You can customize two messages that visitors see when the qualification form appears:

* **Call-to-Action Message** — The prompt displayed above the form, encouraging visitors to share their details (e.g., "Please fill in the form below to stay in touch").
* **Feedback Message** — A thank-you message shown after the visitor submits the form (e.g., "Thanks, talk to you soon!"). If no feedback message is set, the form closes automatically after submission.

Both fields support [per-language values](/features/localization) when additional languages are enabled.

### When the form appears

The qualification form is displayed at the start of every new conversation, after the agent's first response. The form collects one field at a time — the visitor fills in a field, submits it, and the next field appears.

* If a visitor **partially completes** the form and starts a new conversation later, the form reappears but only asks for the **remaining fields** — previously collected fields are skipped.
* If a visitor has **already provided all fields**, the form does not appear.
* If you **add new attributes** to the form after a visitor has already completed it, the form reappears in their next conversation to collect only the new fields.

<Info>
  The form appears once per conversation. If a visitor dismisses or ignores it, it will appear again in their next new conversation.
</Info>

### Qualification data

The qualification form collects data using **attributes**. You choose which attributes appear on the form from the **Available Qualification Attributes** dropdown, then click **Add Attribute** to include them.

The form uses both **system attributes** (Email, First Name, Last Name, Phone Number) and any **custom attributes** you've created in the [Attributes](#attributes) tab.

#### Managing form fields

* **Selected Attributes** — Shows the attributes currently on the form. You can drag to reorder them, and the **Form Preview** on the right updates in real time.
* **Remove fields** — Click the delete icon next to any attribute to remove it from the form.
* Click **Save** to apply your changes.

## Attributes

Attributes define the data fields available for your contacts. They appear in contact profiles, Help Desk conversations, and the qualification form. Navigate to **Contacts → Attributes** to manage them.

### System attributes

Tiny Talk includes four built-in system attributes:

| Name         | Key         | Type         |
| ------------ | ----------- | ------------ |
| Email        | `email`     | Text         |
| First Name   | `firstName` | Text         |
| Last Name    | `lastName`  | Text         |
| Phone Number | `phone`     | Text (Phone) |

<Warning>
  System attributes are read-only and cannot be modified.
</Warning>

### Custom attributes

Create custom attributes to store additional information about your contacts. Click **Create Attribute** to open the creation form with the following fields:

| Field             | Description                                                                                                                                 |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**          | Display name shown in the form and contact profile (e.g., "Company Size")                                                                   |
| **Key**           | Unique identifier used internally and via the API (e.g., `companySize`). Cannot be changed after creation.                                  |
| **Data Type**     | The primary data type — **String** or **Number**                                                                                            |
| **Sub Data Type** | A more specific type within the primary data type. For String: **Text**, **Email**, **Phone**, or **Url**. For Number: numeric values only. |
| **Description**   | Optional text explaining what the attribute stores                                                                                          |

Once created, custom attributes can be edited (name, description) by clicking on them in the table. The key and data type cannot be changed after creation. Attributes cannot be deleted.

<Tip>
  Custom attributes you create here become available in the **Qualify Leads** tab, where you can add them to the qualification form alongside system attributes.
</Tip>

### Attribute types at a glance

| Display Type | Data Type | Sub Data Type | Example use               |
| ------------ | --------- | ------------- | ------------------------- |
| Text         | String    | Text          | Job title, company name   |
| Email        | String    | Email         | Secondary email address   |
| Phone        | String    | Phone         | Mobile number             |
| Url          | String    | Url           | Website, LinkedIn profile |
| Number       | Number    | —             | Company size, age         |

## Lead notifications

You can receive notifications when a visitor's contact information is updated through:

* **[Zapier](/integrations/zapier)** — Use the **Updated Lead** trigger to send lead data to your CRM, email marketing tool, or other apps
* **[Pabbly Connect](/integrations/pabbly)** — Use the **New Lead** trigger for the same purpose
* **[Custom webhooks](/integrations/webhooks)** — Receive `contact.lead.updated` events at your own endpoint

## Tips for lead generation

* **Keep the form short** — Only ask for essential information. More fields means lower completion rates.
* **Enable Share Contact with Agent** so your agent can greet returning visitors by name and reference their previous details.
* **Use the feedback message** to thank visitors after form submission — it creates a more polished experience.
* **Create custom attributes** for data specific to your business (e.g., company size, product interest) to qualify leads more effectively.
* **Set up webhook integrations** to send leads directly to your CRM or email marketing tool.
