The Schedule Trigger Node
Starts a workflow on a timer — from every minute to once a month.
What it actually does
Where the Webhook node reacts the instant something happens elsewhere, the Schedule Trigger works the opposite way: it starts a workflow purely based on time, with nothing external needed to set it off. You tell it how often — every 5 minutes, every day at 9am, every Monday, the 1st of every month — and n8n handles the rest, running your workflow automatically on that cadence forever, with no server or cron job of your own to maintain.
This makes it the natural choice for anything that needs to happen regularly rather than in response to something: checking for new rows in a spreadsheet, pulling a report together every morning, cleaning up old records once a week, polling an API that doesn’t offer webhooks of its own.
n8n gives you a few ways to define the schedule: simple presets (every X minutes/hours/days), a specific time of day, specific days of the week, or — for anything more particular — a raw cron expression. You don’t need to know cron syntax to use this node; the simple options cover the vast majority of real use cases.
A worked example
A workflow set to run every morning at 7am: it starts with a Schedule Trigger, calls a weather API with an HTTP Request node, formats the forecast with an Edit Fields node, and sends it to you via Gmail — a daily briefing that runs itself, with nothing left open on your computer.
A second, very common pattern: polling. Not every service offers a Webhook option, so instead you set a Schedule Trigger to run every 10 minutes, use an HTTP Request or dedicated node to check “has anything new appeared since I last checked,” and only continue the workflow (via an If node) when something has. It’s a slightly less instant version of what a Webhook gives you for free, but it works with literally anything that has an API — even services with no real-time notification support at all.
The mistake almost everyone makes first
Setting a schedule that’s far more frequent than the task actually needs — every minute, when every hour (or even once a day) would do the job. This isn’t just wasteful: many APIs have rate limits, and a workflow hammering an endpoint every 60 seconds can burn through a daily quota in a few hours, or get temporarily blocked entirely. Before activating a scheduled workflow, it’s worth asking how fresh the data genuinely needs to be — “instantly” almost never means “every single minute, forever.”
Related nodes
Webhook — the reactive alternative, fires on events instead of a timer · HTTP Request — commonly the next step, checking or fetching data on schedule