Iterate Array and Execute

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

  1. 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.

  2. Add the Item to the Parent: In your Parent Workflow, add the ‘Iterate array and execute workflow’ item.

  3. 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.

image-20251017-152702.png