Forms & data collection

Ask for what you need. Put every answer to work.

Build reusable forms or adapt the questions to the situation. Validate each answer, then use it in the next step of your process.

Customer information form with work email, annual purchase volume, and primary need fields.
Collect customer information User Action with a form reference and typed outputs.
The visible form and the typed values returned to the Process
Two form modes

Reuse a governed Form — or build the questions at runtime

Reusable Forms are versioned platform artefacts. A custom_form step selects a Form and the Process snapshot pins the exact revision it depends on.

Dynamic Form is different: it consumes an ephemeral common.form_spec produced during execution. This is useful when the questions themselves depend on what a previous Decision, provider call or Agent discovered.

01

Reusable Form

Design the fields in Form Studio, reuse the Form across Processes and keep the exact revision pinned into the Process contract.

02

Dynamic Form

Present runtime-specific questions from a common.form_spec without pretending the temporary specification is a persisted Form artefact.

03

Validated submission

The Process resumes only with values validated against the form that was actually presented.

Orchestration boundary
The Form collects data; the Process decides why and what happens next

A Form does not own routing, retries, provider calls or business policy. The User Action presents the contract and waits; the Process decides when that interaction is needed and where its output goes next.

Implication

What this boundary changes in the design

An Agent may propose a runtime form specification when ambiguity requires it, but the Agent does not render the interaction or silently persist a new Form.

Dynamic clarification stays composable.

Agent analysis produces common.form_spec; a Dynamic Form collects common.form_submission; Agent reassessment continues this explicit Process chain instead of a hidden chat loop.

Data quality & protection

Validation and classification continue beyond the screen

Field constraints make the submission usable by downstream nodes without rebuilding validation in every integration. The output remains typed as Process data rather than becoming an opaque JSON blob.

Data classification is applied at ingress and preserved through execution. A sensitive answer stays protected when it flows to later nodes and generic observability.

Forms & data collection

See Ormuz in action, then start building.

Explore a real journey, then open the console to build your own processes.