The "Repeat" action allows arranging the DO…WHILE and DO…UNTIL types of loops. It repeatedly calls a module (or another project) until / while its result table is not empty.
If the called module contains the "Input" action, on the 1st iteration it's populated with the input dataset of the "Repeat" action that calls it. In the following iteration, it's populated with the result dataset from the previous iteration. In other words, the result of an iteration is automatically passed as the input to the next iteration.
The action can be used in various cases, for instance: