Skip to main content
The form builder and @osforms/react support 12 field types: text inputs, choices, scale and rating, and display-only statements.
These fields only apply to forms rendered from a schema (the dashboard Builder tab or @osforms/react). A plain HTML form can post any inputs; each input’s name becomes a key in the submission.

Text inputs

text

Single-line text input.

email

Single-line input with email format validation.

tel

Phone number input. No format enforcement: it accepts any string unless you add a pattern.

url

URL input. Validated with the browser’s URL parser, so it needs a scheme (https://example.com, not example.com).

number

Numeric input with min / max validation. The value is submitted as a string (for example "42").

textarea

Multi-line text input. Defaults to 4 rows in classic mode and 3 in conversational mode.

Choice

select

Dropdown single-select (a native <select>). Advances immediately on selection in conversational mode.

radio

Single choice from a visible list of options. Auto-advances in conversational mode.
Options are listed vertically.

checkbox

Multi-select option list. Submitted as an array of selected values.

Scale and rating

rating

Star rating, 1 to 5 by default. Auto-advances in conversational mode.

scale

NPS-style numeric scale, 1 to 10 by default. Auto-advances in conversational mode.

Display

statement

Display-only text. No input is collected. Use it for instructions or notices. Only the description is shown; label is used in the builder to identify the block.

Not supported yet

The schema type also lists date, file, and divider. They aren’t in the builder and @osforms/react doesn’t render them, so don’t use them yet. File uploads aren’t stored by the submission endpoint either.

Common field properties

Validation reference

minLength/maxLength suit text inputs and min/max suit number, scale and rating, but the validator applies whichever rules you set to any field.