---
title: "Inputs and forms in the Flow Builder"
description: "Add interactive form elements like text fields and checkboxes."
---

Use inputs to collect typed data from users — such as a name, email address, or date of birth. Store responses and reference them elsewhere in the flow, such as addressing the user by name on a later screen.

### Add an input

1. Click **+** at the top left.
2. Select **Input**.
3. Choose the input type:
   - **Text:** Any short text entry.
   - **Email:** Email addresses, with optional format validation.
   - **Password:** Secure text entry, with configurable requirements.
   - **Number:** Numeric values, with configurable format.
   - **Phone number:** Telephone numbers.
   - **Date:** Opens a date picker.
   - **Time:** Opens a time picker.
   - **Date and time:** Opens a combined picker.

### Configure an input

:::link
For more details about visual settings — layout, style, and visibility — see [Element styling](builder-styling).
:::

For all input types, you can configure the following in the **Design** tab:

- **Type:** Change the input type (Text, Email, Password, Number, Phone number, Date, Time, or Date and time).
- **Element ID:** Identifier used to reference the input's value elsewhere in the flow. See [Use input values](#use-input-values) below.
- **Placeholder:** Hint text displayed inside the empty field.
- **State:** Define how the input looks in different situations. Switch between **Default**, **Active**, **Invalid**, and **Disabled** and apply different visuals to each.
- **Typography:** Text styling for the value displayed in the field.
- **Leading and trailing icons:** Add icons inside the input field.

Some settings are specific to certain input types:

| Setting                    | Input types               |
|----------------------------|---------------------------|
| Clear button               | Text, Email               |
| Validate email format      | Email                     |
| Show password icon         | Password                  |
| Edit password requirements | Password                  |
| Number format              | Number                    |
| Date/time format           | Date, Time, Date and time |
| Min and max date           | Date, Date and time       |

### Use input values

Every input is automatically available as a variable — there's no setup or **On Submit** action required. The value is referenced through the input's **Element ID**, which you set in **Input Settings**.

To use an input value elsewhere in the flow (for example, to personalize copy, populate another field, or drive conditional navigation), insert a variable and choose:

**Element > Screen > `<elementId>.value`**

:::link
See the relevant guides to understand how to use saved input values:
- [Conditional navigation](onboarding-navigation-branching)
- [Variables](onboarding-variables)
:::