FormWork FormWork

Field Types

Explore all 20+ field types available in FormWork.

FormWork provides over 20 field types organized into categories. Each type is designed for specific use cases with built-in validation and configuration options.

Atomic Fields

Single-value input fields that collect one piece of information.

Text

Basic single-line text input.

Config OptionDescription
min_lengthMinimum character count
max_lengthMaximum character count
input_modeKeyboard hint (text, numeric, tel, email, url)
autocapitalizeAuto-capitalization behavior

Email

Email address input with built-in format validation.

Automatically validates that input contains @ and follows email format.

URL

Web address input with protocol validation.

Validates that input starts with http:// or https://.

Textarea

Multi-line text input for longer content.

Config OptionDescription
min_lengthMinimum character count
max_lengthMaximum character count
rowsNumber of visible text rows (1-20)
resizeResize behavior (none, vertical, horizontal, both)

Hidden

Invisible field for storing data that shouldn’t be edited by users.

Useful for:

  • Tracking parameters
  • Pre-populated values from integrations
  • Internal identifiers

Number

Numeric input with optional constraints.

Config OptionDescription
minMinimum value
maxMaximum value
stepIncrement step
decimal_placesNumber of decimal places (0-10)
display_prefixPrefix (e.g., ”$“)
display_suffixSuffix (e.g., “kg”)

Date

Date picker input.

Config OptionDescription
min_dateEarliest selectable date (YYYY-MM-DD)
max_dateLatest selectable date
disabled_days_of_weekDays to disable (0=Sunday to 6=Saturday)

Time

Time input.

Config OptionDescription
min_timeEarliest time (HH:MM)
max_timeLatest time
stepTime step in seconds

DateTime

Combined date and time picker.

Config OptionDescription
min_datetimeEarliest datetime (YYYY-MM-DDTHH:MM)
max_datetimeLatest datetime

Toggle

Boolean on/off input.

Config OptionDescription
display_styleVisual style (checkbox, toggle, rich_toggle)
true_labelLabel when checked
false_labelLabel when unchecked
require_trueRequire the toggle to be on

Select

Dropdown selection from a list of options.

Config OptionDescription
optionsArray of {id, label, value} objects
allow_otherAllow custom “other” input

Options can also come from a Data Table using options_data_source.

Multiselect

Multiple selection from a list of options.

Config OptionDescription
optionsArray of {id, label, value} objects
max_selectionsMaximum number of selections

Radio

Single selection displayed as radio buttons.

Same configuration as Select but displayed inline.

Slider

Numeric input displayed as a range slider.

Config OptionDescription
minMinimum value
maxMaximum value
stepIncrement step

Phone

Phone number input with country code support.

Config OptionDescription
default_country_codeDefault country (2-3 character code)

Password

Password input with optional strength requirements.

Config OptionDescription
min_lengthMinimum password length
strength_rules.require_uppercaseRequire uppercase letter
strength_rules.require_lowercaseRequire lowercase letter
strength_rules.require_numberRequire number
strength_rules.require_specialRequire special character

Rating

Star rating or similar input.

Config OptionDescription
styleDisplay style (stars, hearts, numbers, emotions)
minMinimum rating
maxMaximum rating
label_lowLabel for low end
label_highLabel for high end

Signature

Digital signature capture.

Config OptionDescription
sizeCanvas size (compact, standard, large)

Signatures are stored as PNG data URLs.

File

File upload field.

Config OptionDescription
allowed_typesArray of allowed MIME types
max_file_sizeMaximum file size in bytes
min_filesMinimum number of files
max_filesMaximum number of files (up to 20)
multipleAllow multiple file selection

Templated Fields

Fields that automatically generate subfields.

Name

Structured name input with configurable parts.

Config OptionDescription
show_titleInclude title/prefix field
show_middle_nameInclude middle name field
show_suffixInclude suffix field

Generates subfields: _title, _first_name, _middle_name, _last_name, _suffix

Address

Structured address input with lookup support.

Config OptionDescription
show_streetInclude street field
show_street2Include second address line
show_cityInclude city field
show_stateInclude state/province field
show_postcodeInclude postal code field
show_countryInclude country field
country_modeCountry selection mode (none, all, specific, locked)
default_countryDefault country code
allowed_countriesAllowed country codes (for specific mode)
enable_lookupEnable address autocomplete
lookup_providerLookup service (here)

Container Fields

Group

Container for organizing related fields.

Config OptionDescription
layoutField arrangement (row, column)
fieldsNested field definitions
repeatableAllow multiple instances

Content Fields

Display-only fields that don’t collect data.

Heading

Section heading text.

Config OptionDescription
levelHeading level (h1-h6)

Paragraph

Body text content.

Button

Clickable button.

Config OptionDescription
typeButton type (button, link)
urlLink URL (for link type)

Buttons can trigger workflows when clicked.

HTML

Custom HTML content.

Image

Display image.

Config OptionDescription
urlImage URL
altAlt text
alignAlignment (left, center, right)

Video

Embedded video content.