Asynchronous Parallel Task Manager using Wait Nodes - n8n Workflow

Learn how to build an advanced asynchronous n8n workflow using the Execute Workflow and Wait n8n node capabilities. This template is essential for managing long-running parallel processes in n8n.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Advanced n8n Users: Individuals needing to manage complex, non-linear execution paths.
System Integrators: Developers running batch processing or ETL jobs that involve long wait times for external systems.
Performance Optimizers: Those looking to improve the throughput of their n8n workflow by executing sub-tasks concurrently.
n8n Automation Specialists: Users exploring advanced capabilities of the n8n Wait node and asynchronous calls.

Overview

When dealing with long-running operations—such as video processing, complex data crunching, or API calls that require polling—a standard linear n8n workflow can become blocked, potentially timing out or consuming excessive execution time. This specialized n8n workflow solves this by utilizing an asynchronous pattern.

This robust n8n template uses the Execute Workflow n8n node to spawn parallel sub-tasks (workers) and the powerful Wait n8n node to pause the main orchestrator until those sub-tasks complete and report back via a unique webhook. This allows the primary execution to wait efficiently, managing numerous parallel threads, maximizing resource utilization, and preventing timeouts. If you are seeking reliable n8n templates for high-performance automation, this asynchronous design is crucial.

How it Works

This n8n workflow operates in two distinct modes: the Orchestrator (Main Flow) and the Worker (Sub-Flow), leveraging recursive calls to the same n8n workflow definition.

Orchestrator Flow (Initiation and Collection)


  1. Start n8n Trigger: The process begins with the Start manual n8n trigger.

  2. Parallel Execution: The n8n workflow immediately branches out, using two Execute Workflow nodes (Call 1 and Call 2). Crucially, the waitForSubWorkflow parameter is set to false, making the calls non-blocking (asynchronous).

  3. Passing Resume Details: Each call passes specific parameters (wait duration and a unique webhook suffix) to the worker. The webhook URL is the resumeUrl of the main n8n execution, allowing the worker to call back.

  4. Awaiting Results: The main n8n workflow then hits two dedicated Wait n8n nodes (Wait for Webhook 1 and Wait for Webhook 2). The execution halts indefinitely (or for a set limit) until the worker flows successfully call the respective webhook endpoints (/call1 and /call2).

  5. Merging and Summarizing: Once both parallel tasks have reported their results, the Merge n8n node combines the payloads, and the Sum n8n node calculates the total result from the parallel operations.

Worker Flow (Task Simulation and Reporting)


  1. Worker Trigger: The sub-workflow starts via the Call Entry Point n8n trigger (an Execute Workflow Trigger) when called by the Orchestrator.

  2. Simulated Long Task: The Wait Seconds n8n node pauses the flow for the duration requested by the Orchestrator (e.g., 5 seconds for Call 1, 3 seconds for Call 2), simulating the long-running task.

  3. Reporting Back: The Request Webhook n8n node uses the input webhook URL to send an HTTP request back to the main n8n workflow's Wait n8n node. This call carries the calculated result, signaling the main flow to resume.

Installation Guide

To deploy this n8n template and utilize this parallel processing technique, follow these steps:


  1. Import: Copy the provided JSON data and import it directly into your n8n instance via the 'New' menu > 'Import from JSON'. This single import defines both the Orchestrator and Worker logic.

  2. Self-Reference Check: Since this n8n workflow recursively calls itself, ensure the workflowId parameter in the Call 1 and Call 2 Execute Workflow n8n nodes points to the ID of the newly imported workflow. It should automatically detect the self-reference but verify it if execution fails.

  3. Credentials: This specific n8n workflow uses base n8n nodes (Manual Trigger, Wait, Execute Workflow, HTTP Request) and requires no external credentials.

  4. Execution: Run the Start n8n trigger manually. Observe how the workflow splits, runs the timed tasks asynchronously, and then waits for the webhooks to resume and finalize the summation.

Node Details

Start (n8n Trigger): A Manual Trigger n8n trigger used solely to initiate the main orchestrator n8n workflow for testing purposes.
Call Entry Point (n8n Trigger): The dedicated Execute Workflow Trigger that handles the incoming calls from the main flow. It accepts wait (number) and webhook (string) parameters necessary for the worker task.
Call 1 / Call 2 (Execute Workflow n8n node): These nodes are crucial for parallelization. They call the same n8n workflow (this template) but are configured with waitForSubWorkflow: false to ensure asynchronous execution. They pass unique wait times and the full resume webhook URL.
Wait Seconds (Wait n8n node): Located in the Worker path, this n8n node pauses the execution for a dynamic amount of time, defined by the input parameter ={{ $('Call Entry Point').item.json.wait }}.
Request Webhook (HTTP Request n8n node): The final step of the Worker flow. It dynamically requests the resumeUrl (={{ $('Call Entry Point').item.json.webhook }}) provided by the Orchestrator, carrying the result payload to resume the main n8n workflow.
Wait for Webhook 1 / Wait for Webhook 2 (Wait n8n node): Located in the Orchestrator path, these nodes halt execution, waiting specifically for a matching webhook call (using a suffix like /call1 or /call2) to deliver the asynchronous result before the n8n workflow can continue.


  • Merge / Sum (n8n node): Standard aggregation nodes used to combine the results received by the Wait nodes and calculate the final total, demonstrating successful asynchronous data collection.

Related n8n Workflows

Free

Nodes: 8 Nodes
Updated: December 26 2025
View all

Featured*