State Management System for Long-Running Workflows with Wait Nodes
## 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: 1. **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 `Wait` node (a Checkpoint). 2. **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 unique `resume_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. 1. **Copy the Async Portal:** In your own project, copy the entire **Async Portal** (the bottom flow, starting with the `A. Entry: Receive Session Info` trigger) into your workflow. This will be your state management engine. 2. **Register Your Main Process:** At the beginning of your main workflow, use an `Execute Workflow` node to call the Portal's trigger. You must pass it a unique `session_id` for the process and the `resume_url` from a `Wait` node. 3. **Add Checkpoints:** Place `Wait` nodes in your main workflow wherever you need the process to pause and wait for an external event. 4. **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_id` so 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.**
- Platform
- n8n
- Category
- Business Operations & ERPs
- Price
- $24.99
- Creator
- Lucas Peyrin
- if
- set
- code
- noOp
- wait
- filter
- splitOut
- stickyNote
- httpRequest
- manualTrigger
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Business Operations & ERPs workflows
- Automate Job Applications and Track Status with LinkedIn, Indeed, and Google Sheets$14.99
- Automated Stock Price Monitoring and Alerts for Indian & US Markets$9.99
- Build Custom Workflows Automatically with GPT-4o, RAG, and Web Search$24.99
- AI Chat Agent Receptionist for Clinics$150
- Automatically Archive Zoom Recordings to Google Drive and Log in Airtable$4.99
- Automate Call Scheduling with Voice AI Receptionist Using Twilio, Google Calendar & Airtable$24.99
More from Lucas Peyrin
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.