Skip to content

Iterate over a table row by row ​

Use this pattern when you need to run the same node for each row of a table, but with a different configuration per row for example, applying a different filter value, calling a different file path, or querying a different parameter for each entry.

Before you start ​

  • You have a configuration table with one row per iteration
  • If the node you want to configure processes data, that data is available as a separate table
  • You know which node setting you want to drive from the table

Step 1 — Prepare your configuration table ​

Ensure your table has one row per iteration and one column for each setting you want to vary. Column names become flow variable names, and column types become variable types — use an integer column for an integer setting, a string column for a text setting.

For example, a table with columns country and threshold produces variables country and threshold on each iteration.

Step 2 — Add a Table Row to Variable Loop Start node ​

Add Table Row to Variable Loop Start (under Workflow Control → Loop Support) to the canvas.

Connect your configuration table to its input port.

The node’s output is a flow variable port, not a data port.

Step 3 — Add the nodes you want to run per iteration ​

Add the processing node whose setting you want to control. Connect it after the Table Row to Variable Loop Start.

Connect your data table to the processing node’s data input. Then connect the flow variable output of Table Row to Variable Loop Start to the processing node’s flow variable input.

If the flow variable ports are hidden, right-click the node and choose Show Flow Variable Ports.

Step 4 — Overwrite a node setting with the flow variable ​

Open the configuration dialog of the processing node.

Click the flow variable icon next to the setting you want to control. Select the corresponding variable from the dropdown.

The node now reads that setting from the variable, a different value for each iteration.

Step 5 — Add a Loop End node ​

Add a Loop End node at the end of the loop body. Connect the last node in the body to it.

If your loop body has no table output for example, when each iteration only writes a file, use Variable Loop End instead.

Step 6 — Execute and inspect ​

Right-click the Loop End node and choose Execute.

Open the output. Each iteration's result is stacked into the final table in order of the rows from your configuration table.

Troubleshoot ​

The node setting is not being overwritten Check that the flow variable output of Table Row to Variable Loop Start is connected to the processing node’s flow variable input, and that the setting shows the variable as selected, not a fixed value.

All rows produce the same result Check that you selected the correct variable from the flow variable dropdown not a static value. Also check that the processing node is inside the loop, between the Loop Start and Loop End nodes.

The variable doesn’t appear in the dropdown The dropdown only shows variables of a matching type. Check that the column type in your configuration table matches the setting for example, a number stored as a string won’t appear for a numeric setting.

The loop fails partway through Put a Try-Catch enclosure inside the loop body, around the nodes that can fail, so the loop continues to the next iteration. The alternative input of Catch Errors must have the same columns as the normal output. See the loop reference for error handling nodes.