Repeating groups

A repeating group is a named container of fields that respondents can fill in multiple times. Use them when you need to collect a variable number of similar entries — for example, "Add another facility" or "Add another contact person".

Creating a group

  1. Open the form builder for your form.
  2. Click Add group in the field palette (bottom of the panel).
  3. Give the group a label (e.g. Facility). This label appears as the heading of the group section in the form and on the "Add another…" button.
  4. Toggle Repeatable on if respondents should be able to add multiple entries. Leave it off for a one-time group (useful for grouping related fields visually without allowing repetition).
  5. Add fields inside the group by clicking field types while the group is selected in the canvas.

How it looks to respondents

Each group is rendered as a clearly labelled section. When a group is repeatable, a button labelled "Add another [Group name]" appears below the last entry. Respondents can remove any entry except the first.

How responses are stored

Each instance of a repeating group is stored as a separate set of answers. The field ID links each answer to the correct group entry. When you export to CSV, each group instance becomes its own row (merged with the top-level answers).

Importing groups from JSON

When importing a form from JSON, you can define groups under the groups key and nest fields inside them:

{
  "title": "Facility Survey",
  "groups": [
    {
      "label": "Facility",
      "repeatable": true,
      "fields": [
        { "type": "SHORT_TEXT", "label": "Facility name", "required": true },
        { "type": "COORDINATES", "label": "Location" }
      ]
    }
  ]
}

Alternatively, top-level fields can reference a group by name using groupRef:

{
  "fields": [
    {
      "type": "SHORT_TEXT",
      "label": "Facility name",
      "groupRef": "Facility"
    }
  ],
  "groups": [
    { "label": "Facility", "repeatable": true }
  ]
}