> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/screens-and-components/types-of-screens/add-new-item-form.md).

# Form (Add Item)

Canonical form page for **Create Form** (`ADD_RECORD` / `CREATE_FORM`): required fields, defaults, sections, stepper, validation, and URL prefill. Update Form shares the same field model; differences are called out.

How-tos (validation, prefill, sections/stepper, reorder, desktop submit) stay short and link here.

## What this is / when to use it

Use Add Item when users should **create a Notion row** from the app.

When **not** to: editing existing rows (Update Form or Update List), picking existing rows (Select Items), or a static page (Content).

## Before you start

1. The database is linked and writable properties exist.
2. You know which fields are required in the business process (not only in Notion).
3. If you need a thank-you page, create that Content screen first.

## Build it

1. **+ New Screen → Form (Add Item)**.
2. Add inputs from [Add/Update data components](https://docs.notionapps.com/screens-and-components/type-of-components/add-update-data-components).
3. Mark required fields. Add email/phone validation where needed.
4. Set defaults: `EXACT` for a status, `DYNAMIC` `CURRENT_USER` for owner.
5. Optionally group fields in **Sections**. Turn on the **stepper** when the form is long (one section per step).
6. Map URL prefill param names on fields you will share in links.
7. Set [submit actions](https://docs.notionapps.com/screens-and-components/form-submit-redirection-and-other-submit-actions).
8. Hide from nav if the form should only open from a button.
9. Publish. Submit one test row. Confirm Notion.

## Every control

| Control         | Options                                         | What it does                              |
| --------------- | ----------------------------------------------- | ----------------------------------------- |
| Required        | On / off                                        | Blocks submit when empty.                 |
| Default         | `NONE` / `EXACT` / `DYNAMIC`                    | Prefill on load.                          |
| Disable editing | Update forms                                    | Lock a field after create.                |
| Validate input  | Email / Phone                                   | Format check. Empty optional fields pass. |
| URL prefill     | Param name                                      | Create Form only.                         |
| Section         | Title, members                                  | Layout group.                             |
| Stepper         | On / off                                        | One section per step; Next/Back.          |
| Submit label    | 1–50 chars                                      | Save button text.                         |
| Submit actions  | `change_data` / `go_to_screen` / `redirect_url` | After save.                               |
| Visibility      | Per component                                   | Show/hide fields.                         |

Update Form (`UPDATE_RECORD` / `UPDATE_FORM`) loads one row, has no URL prefill, and can disable editing. List (Update Items) is the multi-row alternative.

## Sections and stepper

Group fields into **Sections**. Turn on the **stepper** when the form is long so each section is a step with Next/Back. Update Form can use sections too; URL prefill stays Create Form only.

## What users see

A form. Stepper shows progress. Errors appear under fields. Submit writes the page, then runs submit actions. Workflow `form_submitted` may also run.

## Limits and plans

* Prefill is Create Form only; supported types are listed on the prefill how-to.
* Stepper does not submit until the last step.
* File uploads consume plan file meters.

## Example

**Submit service request**: Section 1 Contact (name, email validated), Section 2 Request (title required, priority dropdown, details), Section 3 Files. Stepper on. Prefill `priority`. Submit → `go_to_screen` Thanks + workflow notify.

## Fix problems

| Symptom                    | Likely cause              | What to do                                |
| -------------------------- | ------------------------- | ----------------------------------------- |
| Prefill ignored            | Update form or wrong slug | Create Form; match screen slug and param. |
| Next disabled              | Required empty or invalid | Fill or fix validation.                   |
| Row missing after redirect | Save failed               | Check required and field map.             |

## Related

[Type of Components](https://docs.notionapps.com/screens-and-components/type-of-components). [Form submit redirection](https://docs.notionapps.com/screens-and-components/form-submit-redirection-and-other-submit-actions). How-tos: validation, prefill, sections, reorder.
