[Feature Request] Add "End Date" / "Expiration" setting to Schedule Trigger Node

The idea is:

Hi n8n team and community,
I would like to suggest a feature enhancement for the Schedule Trigger node.
The Current Situation: Currently, the Schedule Trigger is very powerful for setting up recurring rules (e.g., running at specific intervals or cron expressions). However, these schedules run indefinitely unless the workflow is manually deactivated.
The Feature Request: I propose adding an optional setting for “End Date” or “Validity Period” (e.g., Run for 1 month, 3 months, or stop after [Date]).
The Use Case (Why this is important): Many of us use n8n to build automation services for clients. For example, I have a workflow configured to run 3 times a day (8:00 AM, 12:00 PM, and 6:00 PM). This service is tied to a client’s subscription plan (e.g., they paid for 1 year of service).
Ideally, I want the Schedule Trigger to automatically stop firing after that 1-year period. Currently, I have to set a manual reminder to deactivate the workflow when their subscription expires.
Why a workaround isn’t ideal: While I could add an If node at the start of the workflow to check the current date, the Schedule Trigger would still fire and initiate an execution, which wastes resources and counts towards execution limits. An integrated “End Date” in the trigger itself would be much cleaner and more efficient for lifecycle management.
Thanks for considering this! It would be a huge help for anyone managing client-based workflows.

My use case:

I think it would be beneficial to add this because:

Any resources to support this?

Are you willing to work on this?

hello @kezhui
you can just use Schedule Trigger node with if node
like this :

and in if node do this (you can pass them also as variables if needed using API or from google sheet)

1 Like

hello @kezhui

That would be a nice feature

as a workaround you can add another schedule node and attach a to a n8n node and deactivate your workflow automatically

1 Like

Thanks for the suggestion!

You are right that an If node can handle the logic part (stopping the actions from running). However, my main concern with that workaround is resource efficiency and execution counts.

Even with an If node, the Schedule Trigger will still fire, creating an execution entry and consuming resources just to check the date and stop. If I manage hundreds of client workflows, this creates a lot of “zombie” executions that clog up the database and use up limits.

I believe having a “Validity Period” or “End Date” natively inside the trigger would be much cleaner because it would prevent the workflow from initiating altogether once expired.

1 Like

you are right, i didn’t think about this