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

# Custom Fields: Store and Manage Contact Data in ChatbotX

> Create and use Custom Fields to capture business-specific contact data like membership tier, discount codes, and appointment times inside ChatbotX.

**Custom Fields** in ChatbotX are variables used to store personalized information for each customer. Unlike **System Fields** — which collect basic profile data automatically (name, gender, location, and so on) — Custom Fields are defined entirely by you to capture business-specific data such as interests, membership tier, discount code, loyalty points, or consultation notes. ChatbotX supports large amounts of data across multiple formats, making it easier to segment customers, sync with CRM systems, and provide rich context for AI Agents.

## Custom Fields vs. System Fields

|                            | System Fields                                            | Custom Fields                                               |
| -------------------------- | -------------------------------------------------------- | ----------------------------------------------------------- |
| **Created by**             | ChatbotX automatically                                   | You                                                         |
| **Examples**               | `{{first_name}}`, `{{email}}`, `{{phone}}`, `{{gender}}` | `membership_tier`, `birthday_voucher`, `consultation_notes` |
| **Configuration required** | None                                                     | You define the name and data type                           |
| **Use case**               | Basic contact identity                                   | Business-specific data collection                           |

## Data Types

When creating a Custom Field, you choose the data type it will store. Selecting the correct type ensures your logic, conditions, and AI processing remain accurate.

| Data Type      | Description                                   | Common Uses                                               |
| -------------- | --------------------------------------------- | --------------------------------------------------------- |
| **Short Text** | A short single-line text value                | Job title, voucher code, short answer                     |
| **Long Text**  | A longer text field that supports line breaks | Detailed notes, customer feedback, AI prompt context      |
| **Number**     | A numeric value                               | Quantities, loyalty points, pricing values                |
| **Date**       | A date-only format                            | Birthdays, anniversaries                                  |
| **Datetime**   | A combined date and time format               | Appointment schedules, expiration timestamps              |
| **Boolean**    | A true or false value                         | States such as `Purchased`, `Interested`, or `Registered` |

## Where to Create and Manage Custom Fields

ChatbotX lets you create Custom Fields in two places, depending on whether you want to prepare them in advance or create them while working live with a customer.

### Location 1: Flows → Custom Fields Tab

This is the centralized management area where you organize and prepare your data fields before building chatbot Flows.

<Steps>
  <Step title="Open the Custom Fields dashboard">
    Open **Flows** from the left navigation, then select the **Custom Fields** tab next to Tags.
  </Step>

  <Step title="Create a new field">
    Click the blue **+ Create Custom Field** button in the top-right corner.
  </Step>

  <Step title="Configure the field">
    Enter the **Name** and choose the **Type** from the dropdown, then save.
  </Step>
</Steps>

<Note>
  In this dashboard, you can use **Folders** to organize Custom Fields by campaign. The **Inbox** status column controls whether a field is visible in the Livechat management interface — useful for hiding internal fields from agents who don't need them.
</Note>

### Location 2: Create Directly in Inbox

When an agent is chatting with a customer and needs to save a new piece of information on the spot, you can create a Custom Field without leaving the conversation.

<Steps>
  <Step title="Open the customer profile panel">
    In **Inbox**, locate the customer profile column on the right side of the screen.
  </Step>

  <Step title="Find the Custom Fields section">
    Scroll to the **Custom Field** section and click **(+) Add** to open the list of existing fields.
  </Step>

  <Step title="Create and populate a new field">
    If the field you need does not exist yet, click **(+) Add Custom Field** to create it and enter its value immediately.
  </Step>
</Steps>

## How to Collect and Store Data in a Custom Field

Data can be updated manually by agents in Inbox, or collected automatically through Flow Builder. Inside a Flow, there are two main ways to store data automatically:

### Method 1: Through a Question Block (Get User Data / User Input)

When you use a content block to ask the customer for information — such as a phone number, a review, or a preferred appointment time — you can enable **Save response to a custom field**. The system then stores the customer's reply directly into the Custom Field you specify, with no manual work required.

### Method 2: Through an Action (Set Custom Field)

You can assign a value to a Custom Field automatically when the customer reaches a certain step in the Flow — for example, when they click a specific Button. Use **Action → Set Custom Field** to update a value like `Viewed_Pricing = True` without requiring the customer to type anything.

<Tip>
  Use **Boolean** Custom Fields to track funnel stages silently. For example, set `Interested = True` when a contact clicks a pricing button, then use a Condition node later to route returning customers differently.
</Tip>
