n8n state management for long running workflows.
A long running process can span days, people and systems. Let n8n run each automation while Inistate keeps the state, next steps and history of every long running job. Manage the whole lifecycle from your desktop or phone.
n8n-nodes-inistate is a verified community node, installable on n8n Cloud and self-hosted.
Many automation runs. One business lifecycle.
One order. Days of work. Always in view.
From payment to delivery, each n8n workflow does its part and ends. Inistate keeps the long running process moving, with a shared state machine that connects every automation and human handoff.
- Awaiting QA
- Ready to Ship
- Shipped
- Delivered
The record keeps its state between runs, even when the next step takes days.
Payment received
Create the order. Its lifecycle begins.
- Stripe: Invoice PaidPayment event
- Inistate: Create Ordercreate
QA passed by your team
A person completes QA in the app. n8n handles shipping.
- Inistate: Order Passed QAactivityPerformed
- Carrier: Create Shipping LabelHTTP request
- Inistate: Ship OrderperformActivity
Delivery confirmed
The carrier callback completes the cycle and notifies the customer.
- Carrier Delivery WebhookPOST
- Inistate: Mark DeliveredperformActivity
- Notify Customer: DeliveredSend message
A long running workflow can span many executions. The state machine keeps the lifecycle in Inistate; n8n connects the systems and runs the automation at each step. Explore the implementation guide →
How n8n manages state today
State management in n8n starts with what n8n already gives you. There are several places to keep state, and for many workflows one of them is all you need. Start here before you add anything.
Workflow static data
A small key-value store inside one workflow, read and written from the Code node with $getWorkflowStaticData().
- Good for A cursor, a last-seen ID, a counter.
- Keep in mind It is saved when a production execution succeeds, so not while you are testing. JavaScript only, and meant to stay small.
Data tables
Tables stored inside n8n and shared by the workflows in a project.
- Good for Lookups, markers and light to moderate data that several workflows read and write.
- Keep in mind A table holds rows. What a status value means, and which change may come next, is decided again in every workflow that touches it.
The Wait node
Pauses an execution until a time, a webhook call or a form submission. n8n stores the paused execution and gives you a resume URL.
- Good for One pause with one way forward: a delay, a callback, a single form.
- Keep in mind While it waits, the state of the work sits inside that execution. Several pauses, a change of owner or a correction halfway each mean more branches.
Send and wait for response
Slack, Gmail, Telegram, Microsoft Teams and other nodes can send a message and pause until someone approves, declines or fills in a form. An AI Agent’s tool call can be held for human review the same way.
- Good for A single decision from a known person.
- Keep in mind The answer goes back to the execution that asked. A list of what is waiting, who decided what last month, or handing the request to someone else is yours to build.
An external database
Postgres, Redis, Airtable, NocoDB or a sheet, with a status column. The most flexible option, and the most common.
- Good for Almost anything, given the time to build around it.
- Keep in mind Everything around the table is yours: who may change the status, the forms, the screen the client’s team works from, and the history.
Summarised from the n8n documentation in September 2026: static data, data tables, the Wait node and human review for AI tools. If one of these covers your workflow, use it.
Execution state and business state are different things
Most questions about workflow state in n8n are about the execution: what the last run saw, where this run paused. The ones that keep a project open are about the work itself.
| Question | Execution state | Business state |
|---|---|---|
| Belongs to | One run of one workflow | One job, case, request or claim |
| Lives for | Seconds, or as long as a Wait node holds it | Days, weeks or months |
| Who needs to see it | You, in the executions list | The client’s team, on a desktop or a phone |
| What moves it on | The next node | An activity the current state permits, performed by a person, an AI agent or a workflow |
| What it leaves behind | An execution log, which n8n prunes by default | The record’s own history: who acted, with what input, from which state |
n8n is built for the first kind, and it is good at it. The second kind is what ends up spread across a status column, three Wait nodes and a Slack thread, and it is why someone keeps asking “any update?”
A state machine for your business process
A state machine defines the states a record can occupy and the activities that move it between them. Inistate brings that model to state management for automation execution: people and n8n act on the same record, with the same permitted next steps.
State → Activity (Form) → State. The same contract whether a person, an AI agent or an n8n workflow performs the activity.
A common pattern
An approval that can wait. A workflow that moves on.
An expense claim arrives today. A manager reviews it tomorrow. Inistate keeps the request and its state while it waits; n8n runs the automation before and after the decision.
Request submitted
A form, email or chat starts your workflow. The Inistate node creates a Draft claim with its receipt and amount, then performs Submit.
Record stateSubmittedThis execution ends here.
Awaiting approval
The manager opens the claim on a phone or desktop, reviews the receipt and chooses an available activity.
The claim stays Submitted until the decision. Reject requires a reason.
Approved Paid
An n8n workflow listening for Approve pays the claim through your finance system. After payment succeeds, Mark Paid moves the record to Paid.
Rejected
An n8n workflow listening for Reject notifies the requester with the reason. The decision stays in the record’s history.
What starts the next automation? Configure the Inistate Trigger’s Activity Performed event for the approval or rejection activity. Each outcome starts the workflow you connect to it.
A request you can findPending claims stay visible in the app while they wait for review.
An owner you can changeAssign the record to another reviewer when someone is away.
A decision you can traceKeep who acted, when and why alongside the claim’s history.
n8n can already pause an execution for an approval. Use this pattern when the request needs a shared lifecycle across people and automation runs. Start with the Expense Claim template, or follow the long-running workflows guide.
What the Inistate node does
Two nodes: an action node with seven operations on a record, and a trigger with four events. Forms load from your module at design time, so the fields you fill in n8n are the ones the step asks a person for.
Create
Start a job, case, request or claim from anything n8n can trigger on, through the module’s own create form.
Perform Activity
Run one of the workflow’s activities on a record, with the fields its form requires. This is how a workflow moves the work on.
Update and Assign
Change a record’s fields when an outside fact changes, or give the record to a user with an optional due date.
Change State
Move a record straight to a chosen state. Useful for corrections and imports; for everyday work, Perform Activity keeps the record on the workflow’s own path.
Duplicate and Delete
Copy a record, or remove one for good. Delete cannot be undone, so put a human approval in front of it when an AI agent holds the tool.
Inistate Trigger
Start an n8n workflow on Entry Created, Entry Updated, Activity Performed or State Changed, whether a person, an AI agent or another workflow moved the record.
Stop rebuilding the same six things
Keep the automations. Add the business workflow you should not rebuild for every client. The automation is the part you enjoy; then comes the operational layer around it, and you build it again from scratch on the next project.
State and tables
A place to keep the thing the process is about, and a status column that only means something if everyone remembers the convention.
Forms and required fields
One for each step, each with its own validation, each drifting out of step with the workflow that consumes it.
Approvals and role rules
Who may act, at which step, on which record. Usually branches and conditionals that nobody else can safely change.
Exception handling
The happy path is an afternoon. The reassignments, the corrections and the things that stall are the rest of the project.
An operator surface
The client needs to see and act on work from a phone. That is an app, and now you own it.
History somebody can read
Execution logs answer what the workflow did. They do not answer what happened to this job, in order, and who acted.
What your client ends up running
A web and mobile operator surface comes with the workflow, so the part you would otherwise build and then maintain is not yours to own.
Visibility
Where is it? One current state per record, on desktop and on a phone.
Control
What is allowed now? The permitted activities come from the state, not from the actor.
Coordination
Who or what needs to act? Ownership sits on the record, and so does the thing it is waiting for.
Accountability
What happened before? Business-object history across executions and actors, not a pile of run logs.
The same contract for the agent you are adding
Give your AI agent permitted business activities, not unrestricted record access. The agent reasons. Inistate determines what it may do now.
An agent reaches Inistate over MCP or the API, asks the record what it may do in its current state, and performs one of those activities through the same form and the same validation a person would use. What it did, on what basis, and how sure it was land on the record beside everything else.Same primitive. Different interface.
Keep n8n. Keep Claude. Give them one business workflow.
Automation platforms execute. AI reasons. Inistate owns the business lifecycle and determines what the process permits now. Nothing here asks you to move execution, and Inistate is designed so the business workflow can stay stable even when the actor changes.
n8n state management, answered
The questions builders ask when a workflow has to remember something, and where Inistate does and does not come into it.
How does a state machine help manage a long running process?
A state machine makes the lifecycle explicit: the current state, the activities allowed from it, and the state each activity leads to. For an order, that might be Awaiting QA, Ready to Ship, Shipped and Delivered. Inistate keeps that business state between n8n executions, so a long running job can wait for a person or a delivery callback before the next automation starts.
Can I monitor a long running workflow from my phone?
Yes. In the Inistate app, your team can open the record, check its current state and history, and perform the activities available to them. For example, a person can complete a QA activity on an order; an n8n workflow listening for that activity can then create the shipping label and move the order forward.
How do I keep state between executions in n8n?
n8n has three built-in places. Workflow static data holds a small value inside one workflow. Data tables hold rows shared by the workflows in a project. The Wait node pauses a single execution and n8n stores it until it resumes. Beyond those, builders use an external database such as Postgres, Redis or Airtable. All of these store data. If what you need to keep is the status of a job or a case that people also act on, keep it as a record in Inistate, and let each n8n workflow read it and move it on.
How do I run a long-running workflow in n8n that takes days or weeks?
A Wait node can hold an execution until a date, a webhook call or a form submission, and n8n stores the paused execution meanwhile. That suits one pause with one way forward. When the work has several pauses, or people who may act in a different order each time, split it up: keep the record and its state in Inistate, end each n8n execution when its part is done, and start the next one from the Inistate Trigger when the record moves. Nothing stays open while the work waits. The long-running workflows guide builds one this way, step by step.
Can n8n do human-in-the-loop approvals?
Yes. Send and Wait for Response, on nodes such as Slack, Gmail, Telegram and Microsoft Teams, pauses an execution until someone approves, declines or fills in a form, and an AI Agent’s tool calls can be held for human review in the same way. Add Inistate when the approval has to outlast the execution: a list of what is waiting, an approver you can change, and the decision kept in the record’s history.
Is n8n a case management system?
No, and it does not set out to be one. n8n runs the automation around a case: intake, enrichment, notifications, and updates to other systems. The case itself needs a current state, an owner, the steps that state permits and a history, plus a screen for the people handling it. Inistate provides that part, and the n8n node connects the two.
Does Inistate replace n8n?
No. n8n executes: it connects systems, transforms data and runs the steps that need no judgment. Inistate holds the business workflow those executions act on. Keep every workflow you have, and add the node where a workflow needs to know where the work stands or to move it on. Many automations. One governed workflow.
When is n8n’s built-in state enough?
When the work fits inside one execution or one pause: a sync, a scheduled report, a form that writes a row, a single approval by one person. A workflow layer around those is overhead. Inistate earns its place when the work moves through several states over days, more than one person or system acts on it, and someone keeps asking where it stands.
Does the Inistate node work on n8n Cloud and on self-hosted n8n?
Yes. n8n-nodes-inistate is a verified community node, installable on n8n Cloud and on a self-hosted instance. It adds an Inistate action node and an Inistate Trigger node. See it on n8n’s integrations page.
What does it cost to connect n8n to Inistate?
Connecting an outside tool takes an actor seat, and every plan includes one, the free plan too. A workflow acting under its own identity needs one seat however often it runs. See pricing for the plans and for extra seats.
Build your first Inistate + n8n workflow
Free forever for small teams. Install the node, start from a template, and put one real process behind it.