For the complete documentation index, see llms.txt. This page is also available as Markdown.

🖊️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

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

  1. The property is in NotionFieldsWithReadWriteAccess (or you are collecting a value that only lives in the app, which is rare).

  2. You know create vs update: create uses *_FOR_CREATE types; update uses *_FOR_UPDATE. The builder shows one palette per screen.

  3. Validation, required, and prefill rules are decided. See the shared controls on Type of Components.

Build it

  1. Add the input.

  2. Bind the property.

  3. Set required, default (NONE / EXACT / DYNAMIC), disable editing (update only), visibility, and optional URL prefill name (create only).

  4. Set the type-specific enum in the table.

  5. Preview empty, invalid, and filled. Publish.

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

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

Related focused pages: Address, File upload, User field, Location viewer (view), Signature.

Number STEP vs SIMPLE

  • SIMPLE — type a number.

  • STEP — plus/minus stepper. Use for quantities.

Date visibility

  • DATE — calendar date only.

  • TIME — time only.

  • DATE_TIME — both. Match how the Notion property is used.

Media

  • CAMERA — camera only (phones).

  • ALL — camera + library + files.

  • Compression MAX reduces upload size and quality. NONE keeps the original within plan upload limits.

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

  • 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

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.”

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.

Relation disabled in logic

Nested relation / projection

Relations and the logic-picker troubleshooting page.

Shared controls: Type of Components. After submit: Form submit redirection. Field map: Notion property types.

Last updated