To schedule a workflow in n8n, add the Schedule Trigger node as the trigger, add a Trigger Rule with an interval from seconds to months or a custom cron expression, then save and publish the workflow. A scheduled workflow won't run until it's published, and its times follow the workflow timezone.
The Schedule Trigger node runs a workflow at fixed intervals and times, much like the Cron utility on Unix-like systems. It's how you send a Monday report, pull fresh data every morning or tidy a spreadsheet at midnight without anyone pressing a button.
Setting up the Schedule Trigger
- Add the Schedule Trigger node as the first node of the workflow.
- Under Trigger Rules, choose the Trigger Interval: Seconds, Minutes, Hours, Days, Weeks, Months or Custom (Cron).
- Fill in the matching fields, for example Days Between Triggers, Trigger at Hour and Trigger at Minute.
- For a custom pattern, choose Custom (Cron) and paste a cron expression into the Expression field.
- Check the workflow timezone in the workflow settings.
- Add the nodes that do the work, then save and publish the workflow.
That last step is the one people skip. n8n's docs say that if a workflow uses the Schedule Trigger node, you must save and publish it. A saved but unpublished workflow just sits there.
Which interval to pick
| Interval | Fields you set | Example from the docs |
|---|---|---|
| Hours | Set Hours Between Triggers and Trigger at Minute (0 to 59) | 6 hours at minute 30 runs every six hours at half past |
| Days | Set Days Between Triggers, Trigger at Hour and Trigger at Minute | Every two days at 9:15am |
| Weeks | Adds Trigger on Weekdays | Every two weeks on Monday at 3:30 PM |
| Months | Trigger at Day of Month (1 to 31), plus hour and minute | Day 30 never fires in February |
| Custom (Cron) | A cron expression in the Expression field | 0 6 * * * runs at 6:00 AM daily |
You can add more than one Trigger Rule to the same node, so one workflow can run on different schedules, say every weekday morning and again on the first of the month.
Cron expressions without the headache
If the built-in intervals don't fit, Custom (Cron) gives you full control. n8n suggests crontab guru to help you write one. Here are three of the documented examples:
- */5 * * * * runs every 5 minutes.
- 0 6 * * * runs at 6:00 AM every day.
- 0 12 * * 1 runs at noon every Monday.
Timezones, short months and publish time
Three details in the n8n Docs for the Schedule Trigger node cause most of the surprise runs. First, the timezone. The node uses the workflow timezone if you've set one, otherwise the instance timezone. A self-hosted n8n instance defaults to America/New York. n8n Cloud tries to detect the owner's timezone at sign-up and falls back to GMT. If your morning report arrives hours late, that's usually why.
Second, short months. Trigger at Day of Month runs from 1 to 31, and if a month doesn't have that day, the node doesn't trigger. Set it to 30 and February gets nothing. For month-end jobs, pick an early day or a cron expression you've checked.
Third, the durable scheduler. From n8n 2.45.0 the Schedule Trigger uses it by default. Seconds and Minutes intervals now run at even gaps measured from when you published the workflow, not on clock boundaries. So a job published at an odd minute keeps that odd rhythm. Custom (Cron) intervals keep their normal timing, so use cron when you need runs on the hour.
The same job in Zapier
Schedule by Zapier is a native Zapier app for recurring tasks. It can trigger every day of the month, every day of the week or every day, at a chosen hour, in a similar way to a crontab. If you're weighing the two tools up, my n8n versus Zapier comparison goes into the wider differences, and my roundup of workflow automation tools covers the rest.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
My advice before your first scheduled run
Set the workflow timezone yourself rather than trusting the default, use cron for anything that must land on the hour, and avoid days 29 to 31 for monthly jobs. Then publish, and check the first run's execution log to confirm it fired when you expected. If n8n isn't the right fit, my list of n8n alternatives is worth a look.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Does a workflow need publishing for the schedule to run?
Yes. n8n says to save and publish a workflow that uses the Schedule Trigger node.
Which timezone does the schedule use?
The workflow timezone if set, otherwise the instance timezone. Self-hosted defaults to America/New York; n8n Cloud tries to detect the owner's timezone and falls back to GMT.
Can I run a workflow at several different times?
Yes. Add multiple Trigger Rules to the node.
Can I use cron expressions?
Yes, through the Custom (Cron) interval.
Why did my monthly workflow skip February?
If the month doesn't contain the chosen day, such as 30, the node doesn't trigger.