🛠️ State Management System for Long-Running Workflows with Wait Nodes
Last edited 58 days ago
How it works
This template is a powerful, reusable utility for managing stateful, long-running processes. It allows a main workflow to be paused indefinitely at "checkpoints" and then be resumed by external, asynchronous events.
This pattern is essential for complex automations and I often call it the "Async Portal" or "Teleport" pattern.
The template consists of two distinct parts:
- The Main Process (Top Flow): This represents your primary business logic. It starts, performs some actions, and then calls the Portal to register itself before pausing at a
Waitnode (a "Checkpoint"). - The Async Portal (Bottom Flow): This is the state-management engine. It uses Workflow Static Data as a persistent memory to keep track of all paused processes. When an external event (like a new chat message or an approval webhook) comes in with a specific
session_id, the Portal looks up the corresponding paused workflow and "teleports" the new data to it by calling its uniqueresume_url.
This architecture allows you to build sophisticated systems where the state is managed centrally, and your main business logic remains clean and easy to follow.
When to use this pattern
This is an advanced utility ideal for:
- Chatbots: Maintaining conversation history and context across multiple user messages.
- Human-in-the-Loop Processes: Pausing a workflow to wait for a manager's approval from an email link or a form submission.
- Multi-Day Sequences: Building user onboarding flows or drip campaigns that need to pause for hours or days between steps.
- Any process that needs to wait for an unpredictable external event without timing out.
Set up steps
This template is a utility designed to be copied into your own projects. The workflow itself is a live demonstration of how to use it.
-
Copy the Async Portal: In your own project, copy the entire Async Portal (the bottom flow, starting with the
A. Entry: Receive Session Infotrigger) into your workflow. This will be your state management engine. -
Register Your Main Process: At the beginning of your main workflow, use an
Execute Workflownode to call the Portal's trigger. You must pass it a uniquesession_idfor the process and theresume_urlfrom aWaitnode. -
Add Checkpoints: Place
Waitnodes in your main workflow wherever you need the process to pause and wait for an external event. -
Trigger the Portal: Configure your external triggers (e.g., your chatbot's webhook) to call the Portal's entry trigger, not your main workflow's trigger. You must pass the same
session_idso the Portal knows which paused process to resume.
To see it in action, follow the detailed instructions in the "How to Test This Workflow" sticky note on the canvas.
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





