# Forms and Data Entry

The Forms and Data Entry module presents one or more custom form screens to collect information from a user. You define the questions, their input types, and whether each is required or optional. In Workflows, form responses can be used as [conditions](https://developer.incode.com/docs/configure-workflow-conditions) to route users to different steps based on their answers.

For an overview of this module and how it works, see [Forms and Data Entry](https://developer.incode.com/docs/forms-and-data-entry).

## Supported with:

:white_check_mark: Workflows | :white_check_mark: Flows

## Add Forms and Data Entry to Workflows

1. In the left menu, click **Flow Builder** > **Workflows**.
2. Click **New** or select an existing Workflow.
3. From the Modules list, drag and drop the **Forms and Data Entry** module into the builder.
4. You can click the three dots > **Edit** on the module node to open the [Configuration Options](#configuration-options) panel and adjust settings as needed.

## Add Forms and Data Entry to Flows

1. In the left menu, click **Flow Builder** > **Flows**.
2. Click **New** or select an existing Flow.
3. On the **Select Modules** tab, find the **Forms and Data Entry** module and click **Add**.
4. You can click **Details & Configurations** to open the [Configuration Options](#configuration-options) panel and adjust settings as needed.

## Configuration Options

This section details all the configuration options available for this module. After changing anything, click **Save configurations** before closing the configuration panel.

The options you see in your configuration may differ from those documented below. Contact your Incode representative for more information.

Each form is made up of one or more pages. Use the numbered page tabs to switch between pages. Click the plus sign (+) to add a new page. Each page has a different title and can contain one or more questions.

![Image of the Forms and Data Entry module's configuration panel. Has two configuration options, plus the option to add a new question.](https://files.readme.io/5a8ce388bd15229fc8370b0f79871b9003424960acdb31bc6a7f32db2ab5a062-image.png)

### Title

| Setting          | Description                                                                                                            |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **_Title_**      | The title displayed at the top of the form page. Enter the text you want users to see or leave blank to show no title. |
| **_Hide title_** | When enabled, hides the title from the form page even if a title is configured.                                        |

### Questions

<Accordion title="View image of configurable options for pre-defined questions">
  ![When Pre-defined is selected, options for Select a question, Input type, and Make optional appear.](https://files.readme.io/3698279da203968c368185be629aa9b495e58b127998792fd85db40b48855445-image.png)
</Accordion>

<Accordion title="View image of configurable options for customized questions">
  ![When Customized is selected, options for Enter question, Input, and Make optional appear.](https://files.readme.io/8d1057b98377252a24f272da73635753b8f983465984e525f1d6c31f4587fc07-image.png)
</Accordion>

To add a question, click **New question**. The following settings are available for each question.

<Table>
  <thead>
    <tr>
      <th>
        Setting
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **_Pre-defined_** / **_Customized_**
      </td>

      <td>
        Determines whether the question uses a pre-defined template or a custom configuration. Select **_Pre-defined_** to choose from a set of common questions with the question text and input type already set. Select **_Customized_** to write your own question text and select the input type manually.
      </td>
    </tr>

    <tr>
      <td>
        **_Select a question_**<br />_Pre-defined only_
      </td>

      <td>
        The pre-defined question to add to the form. Choose from the available options in the dropdown: _ID number, Country of residence, Nationality, Date of birth, Phone number, Email address, CPF, Full name, First name, or Last name_. The **_Input type_** is set automatically based on the selected question and cannot be changed.
      </td>
    </tr>

    <tr>
      <td>
        <br />**_Enter Question_**<br />_Customized only_
      </td>

      <td>
        The custom question text to display to the user. Allows you to manually change the **_Input type_**.
      </td>
    </tr>

    <tr>
      <td>
        **_Input type_**
      </td>

      <td>
        The type of input field presented to the user. When using a pre-defined question, this field is read-only. When using a customized question, select the type that matches the data you want to collect:

        - _Text_: Free-form text input.

        - _Number_: Numeric input.

        - _Date_: Date input in DD/MM/YYYY format. Responses are stored as milliseconds since the Unix epoch (UTC).

        - _Country_: A searchable drop-down showing full country names. Responses are stored as ISO 3166-1 alpha-3 codes: for example, _USA_ and _GBR_.

        - _Phone_: Phone number input.

        - _Email_: Email address input with format validation.

        - _CPF_: Document number input formatted for Brazilian Cadastro de Pessoas Físicas (CPF) numbers.

        - _Yes or No_: A toggle or drop-down for Boolean responses.

        - _Select_: A drop-down for single selection from a defined list of options.
      </td>
    </tr>

    <tr>
      <td>
        **_Make optional_**
      </td>

      <td>
        When enabled, the question is optional and users can proceed without answering it. When disabled, the question is required and **Continue** remains inactive until the user provides a valid response.
      </td>
    </tr>
  </tbody>
</Table>

Click **Save** after configuring each question. After saving multiple questions, you can drag and drop to reorder them. Click the three dots next to a saved question to edit or delete it.

<Callout icon="📘" theme="info">
  ### Tip

  **Only ask for what you need**. Every question adds friction and creates privacy obligations. Remove any question that isn't required for compliance, the user journey, or downstream processing.
</Callout>

<br />
