# How long can a workflow execute for

**URL:** <https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526>\
**Category:** Questions\
**Created:** [June 15, 2026, 8:05am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526 "2026-06-15T08:05:11Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Isaac\_Cheang](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/isaac_cheang/32/160580_2.png) [@Isaac\_Cheang](https://community.n8n.io/u/Isaac_Cheang)\
**Post date:** [June 15, 2026, 8:05am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/1 "2026-06-15T08:05:11Z")

</div>

## Describe the problem/error/question

I want to create an automation where I can wait for a client to reply to an email, and if they don’t reply for X days then we follow-up. My question is will the workflow time out and is there a more effective way to do this so that the workflows don’t stack up and crash the server?

---

<div class="post-metadata">

**Author:** ![achamm](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/achamm/32/143734_2.png) [@achamm](https://community.n8n.io/u/achamm)\
**Post date:** [June 15, 2026, 8:08am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/2 "2026-06-15T08:08:53Z")

</div>

@Isaac_Cheang it wont time out or stack up, thats exactly what the Wait node is for. any wait over ~65 seconds gets offloaded to the database, so a wait of X days uses basically no resources while its parked, it just sits as a row and resumes when due, nothing stays running in memory. for your follow-up set the Wait to resume on a webhook with a max wait of X days, so a reply resumes it early and otherwise the X-day limit fires the follow-up. only at really high volume would i swap to a state table plus a daily schedule check, but for normal volume the wait node handles it cleanly.

---

<div class="post-metadata">

**Author:** ![Anshul\_Namdev](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/anshul_namdev/32/178229_2.png) [@Anshul\_Namdev](https://community.n8n.io/u/Anshul_Namdev)\
**Post date:** [June 15, 2026, 8:09am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/3 "2026-06-15T08:09:18Z")

</div>

Hello, @Isaac_Cheang.  
The old limit of 5 minutes on n8n cloud is no longer in effect, and there is no strict limit in place. However, for self-hosted applications, you can adjust the timeout by setting it to 3600 with the following code: `EXECUTIONS_TIMEOUT=3600`.  
[Configure workflow timeout settings | n8n Docs](https://docs.n8n.io/hosting/configuration/configuration-examples/execution-timeout/) [Configure workflow timeout settings | n8n Docs](https://docs.n8n.io/hosting/configuration/configuration-examples/execution-timeout/)  
Additionally, the wait node is not considered a concurrency because it is merely waiting, not executing anything. Additionally, the wait node is not considered a concurrency because it is merely waiting, not executing anything.

> [@Does the wait node count toward concurrency limit?](https://community.n8n.io/t/does-the-wait-node-count-toward-concurrency-limit/181471/3):
>
> The active concurrency limit is not affected by the wait node. For example, when a workflow encounters a wait node, the execution is temporarily suspended; it only consumes one of the 50 concurrent execution slots when it is actively processing.. The active concurrency limit is not affected by the wait node. For example, when a workflow encounters a wait node, the execution is temporarily suspended; it only consumes one of the 50 concurrent execution slots when it is actively processing.. Once the wait period concludes and the executions resume, they will once again be counted against your concurrency limit until they either reach the end or encounter another wait. Once the wait period concludes and the executions resume, they will once again be counted against your concurrency limit until they either reach the end or encounter another wait.  
> The standard and efficient approach for extended waits, such as those lasting up to weeks or months, is to employ a wait node. The standard and efficient approach for extended waits, such as those lasting up to weeks or months, is to employ a wait node. You will not be required to send executions off-platform. You will not be required to send executions off-platform.
> 
> If my response was beneficial, please indicate so. If my response was beneficial, please indicate so.  
> I appreciate it. I appreciate it.

---

<div class="post-metadata">

**Author:** ![kjooleng](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/kjooleng/32/184045_2.png) [@kjooleng](https://community.n8n.io/u/kjooleng)\
**Post date:** [June 15, 2026, 8:10am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/4 "2026-06-15T08:10:23Z")

</div>

> [@Isaac\_Cheang](#):
>
> is there a more effective way to do this so that the workflows don’t stack up and crash the server?

Hi @Isaac_Cheang

Here is the recommended 3-workflow architecture:

#### **Workflow 1: The Initial Outreach**

- **Trigger:** Whatever starts your process (e.g., a new lead).
- **Action:** Send the first email.
- **Action:** Create a record in your database with:
  - Client Email.
  - Status: `Pending Reply`.
  - Follow-up Date: `Today + X days`.

#### **Workflow 2: The Reply Listener**

- **Trigger:** Email Trigger (Gmail/Outlook) — triggers whenever a new email arrives.
- **Action:** Search your database for the sender’s email.
- **Action:** If found, update the record status to `Replied`.
- **Result:** This “kills” the follow-up sequence because the status is no longer `Pending Reply`.

#### **Workflow 3: The Daily Follow-up Checker (The “Cron” Job)**

- **Trigger:** Schedule Trigger (Runs once every 24 hours).
- **Action:** Query your database for records where:
  - `Status` is equal to `Pending Reply` **AND**
  - `Follow-up Date` is less than or equal to `Today`.

- **Action:** For every record found:
  1. Send the follow-up email.
  2. Update the `Follow-up Date` to `Today + X days` (to loop the follow-up if needed).

---

<div class="post-metadata">

**Author:** ![Isaac\_Cheang](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/isaac_cheang/32/160580_2.png) [@Isaac\_Cheang](https://community.n8n.io/u/Isaac_Cheang)\
**Post date:** [June 16, 2026, 12:53am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/5 "2026-06-16T00:53:15Z")

</div>

Thanks @achamm super helpful! Just wondering, what would be considered normal volume for the wait node to work? And would the webhook be responding immediately or after the email node? Thanks again!

---

<div class="post-metadata">

**Author:** ![oimrqs\_ops](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/oimrqs_ops/32/172185_2.png) [@oimrqs\_ops](https://community.n8n.io/u/oimrqs_ops)\
**Post date:** [June 16, 2026, 3:28am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/6 "2026-06-16T03:28:12Z")

</div>

Normal volume is mostly about the resume burst, not parked waits. Hundreds or a few thousand parked waits are usually fine because they are database rows; the risky case is many records waking at the same minute and hitting Gmail/SMTP/API limits together. If that can happen, spread the due times or run a scheduled batch over a `pending_reply` table.

For the webhook path, keep it as the reply signal: mark the lead as replied and return fast. The follow-up email belongs on the timeout/due branch, not after the reply webhook, so the person replying is not waiting on an email node.

---

<div class="post-metadata">

**Author:** ![Isaac\_Cheang](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/isaac_cheang/32/160580_2.png) [@Isaac\_Cheang](https://community.n8n.io/u/Isaac_Cheang)\
**Post date:** [June 17, 2026, 9:11am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/7 "2026-06-17T09:11:54Z")

</div>

Hi @kjooleng thanks for this, I’ve set up something similar but I’ve mergered workflow 2 and 3 together so that it just checks for emails every 24 hours and if they haven’t replied yet and the date has been more than 2 days then it will follow up. Is there a reason we need the database?

---

<div class="post-metadata">

**Author:** ![kjooleng](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/kjooleng/32/184045_2.png) [@kjooleng](https://community.n8n.io/u/kjooleng)\
**Post date:** [June 17, 2026, 9:20am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/8 "2026-06-17T09:20:33Z")

</div>

> [@Isaac\_Cheang](#):
>
> Is there a reason we need the database?

If your n8n instance crashes or the server restarts, there is a risk that pending “Wait” executions may not resume correctly depending on your configuration.

Also, instead of making the workflow **wait** , you should make the workflow **check**. This is the industry standard for CRM automations. You move the “waiting” logic out of the workflow and into a database (Airtable, Google Sheets, PostgreSQL, or MongoDB). This will conserve server resources at the same time

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/system/32/195824_2.png) [@system](https://community.n8n.io/u/system)\
**Post date:** [September 15, 2026, 9:21am UTC](https://community.n8n.io/t/how-long-can-a-workflow-execute-for/299526/9 "2026-09-15T09:21:22Z")

</div>

Closed on September 15, 2026, 9:21am UTC

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
