formbasedocs
Go to appApp

Building Forms

Repeating groups

A repeating group bundles a few related questions into one block that respondents can add over and over. One block collects a whole list — guests, line items, contacts — without you guessing how many rows to build.


What a repeating group is

A repeating group is a labeled container that holds one or more questions — its member fields. Respondents add as many entries of the whole group as they need. Each entry collects a fresh set of answers for every member field inside.

Reach for one whenever a single respondent might supply the same shape of data more than once:

  • Event guests — a Name and Age for each person they bring.

  • Order line items — a product, quantity, and price per row.

  • Contacts — name, email, and role for everyone on a team.

  • Work history — employer, title, and dates for each past job.

Add a repeating group

A repeating group is a structural block: a group title, the member fields inside it, and an add button. Groups live at the top level of your form — the editor pins that shape automatically, and you cannot nest one in another.

  1. 1

    Insert the group

    Click an empty line on the canvas, type /, and pick Repeating Group. The cursor lands in the title.

  2. 2

    Name the group

    Give it a title, like "Additional guests". This is the heading respondents see above the entries. Hide it later from the block menu if you do not want it.

  3. 3

    Add member fields inside

    Drop ordinary questions into the group — Text Input, Number, Date Picker, Dropdown, and more. Each keeps its own label, placeholder, and required toggle.

  4. 4

    Edit the add-button label

    The button reads "Add one more" until you change it. Make it match the content — "Add another guest".

Already built the fields? Select them, open the block menu from the drag handle, and choose Create repeating group — it works on one block or on a run of them. The same menu on a group offers Hide title and Remove grouping, which unwraps the questions again.

What respondents see

The first entry shows inline — the group title, its member fields, and the add button, just like any other section of the form. As soon as a respondent adds a second entry, each one becomes a numbered card (01, 02, 03 …) with a remove control in its corner.

  • Add button — appends a new blank entry each time it is clicked.

  • Remove control — the X on a card deletes that entry. It appears once there are two or more entries.

  • At the ceiling — a group holds up to 100 entries, and the add button also goes dead when the answers reach the 256 KB per-submission payload limit. Both are guards against runaway submissions, not something respondents normally meet.

On a request that locks one of the group’s member fields, the shape is fixed for that recipient: they can neither add nor remove entries.

Keep member fields focused

A repeating group works best with a handful of tight questions — the set a respondent fills in once per entry. The required toggle applies per entry, so every entry must clear the same validation.

Groups and conditional logic

A whole group can be shown or hidden by a logic rule, exactly like any other block. Member fields cannot: they are not offered as conditions, as show/hide targets, or as required/optional targets, because a rule would silently act on the first entry only. Branch on a question outside the group instead.

Where the answers show up

Once responses arrive, the group stays grouped across every surface. Each page below carries the full detail — this is just the map:

  • Submission inbox

    — one submission shows numbered cards per entry; the table view gets a single count chip that opens the detail.

  • Question summary

    — the group appears as one card with entry and submission counts plus a mini block per member field.

  • Exports

    — each entry exports under its own keys, and the whole group can also collapse into a single labeled text column.

  • Callbacks and the API

    — the group answers under its own field key as a list, one object per entry keyed by member field, in the order the respondent left them.

Referencing group answers

Pipe a repeating group into other questions, notifications, or integrations with an @ mention — mention a single member field to join that field’s value across every entry, or mention the whole group to pull in all entries at once. See Answer piping → Referencing repeating groups for exactly how each reference resolves, with examples.

Next steps