# Build a form

> Create a reusable form with the questions, types and help text your team needs.

A form collects structured answers: a name and email, a booking request, a short survey. Forms are reusable, so you build one and show it on any deployment.

## Create a form

1. Open **Forms** and select **Create Form**.
2. Under **Form details**, enter a **Name** for your team, such as Lead capture. Optionally add a **Title** and **Description** that visitors see, and your own label for the **Submit button**, which reads Submit otherwise.
3. Under **Questions**, select **Add question** for each question. A new question starts as **Short text** and **Required**.
4. Keep **Enabled** on under **Availability**. Disabled forms never show anywhere.
5. Select **Create Form**.

## Question settings

| Setting | What it does |
| --- | --- |
| Question label | The question visitors read |
| Reference key | The stable key the answer is saved under, such as `email` |
| Type | The kind of answer (see below) |
| Required | Visitors must answer before submitting |
| Placeholder | Example text inside an empty field. On a Checkbox, the text beside the box. |
| Helper text | A short explanation under the question |
| Options | The choices for Dropdown, Single choice and Multi-select (see below) |
| Allow "Other" | Lets visitors type an answer that isn't one of the options (Single choice and Multi-select) |

Enter **Options** one per line as a value, a `|`, and the label visitors see. The label is optional: without it, visitors see the value.

```text
support | Support
sales | Sales
billing | Billing
```

## Question types

| Type | Use it for |
| --- | --- |
| Short text | Names and short answers |
| Long text | Descriptions and feedback |
| Email, Phone, URL | Contact details and links |
| Number | Quantities and sizes |
| Date, Time | Appointments and deadlines |
| Dropdown | One choice from a long list |
| Single choice | One choice from a few options |
| Checkbox | A yes-or-no confirmation, such as consent. Put the sentence beside the box in **Placeholder**, or the question label is used. |
| Multi-select | Several choices |

## Limits

| What | Limit |
| --- | --- |
| Questions per form | 50 |
| Options per question | 50 |
| Name, Title | 120 characters |
| Description | 500 characters |
| Submit button | 60 characters |
| Question label, Placeholder | 200 characters |
| Reference key | 80 characters |
| Helper text | 280 characters |

## Write questions people finish

- Ask only what your team will use. Every extra question is one more reason to stop.
- Ask one thing per question.
- Use **Helper text** to explain unfamiliar terms, or why you need the answer.
- Mark a question **Required** only when you can't act without it.

## Translate a form

If your workspace has more than one language, pick a language next to **Form details**. Then fill in the **Title**, **Description** and **Submit button**, and each question's **Label**, **Placeholder**, **Helper text** and option labels. Add questions in the default language first.

Visitors see the version that matches their widget language, and anything left blank falls back to your default language. The languages come from your workspace's language settings. If one you need is missing, contact the help.ai team. See [Offer the widget in several languages](https://support.help.ai/deployments-and-the-widget/offer-the-widget-in-several-languages).

## Manage your forms

The menu on each form in **Forms** has:

- **Edit**.
- **Disable** or **Enable**. A disabled form drops out of every deployment, and you can't pick it when you add a form to one.
- **Download responses (CSV)** and **Download responses (Excel)**, with every submission.
- **Delete**. Deployments that used the form stop showing it.

Next, show the form in the chat widget. See [Show a form in the chat widget](https://support.help.ai/forms/show-a-form-in-the-chat-widget).

<Tip>
Set each **Reference key** once and keep it. Answers are saved under it, so renaming it later splits old and new answers into separate columns in downloads.
</Tip>
