Repeatable Sections Overview

A section is a way of grouping fields on a page in a smart online form. As each section is displayed once in the front end, the fields grouped within a section can be answered once. A repeatable section is the same as a section in all ways except one - it can be displayed/repeated multiple times in the form's front end, meaning the fields within a repeatable section can be answered multiple times.

The use-case for repeatable sections is for inputting information for multiple instances of the same thing. For example, collecting the name, DOB and email address of multiple people, the address and purchase price of multiple properties or the date of manufacture and mileage of multiple motor vehicles. In all cases, the same information is collected multiple times.

The main benefit of using a repeatable section is that it is more efficient (time- and effort-wise) to create one repeatable section compared to multiple sections. Additionally, when using a repeatable section you only need to make changes/edits once, rather than once for each section as is the case if you do not use a repeatable section.

Another benefit of repeatable sections is their usage with repeatable named ranges.


Setting a section as "Repeatable"

You can make a repeatable section by either creating a new section and setting it as "Repeatable" or by setting an existing section as "Repeatable". To mark a section as "Repeatable":

  1. add a new section by clicking "New Section" or navigate to the desired section,
  2. click the edit button for the section (which looks like a pencil),
  3. choose “Properties”,
  4. the edit panel will then open on the right where you can check "Repeatable",
  5. select the minimum and the maximum number of repetitions as required, and
  6. click "Save".

In step 5, the minimum and the maximum number of repetitions can be a number (an integer) or a field value (the answer of a number field). The cap on the maximum number of repetitions is 100.


The {{Repeat}} variable

To distinguish between repetitions, you may use the {{Repeat}} variable (case sensitive), including within your section headings, question labels and option labels. The role of the {{Repeat}} variable is to act as a repetition counter that identifies and differentiates each repetition of a repeatable section. For example:

  • in the first instance "{{Repeat}}" is replaced with "1"; and

  • in the second instance "{{Repeat}}" is replaced with "2".

Using the {{Repeat}} variable in your question labels is a simple way to ensure that all question labels are unique so they can be easily merged into a document.

Referencing a repeatable field internally

When a repeatable field is used within its repeatable section, you can only refer to the version of the field that exists within the same repetition (e.g., in repetition #4, you can only refer to answers of fields also in repetition #4). There are no special instructions for these references, so you can treat internal references to a repeatable field as if they are not within a repeatable section.

For more information and some examples, click here.


Referencing a repeatable field externally

The fields within a repeatable section can also be referenced from outside that repeatable section. To do so, we use what is called a composite reference. Depending on where in the form a composite reference is used, different repeatable field subcomponents (see below) are available.

To find out more about how to use repeatable fields:

  1. for logic, click here.
  2. for calculations, click here.


Repeatable field subcomponents

All composite references are made up of two subcomponents:

  • the field subcomponents, and
  • the repetition subcomponent.

The field subcomponent defines which repeatable field is used and the repetition subcomponent defines which specific instance, or instances, is used. 

There are two types of repetition subcomponents.


Repeatable section properties

There are four properties of repeatable sections that can be accessed using calculations. They are:

  • the total number of repetitions instantiated;
  • the number of the current instantiated repetition;
  • the minimum number of repetitions that can be instantiated; and
  • the maximum number of repetitions that can be instantiated.

To find out more about these properties and how to access them, please click here