Issue with scheduled workflows

Hi everyone,

I’m running into an issue with scheduled workflows in n8n and I’m hoping someone can help me understand what’s going on.

I’m using a schedule trigger to run workflows automatically. When I set the trigger to run every 5 minutes, everything works fine and the workflow gets picked up immediately. I also tested it with a schedule of every 3 hours, and in that case the workflow runs perfectly and executes neatly every three hours.

However, when I change the schedule to run every 9 hours, the workflow no longer seems to trigger at all. I don’t see any executions happening, even though the workflow is active and nothing else has changed.

Because both 5 minutes and 3 hours work without any issues, it feels like the trigger itself and the workflow are set up correctly, but something goes wrong specifically when using a 9-hour interval.

I’m not sure if this has something to do with how n8n interprets longer intervals (for example fixed times instead of a rolling interval), a timezone-related issue, or something else in the scheduler.

If anyone has experienced something similar or knows where this could be coming from, I’d really appreciate the help. If more information is needed (trigger settings, environment details, logs, etc.), just let me know.

Thanks in advance!

1 Like

Hi @Daanm7

This is interesting!
I run quite a few schedule triggers myself, but i always like even numbers :smiley: like 8h, 4h, 2h, 12h

I finally have a good reason to stick with this habit :smiley:

With that in mind, here’s my guess as to what’s happening:

  • What we likely expect: A rolling timer. “Run this workflow, wait 9 hours, run again.”
  • What this trigger probably does: “Run this whenever the clock hour is divisible by 9.”

Since 24 is not divisible by 9, the execution hours are likely fixed at 00:00, 09:00, and 18:00.
(You might want to check your execution history to see if those are the only times it ran.)

I’m not 100% sure this is exactly how the cron logic works, so I’d suggest letting it run for a full day to observe when it actually triggers..

This is the file I based this guess on: