Ever tired of making your workflow super long because there’s no looping option?
Here’s a neat trick that might help!
In my use case, I use a number column to determine how many subitems (entitled # of Installments) I want created from the item level. I also use another number column to double-check that the number of subitems matches what I originally inputted.
Special Note: For this workflow, I recommend using the free “Workflow Blocks: Formula” app. You can build this without the app by adding extra columns and workflow blocks, but the app simplifies the process.
Disclaimer: I’ll only cover the core steps relevant to this situation; any other blocks are unnecessary for this guide.
You can also download my template here to see it in action.
Step 1: Add Columns to Your Board
Add these three columns:
-
Formula column – with formula
{Subitems#Count} -
Numbers column – for calculating the installment difference
-
Status column – used to trigger the looping workflow
Important: This example is for subitem creation. Depending on your needs, you may not require the formula or numbers column. The status column is essential.
Step 2: First Workflow (Optional)
This step may not be necessary for everyone. You could also do this as an automation to turn the trigger, but I needed the Workflow Builder in order to set a number.
-
Trigger: When the
# of Installmentschanges (and is not 0) -
Action: Calculate the difference between the current and previous value and store it in the Install Difference column
-
Then: Change the Trigger Status column to
ON
Step 3: Main Workflow
This is the core looping logic:
-
Trigger: When the Trigger Status column is turned
ON -
Convert the formula column (
# of Subitems) to a number value for reference
Logic:
-
If Installment Difference = 0
-
Check if
# of Installmentsequals the formula number value -
If yes → turn Trigger Status
OFFand stop workflow -
If no → create or delete subitems to match the target number
-
Loop: Turn Trigger Status
OFF, thenONto run workflow again
-
-
If Installment Difference ≠ 0
-
Create or delete subitems based on the difference
-
Loop: Turn Trigger Status
OFF, thenON
-
This effectively creates a “loop” without native looping functionality.



