n8n / Triggers
Run workflows on a schedule
Use the Schedule Trigger to run n8n workflows every few minutes, daily or weekly, with the right timezone and without surprises.
Beginner 8 min Updated
Reports, reminders, syncs and clean-up jobs all run on a timer. In n8n you do this with the Schedule Trigger node. This article shows how to set it up, how to use cron for unusual schedules, and how to avoid the classic timezone mistake.
Set up a schedule
- Create a workflow and add Schedule Trigger as the first step.
- Under Trigger Rules, choose a Trigger Interval: seconds, minutes, hours, days, weeks, months or custom (cron).
- Fill in the details for that interval.
- Build the rest of the workflow and test it with Execute workflow. A manual run starts immediately, whatever the schedule says.
- Click Publish. The schedule only runs once the workflow is published.
Common examples
| You want | Interval | Settings |
|---|---|---|
| Every 15 minutes | Minutes | Minutes Between Triggers: 15 |
| Every day at 7:30 | Days | Days Between Triggers: 1, Hour: 7am, Minute: 30 |
| Every Monday at 9:00 | Weeks | Weeks Between Triggers: 1, Weekday: Monday, Hour: 9am, Minute: 0 |
| First of the month at 8:00 | Months | Day of Month: 1, Hour: 8am, Minute: 0 |
You can add several trigger rules to one node, for example Monday at 9:00 and Thursday at 14:00.
Custom schedules with cron
For anything the standard intervals cannot express, choose Custom (Cron) and enter an expression. The five fields are minute, hour, day of month, month and day of week:
0 9 * * 1-5 Weekdays at 9:00
*/30 8-18 * * 1-5 Every 30 minutes during office hours on weekdays
0 0 1 1,4,7,10 * Midnight on the first day of each quarter
n8n also accepts an optional sixth field at the start for seconds. If you do not write cron every day, use a helper such as crontab.guru to check your expression.
Get the timezone right
A schedule that runs an hour early or late is almost always a timezone issue.
- n8n Cloud: set the instance timezone in your Cloud dashboard under Manage.
- Self-hosted: set the
GENERIC_TIMEZONEenvironment variable, for exampleEurope/Amsterdam. - One workflow: open the workflow menu (the three dots), choose Settings and change Timezone.
With a proper timezone such as Europe/Amsterdam, daylight saving time is handled for you.
Things to know
- Missed runs: if n8n is offline when a run is due, that run is skipped by default. Recent versions add a setting for missed executions in the node’s settings. Do not rely on a schedule for anything that must never be missed. Add a check, such as comparing with a “last run” date stored in a data table.
- Overlapping runs: if a run takes longer than the interval, the next one starts anyway. Keep heavy jobs on longer intervals, or process data in batches.
- Busy minutes: many workflows on the exact hour all start at once. Spread them out, for example 7:05, 7:10 and 7:15.
- Quotas: on paid Cloud plans, every scheduled run counts as an execution. A workflow every minute adds up to over 40,000 runs a month. Check whether you really need that frequency.
Tip: For “only when something changed” jobs, a frequent schedule plus a check against stored data works well. Save what you already processed in a data table and skip it next time. See Store data with Data Tables.
Example: weekly summary
Schedule Trigger (Monday 8:45) → Google Sheets (read last week) → Summarise → Slack message
- Trigger every Monday at 8:45.
- Read last week’s rows from a sheet or your CRM.
- Summarise them, with a Summarize node or an AI step.
- Post the summary to your team channel before the Monday meeting.
Next steps
Still stuck?
Send us what you tried and a screenshot, and we will help you further. For new projects, book a strategic call.
Strategic call