n8n Schedule Trigger Explained: Run Workflows on a Timer (2025)

The n8n Schedule Trigger is the node that turns a manual workflow into an autonomous one. If you want a workflow to run on a timer — every five minutes, every weekday at 9 a.m., or at 06:00 on the first of the month — the Schedule Trigger is where that logic lives. This guide walks through interval mode, cron mode, timezones, running multiple schedules from one node, and the pitfalls that quietly break scheduled automations.

What the Schedule Trigger Does

The Schedule Trigger is a trigger node, which means it sits at the very start of a workflow and decides when that workflow fires. It doesn't fetch data or call an API — it only produces a time signal. When the schedule condition is met, n8n starts one execution of the workflow, and everything downstream (HTTP Request, an AI node, a database write, a Slack message) runs once per fire.

Two important rules follow from this. First, the Schedule Trigger only runs when the workflow is active (toggled on in the top-right of the editor). While you're editing, the "Execute Workflow" button runs it manually, but the timer itself is dormant until you activate. Second, on n8n Cloud and most self-hosted setups you can have only one trigger firing per activation path, so the Schedule Trigger is your single source of timing for the whole flow.

Interval Mode vs Cron Mode

Open the Schedule Trigger and you'll see a "Trigger Rules" section where you add one or more rules. Each rule has a "Trigger Interval" dropdown. This is the core choice, and it comes down to how precise you need to be.

Interval Mode (Seconds, Minutes, Hours, Days, Weeks, Months)

Interval mode is the plain-English option. You pick a unit and a value: "every 15 minutes," "every 2 hours," "every day." When you choose Days, Weeks, or Months, extra fields appear so you can pin the exact hour and minute — for example, Days → trigger at hour 9, minute 0 gives you a daily 9:00 a.m. run. Weeks lets you tick specific weekdays. This mode covers the large majority of real automations and is far easier to reason about than cron.

Cron Mode (Custom Cron Expression)

Set the interval to "Custom (Cron)" when you need timing that interval mode can't express — like "every weekday at 08:30" or "on the 1st and 15th of the month." You type a standard cron expression and n8n handles the rest. Cron is more powerful but less forgiving, so use it only when interval mode falls short.

Cron Syntax in n8n

n8n uses a six-field cron format. Left to right, the fields are:

┌── second (0-59)
│ ┌── minute (0-59)
│ │ ┌── hour (0-23)
│ │ │ ┌── day of month (1-31)
│ │ │ │ ┌── month (1-12)
│ │ │ │ │ ┌── day of week (0-6, Sunday=0)
│ │ │ │ │ │
* * * * * *

The leading second field is the part people miss — many online cron references show only five fields. In n8n, forgetting the seconds field shifts every value one place to the left and your schedule fires at the wrong time. A few practical examples:

ExpressionMeaning
0 0 9 * * *Every day at 09:00:00
0 0 9 * * 1Every Monday at 09:00
0 30 8 * * 1-5Weekdays (Mon–Fri) at 08:30
0 0 */2 * * *Every 2 hours, on the hour
0 0 6 1,15 * *06:00 on the 1st and 15th of each month

The operators are the standard ones: * means "every," , lists values, - gives a range, and / sets a step. Combine them and you can hit almost any recurring moment.

Setting the Timezone

This is the single most common source of "my workflow ran an hour off" tickets. The Schedule Trigger evaluates its time against a timezone, and if you don't set it deliberately, it inherits the instance default — which on many self-hosted servers is UTC, not where you live.

You have two levers. Globally, the GENERIC_TIMEZONE environment variable (or the timezone field in Settings on some builds) sets the default for the whole instance. Per-workflow, you can override it in the workflow's Settings panel under "Timezone." Always confirm which timezone a scheduled workflow is using before you trust a 9 a.m. run to actually happen at 9 a.m. local. And remember that fixed cron times do not shift for daylight saving — a 09:00 job stays at 09:00 wall-clock in its configured zone across the DST boundary, which is usually what you want but worth a conscious check.

Running Multiple Schedules from One Node

You don't need three separate workflows to run something three times a day. The Schedule Trigger lets you add multiple Trigger Rules inside a single node. Click "Add Rule" and each rule fires independently — so you could set one rule for 06:00, one for 12:00, and one for 18:00, all feeding the same downstream logic. If different rules need different behavior, add a Set node right after the trigger to tag which rule fired, then branch with an IF or Switch node.

Put this node to work: The AI-Curated Weekly Newsletter (RSS → Polished Digest) template is the textbook "run this every Monday" workflow — a Schedule Trigger kicks off, pulls your RSS feeds, and an AI step turns them into a polished digest ready to send. Get the AI-Curated Weekly Newsletter template →

Common Pitfalls and How to Avoid Them

Overlapping Runs

If a workflow takes longer to finish than its interval — say it runs every minute but sometimes takes 90 seconds — the next fire can start before the previous one ends. That leads to duplicate API calls, doubled database writes, and rate-limit errors. Fixes: widen the interval so the job comfortably finishes first, or add a guard using a static data flag or an external lock (a row in a database, a value in Redis) that the workflow checks before doing real work and clears when done.

Workflow Not Active

Testing with "Execute Workflow" proves the logic but never proves the timer. If your scheduled job "isn't running," the first thing to check is whether the workflow's Active toggle is on. A deactivated workflow's Schedule Trigger is completely silent.

Server Downtime and Missed Fires

The Schedule Trigger fires in real time; it does not back-fill. If your n8n instance is down or restarting at exactly 09:00, that day's run is simply skipped — there's no catch-up queue. For critical daily jobs, keep the instance healthy and consider a downstream check that confirms the last run actually happened.

Too-Frequent Polling

Scheduling a heavy API call every few seconds burns through rate limits and, on n8n Cloud, execution quota. Match the interval to how fresh the data genuinely needs to be. A newsletter or report almost never needs a sub-hourly cadence.

A Practical Example: The Monday Digest

Here's the shape of a reliable weekly automation. A Schedule Trigger in cron mode fires 0 0 8 * * 1 — Mondays at 08:00 in your configured timezone. It flows into an RSS Read node (or several, merged) that pulls the past week's items. A Code or Set node dedupes and trims the list. An AI node summarizes and formats the content into a clean digest. Finally an email or Slack node ships it. Because the whole thing hangs off one Schedule Trigger, you change the send time by editing a single expression — no other node needs to know about timing.

Frequently Asked Questions

What's the difference between the Schedule Trigger and the old Cron node?

The Schedule Trigger is the current, unified node and it replaced the separate Cron and Interval nodes. It does everything those did — interval mode covers the old Interval node, and cron mode covers the old Cron node — in one place. If you're on a recent n8n version, use the Schedule Trigger.

Why does my scheduled workflow run at the wrong time?

Almost always a timezone mismatch. Check the workflow's Settings → Timezone and the instance GENERIC_TIMEZONE. If they default to UTC and you expect local time, your job will fire offset by your UTC difference. Set the timezone explicitly and re-test.

Can one Schedule Trigger run at several different times a day?

Yes. Add multiple Trigger Rules inside the same node — each rule fires on its own schedule and starts the same workflow. This is cleaner than duplicating workflows and keeps all your timing in one node.

Ready to automate?

Skip the wiring and start from a proven scheduled workflow. The AI-Curated Weekly Newsletter template gives you a Schedule Trigger, RSS ingestion, and an AI digest step ready to run every Monday. Get this template on Gumroad →