Skip to main content
A form is an article-like document: its own tables, a body that is a component stream, the same inline editor. Six question types are platform constants because the submit endpoint validates answers against the stored definition. Their renderers are per site like any component. What the builder sees is in Guides: Forms.

The pieces

Register the six question types and page-break in the registry, and export stageFormMeta from the anchors file.

The address

There is no public form route. A form’s address is /?form=<slug>. Any same-origin link carrying that parameter opens the overlay in place, and the parameter auto-opens on arrival, so a campaign link or QR code lands with the form open. window.openStageForm(slug) is the programmatic API. Inside the admin canvas the same link opens the form’s edit canvas instead. Two other presentations are per-site builds: an in-page document with normal chrome, or a full-screen takeover. Whichever a design uses, the preview route mirrors it.

The schema

A dropdown’s options are edited from its cog (type: "list"), because native <option> elements cannot host canvas chrome. The email question has no cog: its required is locked.

Submitting

Submitting requires JavaScript by design. The page fetches a single-use token bound to the org with a minimum age of two seconds; the submit sends it with the answers. The runtime reads the API base and site domain from window globals the base layout sets. The API validates against the stored definition, checks the email, stores the response, bridges it to the Inbox, and sends notifications to the addresses in org settings.

Runtime hooks

Next steps

Tracking

How a submission becomes an enquiry in the funnel.

Page schemas

The schema reference.