--- title: "Processing Lists of Items with the Branch ForEach Step" slug: "processing-lists-of-items-with-the-branch-foreach" description: "Learn how the Branch ForEach step iterates through every item in an input Collection and passes them to one or more steps." updated: 2026-07-01T20:18:49Z published: 2026-07-01T20:18:49Z canonical: "documentation.decisions.com/processing-lists-of-items-with-the-branch-foreach" --- > ## Documentation Index > Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt > Use this file to discover all available pages before exploring further. # Processing Lists of Items with the Branch ForEach Step ## Overview The **Branch ForEach** step iterates through every item in an input Collection and passes them to one or more steps. This step is similar to the standard [**ForEach**](https://documentation.decisions.com/step-library/docs/foreach-step) step, with two key differences: - It branches the Flow into multiple paths. - The Flows following a Branching ForEach step do not need to complete the loop by forming a return path to the Branching ForEach step. The control of the Flow returns to the Branching ForEach step at the Flow's end automatically. This can be useful for [**Parallel** **Approval**](/version-10/docs/branching-and-merging-flows) processes that involve the iteration and [**Assignment**](https://documentation.decisions.com/version-10/docs/about-assignments) of multiple pieces of data, i.e., displaying individual retrieved **Account** data on a **Form**. The following document demonstrates how to utilize a Branching ForEach step in for such use cases. This step is meant to be exclusively used with Assigned Forms and is not meant for Batch Processing.  --- ## Example 1. From a Designer Project, CREATE a new **Flow**. 2. From the **Flow** **Designer**, under **Toolbox > INTEGRATION > INTERNAL SERVICES > ACCOUNTSERVICE**, attach a **Get** **All** step to the Start step. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602228859.png) 3. Under **Toolbox > FLOW MANAGEMENT > BRANCHING**, attach a **Branch** **ForEach s****tep** to the **Get****All** step. 4. From the **Properties** tab of the Branch ForEach step, under COLLECTION > TYPE, select **Account**. Then, under **INPUTS > Collection**, map in **GetAll1_Output**.Unexpected Validation Errors Using a **Sub** **Flow** between the **Branch** **ForEach** and **Merge** **Step** is a required configuration. Failure to utilize one will cause the **Flow** **Designer** to throw a **Validation** **Warning**. Thus, any **Form** following a Branch ForEach must not be in-Flow but run via **Sub** **Flow**. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602384730.png) 5. From the FAVORITE STEPS category of the **Toolbox** tab, attach a **Run** **Sub** **Flow** step after the For Each. [Create a new Flow.](/version-10/docs/create-flows) 6. From the Start step of the new Flow, under **FLOW INPUTS > Flow Input Data**, select SHOW EDITOR. From the **Flow** **Inputs** window, create a new Input by providing a NAME and selecting **Account** from the TYPE drop-down. Then, Save and close via X to return to the Flow Designer. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782937118527.png) 7. Back in the Flow Designer, attach a **Show** **Form** step to the Start step. From the Properties of the newly added step, [create a new Form](/version-10/docs/create-forms). 8. From the Form Designer, design a Form utilizing a **Text** **Box**, **Label**, and **Button**. Then, save and close the Form Designer.  ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602564312.png) 9. Back in the Flow Designer, from the Form Properties, under INPUTS, map the **EmailAddress** from the Start step's Input, AccountInformationData.EmailAddress to the **Text** **Box's** Input. Then, connect the **Outcome** **Path** of the Form to the **End** step. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602598523.png) 10. While still in the Properties of the Show Form step, under **ASSIGNMENT > Assignment Type**, select **Assigned**. Then, under **Assign** **To**, input the **Email** **Address** of the current Account. 11. Provide the desired **Assignment** **Name** and **Assignment** **Action** **Name** values. 12. Save and close the Sub Flow. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602647175.png) 13. From the Parent Flow, under the Properties tab of the **Run** **Sub** **Flow** step, map the **Item** to the **Input** of the Sub Flow. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602694135.png) 14. From **Toolbox > FLOW MANAGEMENT > BRANCHING**, attach a [**Merge**](/version-10/docs/branching-and-merging-flows) **Step** to the Done path of the **Run** **Sub** **Flow** step. Then, connect the **Merge** **Complete** path to the End step. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602806034.png) --- ## Debug 1. From the Flow Designer, select the **Debug** link from the top **Action** **Bar**. Then, click START DEBUGGING. 2. Once the Flow runs, complete each Assignment individually by completing each Form via the Button. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780602847271.png) 3. Once the **Forms** have been completed, verify the Merge Step has successfully merged the **Outputs** of the **Sub** **Flow**, and subsequently completed the **Flow**.