# Field types

URL: https://docs.sparklayer.io/help/forms/field-types

Choose the right field for each question in SparkLayer Forms, from text, email and date inputs to selects, file uploads, signatures, addresses and groups.

> **Quick summary**
>
> - Each field type collects one kind of input, such as text, a date, a choice from a list or a file. Pick the type that matches the question.
> - Add fields with **Add field** on the **Form** or **Internal fields** tab of the form builder, at **Forms** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/forms)). Forms is only in the SparkLayer Dashboard, not in the SparkLayer Wholesale app in Shopify admin.
> - Choice fields can take their options from a list you type, or from a [data source](https://docs.sparklayer.io/help/forms/data-references.md) such as a data table or the customer's purchases.
> - You can open files customers upload from their [entry](https://docs.sparklayer.io/help/forms/entries.md).

## How it works

A field's type sets how it looks, what customers can enter and the built-in [validation](https://docs.sparklayer.io/help/forms/validation.md) it gets. To add a field, see [Build a form](https://docs.sparklayer.io/help/forms/setup.md#add-fields).

## Standard input fields

Use these for basic customer information. They support validation such as required values, length limits and number ranges.

| Field | Best for |
| --- | --- |
| **Text** | Names, company details, references. |
| **Email** | Contact email addresses. |
| **Long text** | Longer notes or requests. |
| **Number** | Quantities, values or other numbers. |
| **Phone** | Phone numbers with country codes. |
| **Password** | Secure login or gated forms. |
| **URL** | Website addresses or other links. |

## Date and time fields

Use these for dates and times, such as delivery dates. When you configure the field, you can set the allowed range and availability.

| Field | Best for |
| --- | --- |
| **Date** | Delivery dates, deadlines. |
| **Time** | Appointment times. |
| **Date & Time** | Combined date and time. |

## Selection fields

Use these when customers choose from set options. Type the options yourself, or pull them from a data source with [data references](https://docs.sparklayer.io/help/forms/data-references.md#use-references-as-options).

| Field | What it does |
| --- | --- |
| **Select** | A dropdown with one choice. |
| **Multiple choice** | Choose several options from a list. |
| **Radio** | One choice, with the options shown inline. |
| **Toggle** | An on/off switch, for example to confirm something. |
| **Checkbox** | An on/off choice shown as a checkbox. |
| **Slider** | A numeric range. |
| **Country** | One country. |

## Advanced input fields

Use these for richer information.

| Field | Best for |
| --- | --- |
| **Rating** | Feedback or scoring. |
| **Signature** | Agreements or approvals. |
| **File Upload** | Documents, images and other attachments, such as a resale certificate. You can open them from the [entry](https://docs.sparklayer.io/help/forms/entries.md). |
| **Hidden** | Values customers don't see, such as tracking or integration data used by automations. |
| **Tax Information** | Tax details such as a VAT number or tax ID. |
| **Workflow trigger button** | A button that runs a [workflow](https://docs.sparklayer.io/help/forms/workflows.md). Mostly used on internal fields rather than the customer-facing form. |

**For developers: uploaded files**

A **File Upload** answer is stored as a SparkLayer file ID. Use the [Files API](https://docs.sparklayer.io/developers/api/files/get-bulk-files.md) to turn it into a download link.

## Structured fields

These fields create several sub-fields for you. That keeps answers consistent, especially for B2B account requests and onboarding.

| Field | What it includes |
| --- | --- |
| **Name** | Title, first name, last name. |
| **Address** | Street, city, postcode, country. |

## Layout and grouping fields

Use these to organise the form.

| Field | What it does |
| --- | --- |
| **Group** | Keeps related fields together and lets you apply [display logic](https://docs.sparklayer.io/help/forms/conditional-logic.md) to all of them at once. |
| **Group** with **Repeatable** on | Lets customers add the same set of fields more than once, for example one row per line item. |

See [Group related fields](https://docs.sparklayer.io/help/forms/setup.md#group-related-fields) for how groups work.

## Content fields

These fields don't collect answers. Use them to guide customers through the form.

| Field | Best for |
| --- | --- |
| **Heading** | Section titles. |
| **Paragraph** | Instructions or context. |
| **Image** | Visual guidance. |
| **Video** | Embedded videos. |
| **Button** | A link or a workflow trigger. |
| **HTML** | Custom content blocks. |

## Tips

- Use structured fields (**Name**, **Address**) for consistent answers.
- Use **Select** or **Radio** when there's a fixed set of answers.
- Break long forms into [pages](https://docs.sparklayer.io/help/forms/setup.md#add-pages) and groups.
- Only ask for information you need.
