Add/Update data components
Canonical family page for every input component on Create Form, Update Form, and Update List. View-only blocks are on View data components. Address, file, user, location, and signature also have focused pages; those stay as extra depth and must not contradict this table.
What this is / when to use it
Section titled “What this is / when to use it”Use an input when the user should write a writable Notion property. If the property is formula, rollup, created_time, last_edited_time, created_by, or last_edited_by, use a view component instead.
Before you start
Section titled “Before you start”- The property is in NotionFieldsWithReadWriteAccess (or you are collecting a value that only lives in the app, which is rare).
- You know create vs update: create uses
*_FOR_CREATEtypes; update uses*_FOR_UPDATE. The builder shows one palette per screen. - Validation, required, and prefill rules are decided. See the shared controls on Type of Components.
Build it
Section titled “Build it”- Add the input.
- Bind the property.
- Set required, default (
NONE/EXACT/DYNAMIC), disable editing (update only), visibility, and optional URL prefill name (create only). - Set the type-specific enum in the table.
- Preview empty, invalid, and filled. Publish.
Every control
Section titled “Every control”| Input | Create / update enums | Notion types | Type-specific controls |
|---|---|---|---|
| Text | INPUT_TEXT_FOR_CREATE / UPDATE |
title, rich_text, email, phone, unique_id (as text), people (as text) | Validate email/phone; max length |
| Long text | INPUT_LONGTEXT_FOR_* |
rich_text | Rows, validate email/phone |
| Number | INPUT_NUMBER_FOR_* |
number | STEP vs SIMPLE (NumberComponentStepType) |
| Date | DATE_PICKER_FOR_* |
date | DATE / TIME / DATE_TIME |
| Scheduling date | SCHEDULING_DATE_FOR_* |
date | Same date/time choice plus Scheduling rules: closed days, holidays, earliest day, booking window, hours, time zone. See below. |
| Toggle | INPUT_TOGGLE_FOR_* |
checkbox | On/off labels |
| Options | SELECT_OPTIONS_FOR_* |
select, status | DROPDOWN vs RADIO (OptionsComponentStyle) |
| Multi-select | MULTI_SELECT_FOR_* |
multi_select | Chips; allow add-tag depends on Notion |
| Special multi-select | same family | people-as-text or custom multi | Only when the builder offers the special variant |
| Image | UPLOAD_IMAGE_FOR_* |
files | CAMERA vs ALL (MediaCaptureSource); NONE vs MAX compression |
| Video | UPLOAD_VIDEO_FOR_* |
files | Same capture + compression |
| File | FILE_UPLOAD_FOR_* |
files | Capture source; size limits on plan |
| User | INPUT_USER_FOR_* |
people-as-text or users db | Picks an app user, not a raw Notion people widget |
| Address | INPUT_ADDRESS_FOR_* |
text / address mapping | Structured fields |
| Location | INPUT_LOCATION_FOR_* |
location | LocationMapType, LocationOutputType |
| Signature | INPUT_SIGNATURE_FOR_* |
files / signature | Required means they must sign |
| Reference | SELECT_DATA / update data |
relation | NONE / DIRECT / SELECTION — Selection opens Select Items; configure Wrap Text on that screen |
Related focused pages: Address, File upload, User field, Location viewer (view), Signature.
Reference selection
Section titled “Reference selection”A Reference input with add type SELECTION opens a Select Items screen. Configure the picker on that Select Items screen:
- Turn on Layout → Wrap Text when long titles, subtitles, or captions need to be shown in full.
- The setting applies to both List and Grid and works on phone and desktop.
- Wrap Text is off by default; off or missing keeps the existing one-line ellipsis.
DIRECTis an inline picker and does not use the Select Items screen’s layout settings.
There is no separate Wrap Text setting on the Reference input. Choose the target Select Items screen, then configure Wrap Text there.
Number STEP vs SIMPLE
Section titled “Number STEP vs SIMPLE”SIMPLE— type a number.STEP— plus/minus stepper. Use for quantities.
Date visibility
Section titled “Date visibility”DATE— calendar date only.TIME— time only.DATE_TIME— both. Match how the Notion property is used.
Scheduling date rules
Section titled “Scheduling date rules”Scheduling date is a date input with its own calendar rules, for booking and appointment forms. It writes the same Notion date property as Date. The end user sees an ordinary calendar; days and times the rules forbid are not offered, and the server checks the same rules again on save. Each Scheduling date field keeps its own rules, so a pickup date and a return date on one form can use different calendars.
Add the field, choose Scheduling date, and fill the Scheduling rules section. Every box is optional; leave a box blank to skip that rule.
| Rule | What it does | Example |
|---|---|---|
| Closed days | Tap a weekday to close it. Sunday is the first day. Leave every day off to allow all seven. | Close Sat and Sun for Monday–Friday bookings |
| Holidays | One date per line as YYYY-MM-DD. Add yearly after a date to block that month and day every year. No holiday calendar is loaded; you list the days. |
2026-11-26; 2026-12-25 yearly |
| Earliest day | Days from today before someone can book, counted in the field’s time zone. 0 allows today; 1 makes tomorrow the first open day. |
2 for two days’ notice |
| Booking window | Days ahead someone can book, counted from today. Blank means no far limit. | 14 offers the next two weeks |
| Hours | One range per line in 24-hour time, like 08:00-16:30. Add weekdays after the range to limit it (0 = Sunday … 6 = Saturday). Blank allows the whole day. If you set hours, set Show date/time to DATE_TIME so the picker asks for a time. |
08:00-16:30 1,2,3,4,5 for weekday office hours; a second line 10:00-13:00 6 adds Saturday mornings |
| Time zone | Closed days, earliest day, and hours all use this zone, not the end user’s browser zone. | America/New_York |
What the end user sees:
- Closed weekdays, holidays, days before the earliest day, and days past the booking window are greyed out.
- With hours set, a weekday stays selectable until a clock time is chosen; only times inside the allowed range are offered.
- A saved value that breaks a rule shows one of: That day is before the first available day. / That day is outside the booking window. / That weekday is closed. / That day is a holiday on this field. / That day has no available hours. / That time is outside the available hours.
Switching a field between Date and Scheduling date keeps the rules and the date/time choice. Saving a field as a plain Date does not erase rules you typed earlier.
CAMERA— camera only (phones).ALL— camera + library + files.- Compression
MAXreduces upload size and quality.NONEkeeps the original within plan upload limits.
What users see
Section titled “What users see”A labeled control. Required fields show an error on submit (and often on blur). Format validation shows “Please enter a valid email address” / “valid phone number” without blocking empty optional fields. Submit writes writable properties and then runs form submit actions.
Limits and plans
Section titled “Limits and plans”- People / created_by / last_edited_by are text in the field map. A User input is the supported way to assign an app user.
- Files are URL in the field map. Uploads still go through NotionApps file storage and then Notion. Plan file upload meters apply. See Plans.
- Unique id is text. Do not offer it as an editor unless you know what you are doing; use the chip to display it.
- Adding select options from the app depends on Notion permissions and the troubleshooting guide for new tags.
- URL prefill is Create Form only.
Example
Section titled “Example”Add inspection: Text title (required), Date DATE_TIME for Scheduled, Options radio for Severity, Image CAMERA + MAX compression, Reference SELECTION → Select Items on Sites, Toggle for “Client may see photos.”
Book a visit: Text name (required), Scheduling date DATE_TIME for Visit with Closed days Sat + Sun, Hours 08:00-16:30 1,2,3,4,5, Earliest day 1, Booking window 30, Time zone America/New_York; Reference SELECTION on Sites.
Fix problems
Section titled “Fix problems”| Symptom | Likely cause | What to do |
|---|---|---|
| Cannot bind formula | Read-only | Use a view component. |
| Camera missing on desktop | CAMERA only |
Use ALL if desktop must upload. |
| User picker empty | Users database not linked, or guests excluded | Create Users Database. See guest dropdown troubleshooting. |
| Scheduling date never asks for a time | Show date/time is DATE while Hours are set |
Set DATE_TIME on the field. |
| Booking saved on a closed day | Rules were added after the user opened the form | The server rejects it with the message above; ask them to reopen the form. No rule bypass exists. |
| Long names truncate in a Reference selection | Wrap Text is off on the target Select Items screen | Open that Select Items screen and turn on Layout → Wrap Text. |
| Relation disabled in logic | Nested relation / projection | Relations and the logic-picker troubleshooting page. |
Related
Section titled “Related”Shared controls: Type of Components. After submit: Form submit redirection. Field map: Notion property types. Scheduling date shipped in the 3 Oct 2026 Release. Select Items Wrap Text shipped in the 4 Oct 2026 Release.