Repeating groups
A Repeating group asks a few questions once for each of several things: each guest on an RSVP, each item on an order, each expense on a claim, each reference on an application. The respondent fills in a row, clicks Add another guest, and fills in the next. No more Guest 1 name, Guest 2 name, Guest 3 name questions.
Add a group
Section titled “Add a group”- In the builder, click the + between cards and pick Repeating group under Structure.
- Give it a title that asks the whole, like Who is coming?
- Under Rows, set One row is called: Guest makes the rows Guest 1, Guest 2 and the button Add another guest. Without a name, rows are called Item.
- Click + Add a question on the group’s card for each question asked per row.
To move a question you already have into the group, open its ⋮ menu and choose Move into the group. Move out of group puts it back on the page, right under the group. Drag questions inside the group to reorder them.
What a row can ask
Section titled “What a row can ask”Text, Email, Phone, Website, Number, Date, Multiple Choice, Yes/No, Rating, Country and Calculated questions. File uploads, signatures, addresses, database choices, payments, content blocks and another group stay outside. So do hidden fields, and email questions with verification on.
A group holds up to 20 questions.
How many rows
Section titled “How many rows”- Fewest rows: the rows the form starts with, and the fewest a response can have. With 0, the form starts with only the add button, and the group may be left empty.
- Most rows: up to 50. The add button goes away at the limit.
The settings say what the respondent gets, like From 1 to 6 rows; the form starts with 1. For an exact number, like two references, set both to 2.
A question marked Required is required in every row.
On the form
Section titled “On the form”Each row has a heading (Guest 2) and, while there are more rows than the minimum, a button to remove it. Later rows move up when one is removed. The review screen shows a line per row, like Guest 2: Bob, Vegan.
Conditions work in rows and on them:
- Inside a row, a question can depend on an earlier question in the same row: show Which allergies? only for a guest whose meal is Vegan. In the condition, that question is listed as Meal (this Guest). Questions outside the group work too.
- Outside the group, a condition on a row question holds when any row matches: Meal (any Guest) is Vegan shows a note for the kitchen.
- The group itself stands for its number of rows: Guests (number of rows) is more than 4.
A group can have a condition of its own, like any question. When it’s hidden, none of its rows are asked or kept.
Calculations
Section titled “Calculations”A Calculated question inside the group is worked out per row, from that row’s answers and answers outside the group: Line total = Quantity × Product.
Outside the group, add the rows up with SUM( ), COUNT( ), MIN( ), MAX( ) or
AVG( ) around a question from the group. Type the function, pick the question from
the list, and close the bracket:
SUM(Line total)is the order total.COUNT(Guests)is the number of rows;COUNT(Email)the rows that have an email.MIN,MAXandAVGlook at the rows that have an answer.
Point a Payment at the total and the respondent pays for every line. See Calculations for the rest of the formula.
What can’t use a row question yet
Section titled “What can’t use a row question yet”Only conditions and calculations understand rows. Piping a row answer into a question’s text, a payment’s price, a lookup table, or the welcome, review or thank-you screen isn’t supported, and publishing says which question to change. Use a calculation outside the group instead, like a total or a count.
Responses
Section titled “Responses”- The responses table shows a group as one cell: Guest 1: Ada, Fish; Guest 2: Bob.
- A response lists each row on its own card, Guest 1, Guest 2, with every answer.
- The summary counts a group’s questions across all rows, and shows the number of rows per response like a number question.
- The Excel export has the group as one column on the Responses sheet, plus a sheet per group with a line per row: the response link, the row number and a column per question.
- The API, webhooks and Zapier, Make and n8n get a group’s answer with its rows, each row an object of its answers.
Integrations
Section titled “Integrations”In emails, Slack and Teams, {{answers.all}} lists a line per row, like Guest 1: Ada,
Vegan. The group’s own variable gives the rows as text.
Notion, Airtable and Google Sheets can give each row its own page, record or line:
- Notion: a database of its own, with a page per row linked to the response’s page. Create it for me makes the database and the link; or Choose a database that has a relation to the responses database.
- Airtable: a table of its own, with a record per row linked to the response’s record. Create it for me or Choose a table.
- Google Sheets: Write each guest to a tab, a line per row, with the response link to find them again.
Each property, field or column is filled per row, and the Row number variable says which row it is. Without a place of their own, the rows go into one text property, field or column on the response.
When a respondent revises their response, its rows are replaced. In Notion and Airtable that means every page or record in the rows’ database that links to the response, including one you linked to it by hand. Notion keeps removed pages in its trash. Keep your own notes about a response on the response’s page or record instead.
A Number question formatted as Plain number arrives in a table Nextforms creates with 2 decimals, like 3.00. For a quantity, set the question’s format to Whole number before you create the table.
Drafts and revisions
Section titled “Drafts and revisions”A respondent who leaves and comes back finds their rows where they left them, and a link from Send back for changes opens with the rows filled in.
With AI
Section titled “With AI”Describe your form builds groups too: “for each guest, their name and meal, up to six guests” becomes a group of six rows at most.