Building forms
Field types
Every field Gatherino ships with. All fields support required/optional, conditional logic, custom error messages, and inspection in exports.
Basic inputs
Short text
Single-line input. Supports min/max length, placeholder, pattern regex, and autocomplete hints.
Long text
Multi-line textarea with an optional character counter. Great for feedback or descriptions.
Validated against RFC 5322. Used as the default reply-to for confirmation emails if enabled.
Phone
International phone input with country picker and E.164 normalisation on submit.
Number
Integer or decimal with min/max, step, and locale-aware formatting.
URL
Validated URL field, auto-adds `https://` if missing.
Choice fields
Dropdown
Single-select with search. Supports option groups and an optional "Other" write-in.
Radio
Single-select rendered inline. Best for 2–5 options.
Checkboxes
Multi-select. Enforce min/max number of selections if needed.
Rating
Classic 1–5 or 1–10 star rating with a hover preview.
NPS
Net Promoter Score — 0–10 with detractor/passive/promoter colouring.
Advanced fields
Date
Calendar picker with min/max date, disabled weekdays, and optional time slot picker.
Time
Time-only picker with 12h/24h formats and custom step (e.g. 15-minute slots).
File upload
Up to 50 MB per file. MIME-type allowlist (images, PDFs, docs). Files are virus-scanned on upload.
Signature
Draw with a finger/stylus/mouse, or type a name rendered in one of four signature fonts. Signatures are stored as PNG.
Address
Structured address with optional Google Places autocomplete. Breaks out street, city, postal code, country.
Currency
Number input with a currency prefix. Pick EUR, USD, CZK, GBP, or any custom ISO code.
Markdown block
Not an input — a static block for instructions, legal text, or section headings rendered in the form.
Field IDs in exports & the API
Every field gets a stable machine-readable ID when it's first added (something like field_1712345678901_a8fgh). Renaming a field's label does not change its ID, so your integrations and exports keep working.
In exports you can choose between human labels and raw IDs. When using the REST API, submissions are returned keyed by field ID.