This powerful feature allows you to manage complex automation tasks by using one primary workflow (Parent) to trigger a separate, secondary workflow (Child) multiple times. This is especially useful when you need to process a list of items (an array) individually.
What This Workflow Does
The Iterate array and execute workflow item enables a Parent Workflow to loop through a list of data (an array) and trigger a Child Workflow once for every item in that list.
Parent Workflow: The main workflow that contains the ‘Iterate array and execute workflow’ item. It determines the list of items to process.
Child Workflow: A separate workflow that is triggered by the parent. It must begin with a Generic Webhook trigger to receive the data from the parent.
This process ensures that a complex, repetitive task, such as enrolling multiple users or issuing multiple certificates, is handled cleanly and separately for each item.
Benefits and Use Cases
| Benefit | Description |
|---|---|
| Batch Processing & Scalability | Enrolling Users in Multiple Courses: A user purchases a training bundle (e-commerce system sends an array of 10 course IDs). |
| Personalization at Scale | Sending Personalized Completion Certificates: An array lists 50 users who finished a program and need a unique certificate. |
| Simplified Debugging | By isolating a complex action (like sending an email or enrolling in a course) into a Child Workflow, it becomes easier to test and troubleshoot that specific task without affecting the entire Parent Workflow. |
| Improved Workflow Structure | Keeps your main Parent Workflow clean and readable by offloading repetitive logic to a dedicated Child Workflow. |
How to Set It Up
Create the Child Workflow: Build the workflow that performs the repetitive task (e.g., enrolling a single user). Ensure it starts with a Generic Webhook trigger.
Add the Item to the Parent: In your Parent Workflow, add the ‘Iterate array and execute workflow’ item.
-
Configure the Item:
Workflow Selector: Choose the Child Workflow (the one with the Generic Webhook trigger) you want to execute repeatedly.
Data Selector: Select the variable containing the list (array) of data you want to process.
Save Connection: Click Update to establish the link.
Maintenance Note: If you publish a new version of the Child Workflow, you must re-enter the Parent Workflow and click Update on this item again to ensure the link uses the latest version.
Passing additional data
You can include extra key-value data along with each array element.
Keys = identifiers used in the child workflow.
Values = can be text, global variables, or custom variables.
Dot notation creates nested structures.
Using an existing key will overwrite that field’s value.
Example Input (before additional data):
"manager_name": "Lionel Manager",
"additional_field": "Overwrite value",
"user.Overwrite_Example": "Nested overwrite value"Child workflow receives:
{
"item_id": 1,
"name": "Product Name 1",
"user": {
"name": "Aran Bacall",
"email": "aran.bacall@learningpool.com",
"Overwrite_Example": "Overwrite me"
},
"additional_field": "additional_value"
}Accessing data in the child workflow
Create custom variables for the fields you want to use.
-
In the outputs of the Generic Webhook trigger:
Leave Attribute blank.
Add outputs for each field key.
Access data using the field key or dot notation (e.g., user.name, course.course_id).
Tips and Best Practice
Keep arrays small for testing to simplify debugging.
Document which child workflows are linked — this improves maintainability.
Always re-click Update after publishing a new child workflow version.
Use descriptive names for child workflows to avoid confusion in the selector list.