Product

Forms

Multi-page form builder with ~30 field types, conditional logic, and live preview. Public submitters fill them out at /share/<slug>.

The form builder canvas. Drag from the field palette on the left; configure on the right.
The form builder canvas. Drag from the field palette on the left; configure on the right.

Field catalog

Text

text · textarea · email · phone · url

Choice

select (dropdown / chips / cards / radio) · multiSelect · boolean

Number & date

number · currency · date · time · rangePicker · hoursPair

Scheduling

schedule · signupSlot · booking · calendarSelection

Composite

repeater · container · group

Display & totals

markup · image · divider · totals (dashboard widgets w/ formula DSL)

Form lifecycle

Build

Drag & drop fields

Logic

Conditional rules

Publish

Public /share URL

Collect

Review submissions

Visibility & logic

Fields and entire pages can be conditionally shown via a JSON expression. Example: only show "T-shirt size" when "Need a shirt?" is yes.

json
{
  "all": [
    { "field": "needsShirt", "equals": true }
  ]
}

Page-level rules use the same DSL via logicRules.

Concurrency & revisions

Without revisions

Two tabs (or MCP + UI) save back-to-back. The later write silently overwrites the earlier one. User's edits disappear.

With ezInputs

Every form carries a revision counter. A stale write returns 409 + an auto-refresh prompt. Nothing gets clobbered.

Building forms via Claude

"Create a 3-page volunteer sign-up form with name, email, t-shirt size, and availability."
"On the Conference form, add a 'dietary restrictions' multi-select after meal preference."
"Make page 3 only show if the attendee picked 'in-person'."

See the MCP overview for the full list of form tools and how snapshot / restore work.