Flow Forms Docs Flow Forms Docs

Form Builder

On this page 13

The form builder is where you assemble a form: you add fields from the toolbar, arrange them, and set each one up in its editor. No coding knowledge is needed.

Creating a Form

  1. Go to Admin → Forms.
  2. Click Create Form.
  3. Give the form a name.
  4. Start adding fields.

Adding Fields

Fields are added from the toolbar at the top of the builder: pick a type from the Select Element Type dropdown, type the field's name, and click Add Input (or press Enter). See Field Types for what each type does.

New fields are required by default. Press Shift+Enter instead of Enter to add a field as optional, or change it any time in the field's editor.

Everything else about a field - help text, placeholder, options, rules - is set after adding it: click the field to open its editor, make your changes, and click Save changes.

New fields go to the end of the form unless you say otherwise, which is what the Insert after dropdown is for.

Choosing Where Fields Are Placed

The Insert after dropdown sits in the toolbar and controls where the next field lands:

  • End of form (default) - new fields are added to the bottom of the form.
  • Beginning of form - new fields are placed at the very top.
  • After a specific field - pick any existing field, and new fields go directly after it.

The dropdown is searchable, so on a long form you can type a field's name instead of scrolling to it.

Once you add a field, the insertion point moves forward automatically so the next one lands directly after it. That way you can add several fields in a row to the same place without setting the position each time.

You can also set the insertion point from a field's context menu by choosing Insert after.

The insertion point survives a page refresh, so you can pick up where you left off.

Duplicating a Field

Open a field's context menu and choose Duplicate Element. The copy appears right after the original, unless you have an insertion point set, in which case it goes there instead.

Arranging Fields

To move a field, open its context menu and choose Move: up or down one position, to the beginning or end of the form, or directly after any field you pick. Fields stack vertically in the order they hold.

When the same set of fields has to be filled in an unpredictable number of times, put them in a Group, which repeats them as numbered rows the respondent adds to.

For longer forms, Sections split the fields into tabs so respondents work through one topic at a time.

Undoing a Change

The builder keeps a full history of your changes. Open the menu next to the form's name and choose History to see every change, grouped by day; click any entry to restore the form to that point, and Redo all brings back changes you undid. Nothing you do while building is more than a click from being reversed.

Field Settings

Open a field's editor and you will find, for most types:

  • Name - the label users see.
  • Required - whether the field must be filled in before the form can be submitted.
  • Help Text - instructions shown below the field.
  • Placeholder - example text shown while the field is empty.

Not every setting applies to every type: display-only types like Content have no Required toggle, choice fields like Radio and Select have options instead of a placeholder, and so on. The editor only shows what fits the type; Field Types covers what each one offers.

Dynamically Populate Options

On a form that has a datasource, a field's menu includes Edit Connected Field. The window is titled Connected Field.

For a Select, Radio Buttons, or Checkboxes field, Dynamically Populate Options builds the choices from the rows of a repeating group on the source form.

  1. Turn on Dynamically Populate Options.
  2. Under Element, pick a field that sits inside that group. With the switch off, Element lists fields of the same type that are not in a group, and Keep in sync is available. Its description is "Update this field when the source changes".
  3. Click Save.

On the form someone fills in, each non-blank row of that source field is one choice, in the source's row order. The same text is listed once. The person picks. That answer is not copied from the source, and it does not change if the source row changes later. Allow Other is not offered. A required field stays required.

When this submission is tied to one row of the source, only that row is offered, and it starts selected. If that row is missing or empty, there are no choices. A saved answer stays if the source submission is later deleted. A choice that is not one of the current rows cannot be saved.

Disconnect asks "Are you sure you want to disconnect this field?"

See Sharing Connected Forms for handing those forms out while yours is still open.

Translate form

On Edit Form, Translate form sits in the toolbar next to AI Assistant. It is there when AI is turned on for the account and you are not an external user. Starting a translation also requires permission to edit that form.

  1. Click Translate form.
  2. Read Review AI translations before sharing this form.
  3. Click Translate. Cancel closes the window without starting.

The button reads Translating… while it runs. When it finishes, a toast says Form translated. If it cannot run, including when the monthly AI allowance is used up, the toast says Could not translate this form.

It translates into Spanish only. It fills the Spanish form name, each field's name, placeholder, and help text, and the labels on Select, Radio Buttons, Checkboxes, and Autocomplete options, including shared lists and the options of a connected field. People see that copy when they choose Spanish under Language. The value stored for an option does not change.

It fills Spanish that is missing, and it replaces Spanish it wrote on an earlier run. Text you saved yourself is left alone: use Edit Translations on the field's menu, or Manage translated form name on the form name. Empty text is skipped. Options that come from a user group or a Notion field are not translated. One translation runs per form at a time, and nothing is saved unless the whole run succeeds.

Form-Wide Settings

The menu next to the form's name holds the settings that apply to the whole form rather than a single field. Click More Settings to open the panel:

  • The user groups that can fill out the form, and the groups that can view its submissions.
  • How the form behaves, including anonymous access and its open and close schedule.
  • Form Tags, which group related forms so you can filter your forms list down to one project or department.

The same menu holds History, the form's edit history, and Manage Short URL for a cleaner share link.

Saving and Sharing

Fields save the moment you add them, and edits save when you click Save changes in a field's editor; the form-wide settings panel has its own Save. There is no final publish step - a form is live at its link as soon as it has fields.

When the form is ready:

  1. Click the form's name (View live form) to open it and fill it in yourself, checking it behaves the way you expect.
  2. Share the form's link or QR code with respondents. Manage Short URL gives you a tidier address to print or read aloud.

Tips

  • Start with the fields you are certain about and add the conditional cases afterwards.
  • Name fields the way a respondent would describe them, not the way your database does.
  • Fill the form in yourself before sharing it, including the paths that only some people see.
  • Group related fields so the form reads as a sequence of topics rather than a list of questions.