loop
Create iterative workflows with loops that execute blocks repeatedly.
The Loop block is a container block in Agent Forge that allows you to execute a group of blocks repeatedly. Loops enable iterative processing in your workflows.
Overview
The Loop block enables you to:
Iterate over collections: Process arrays or objects one item at a time
Repeat operations: Execute blocks a fixed number of times
Configuration Options
Loop Type
Choose between two types of loops:
A numeric loop that executes a fixed number of times. Use this when you need to repeat an operation a specific number of times.
Example: Run 5 times
- Iteration 1
- Iteration 2
- Iteration 3
- Iteration 4
- Iteration 5A collection-based loop that iterates over each item in an array or object. Use this when you need to process a collection of items.
Example: Process ["apple", "banana", "orange"]
- Iteration 1: Process "apple"
- Iteration 2: Process "banana"
- Iteration 3: Process "orange"How to Use Loops
Creating a Loop
Drag a Loop block from the toolbar onto your canvas
Configure the loop type and parameters
Drag other blocks inside the loop container
Connect the blocks as needed
Accessing Results
After a loop completes, you can access aggregated results:
<loop.results>: Array of results from all loop iterations
Example Use Cases
Processing API Results
Scenario: Process multiple customer records
API block fetches customer list
ForEach loop iterates over each customer
Inside loop: Agent analyzes customer data
Inside loop: Function stores analysis results
Iterative Content Generation
Scenario: Generate multiple variations
Set For loop to 5 iterations
Inside loop: Agent generates content variation
Inside loop: Evaluator scores the content
After loop: Function selects best variation
Advanced Features
Limitations
Inputs and Outputs
Loop Type: Choose between
'for'or'forEach'Iterations: Number of times to execute (for loops)
Collection: Array or object to iterate over (forEach loops)
loop.currentItem: Current item being processedloop.index: Current iteration number (0-based)loop.items: Full collection (forEach loops)
loop.results: Array of all iteration resultsStructure: Results maintain iteration order
Access: Available in blocks after the loop
Best Practices
Set reasonable limits: Keep iteration counts reasonable to avoid long execution times
Use ForEach for collections: When processing arrays or objects, use ForEach instead of For loops
Handle errors gracefully: Consider adding error handling inside loops for robust workflows
Was this helpful?
