A lot of n8n automation runs on a clock: nightly syncs, hourly polls, weekly reports. The Schedule Trigger makes setting these up trivial, and that ease hides the failure modes that only bite scheduled work — overlapping runs, timezone surprises, and jobs that silently stop. Getting scheduling right is mostly about anticipating those.
The Schedule Trigger
Use the Schedule Trigger node to run a workflow on an interval or a cron expression. Cron gives you precise control — specific times, days, and frequencies — while the simple interval option covers "every N minutes/hours." Keep the schedule as infrequent as the requirement genuinely allows; a workflow polling every minute when every fifteen would do is fifteen times the load and API cost for no benefit.
Prevent overlapping runs
The classic scheduled-workflow bug: a run scheduled every five minutes that sometimes takes seven. Now two runs overlap, processing the same data and racing each other. If a run can outlast its interval, guard against overlap — check whether a previous run is still in progress and skip, or use a lock so only one instance runs at a time. Never assume a scheduled run finishes before the next one starts.
Timezones and missed runs
- Set the instance and workflow timezone explicitly (
GENERIC_TIMEZONE) — a schedule that means 8am somewhere is wrong if n8n thinks in UTC. - Remember daylight-saving shifts move wall-clock schedules; verify time-critical jobs across the change.
- If n8n is down at a scheduled time, that run is simply missed — it does not queue and fire late. For jobs that must not be skipped, add a reconciliation or catch-up mechanism.
A scheduled workflow that stops triggering produces no error, no failed execution — just silence. For anything important, monitor for the absence of a recent successful run and alert on it. The nightly job that quietly stopped is the most common and most expensive scheduled-automation failure precisely because nothing complains.
Reliable n8n scheduling is a right-sized cron on an explicit timezone, an overlap guard for runs that can run long, awareness that downtime means missed runs, and an absence alarm so a silently-stopped schedule gets noticed. The convenience of scheduled automation is real — so is its habit of failing without a sound.
Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.