Form builder

Add a form component to a Canvas page, configure its fields, and bind it to a data source.

Product stage
Development build
Last reviewed
2026-08-27
Successful result
The change is visible in the active project.

What this accomplishes

Add a Form component to a Canvas page: a set of fields, a submit button, and a data source it writes submissions to.

This page is the form builder. The data source a form writes to is in local data; the canvas builder the form lives in is in canvas builder.

Current availability

This page documents behaviour verified in Miton development builds. Miton is still pre-release and is not publicly downloadable; invited beta users will receive a signed desktop build with automatic updates.

Before you start

  • A Miton development build, an active project and Canvas open.
  • A connected model and permission to write project files when the task changes the app.

Adding a form

Drag Form from the component library onto the page. It arrives with three starter fields — a required name (text), a required email, and an optional message (textarea, minimum 10 characters) — and a submit label of “Submit”. Ask the agent to add, remove, or reshape fields, or edit the component’s fields directly.

Field types

A field is one of eight types: text, email, number, textarea, select, checkbox, radio, or file. Each has a label, an optional placeholder, and (for select and radio) a list of options. Validation per field is any combination of: required, minimum/maximum length, minimum/maximum value, a regex pattern, and a custom validation message.

Submitting

A form submits to whatever data source you bind it to (see local data) — there’s no other submit destination (no external endpoint, email, or workflow trigger option today). Until a data source is bound, the submit button is disabled.

On a successful submit, the form shows a fixed “Form submitted successfully” message. On failure, it shows the underlying error. Neither message is currently configurable, and there’s no redirect or download success action.

What the form builder does not cover

  • Conditional or multi-step fields — a form is one flat list of fields on one step; showing or hiding a field based on another field’s value isn’t supported.
  • Anti-spam — there’s no honeypot field, submission-timing check, or CAPTCHA built in.
  • Custom success/error messaging, redirects, or alternate submit destinations — see above.

What success looks like

You add a Form component, shape its fields, bind it to a data source, and submissions land there as rows you can browse the same way as any other local data.

Common failures and recovery

  • A disabled submit button usually means no data source is bound yet.
  • Confirm Canvas is editing the intended project and page.
  • Check the selected breakpoint, project permissions and model connection.

Return to the Canvas overview to choose the next part of the project.