Loading learning content…
Loading learning content…
Run automations on time-based schedules using cron syntax and n8n's schedule trigger.
Read through the lesson, mark it complete when the concept is clear, then move to the next lesson in the sequence or jump back to the module map.
Use scheduling for: regular reports, data syncs, cleanup tasks, monitoring checks, and any workflow where you want periodic execution rather than event-driven execution.
Cron expressions define schedules: minute hour day-of-month month day-of-week
Common patterns:
0 9 * * 1-5 # 9am weekdays
0 0 * * * # midnight daily
*/5 * * * * # every 5 minutes
0 8 1 * * # 8am on the 1st of each month
0 */6 * * * # every 6 hours
n8n's Schedule trigger has a visual cron builder if you prefer not to write cron syntax directly.
Always specify timezone for scheduled workflows. A cron expression without timezone context means different things in different environments.
Store and display times in UTC; display to users in their local timezone. Never store local times in databases.
Scheduled workflows should be idempotent. If a workflow runs twice (due to a bug or manual trigger), it should produce the same result as running once.
Pattern: check if work is already done before doing it again.
If report_for_date already exists → skip
Else → generate report → mark complete
Track: last successful run, last run time, error rate per run, and any missed runs. Alert if a workflow doesn't run within 2x its expected interval.
Scheduled workflows fail silently more often than webhook-triggered ones — they're not responding to visible events.