FormTrigger
Starts the flow from a form a person fills in: the fields you describe become inputs, and the flow gets them as input.form.<name>.
Fields
| Field | Type | Required | What it does |
|---|---|---|---|
title | string | Heading shown above the form. | |
description | string | A sentence under the heading explaining what the form does. | |
submitLabel | string | Text on the submit button, "Run" by default. | |
fields | string | yes | JSON array of fields: {"name":"customer","label":"Customer","type":"text","required":true}. Types: text, textarea, number, boolean, select (needs "options": ["a","b"]), date. name is a-z, digits, underscore; up to 30 fields. Optional placeholder and defaultValue. |
Output
trigger ("form"), form (an object with one key per field, already coerced to the field type), submittedAt
Notes
Later nodes read the answers as input.form.customer or outputs.<trigger id>.form.customer. Numbers arrive as numbers, booleans as true/false, dates as YYYY-MM-DD or ISO. A run with a missing required field or a wrong option is refused before the flow starts. The form lives at /flows/<id>/run for the account owner; public forms are not available yet.