All posts
Nodox Team··9 min read

How to Schedule Workflows in n8n: Cron Jobs, Timers, and Triggers Explained

Master workflow scheduling in n8n with this complete guide to cron expressions, interval triggers, and time-based automation patterns.

n8nschedulingcrontutorialautomation

Automation is most powerful when it runs without you. And that means scheduling.

Whether you need a workflow to run every morning at 9 AM, every 5 minutes, or on the first Monday of each month, n8n has you covered.

Here's everything you need to know about scheduling workflows in n8n.

The Schedule Trigger Node

The Schedule Trigger is your primary tool for time-based automation. It lives in the Triggers section and offers two modes:

Interval Mode

The simplest option. Run your workflow at fixed intervals:

  • Every X seconds
  • Every X minutes
  • Every X hours
  • Every X days

Example: Run a data sync every 15 minutes.

This is perfect for:

  • Regular data syncs
  • Health checks
  • Polling APIs that don't support webhooks
  • Periodic cleanup tasks

Cron Mode

For precise scheduling, use cron expressions. This gives you exact control over when workflows run.

Cron expression format:

```

* * * * *

│ │ │ │ │

│ │ │ │ └─ Day of week (0-7, 0 and 7 = Sunday)

│ │ │ └─── Month (1-12)

│ │ └───── Day of month (1-31)

│ └─────── Hour (0-23)

└───────── Minute (0-59)

```

Common cron patterns:

  • 0 9 * * * — Every day at 9:00 AM
  • 0 9 * * 1-5 — Weekdays at 9:00 AM
  • */15 * * * * — Every 15 minutes
  • 0 0 1 * * — First day of every month at midnight
  • 0 8 * * 1 — Every Monday at 8:00 AM
  • 0 */2 * * * — Every 2 hours

Pro tip: Use a cron expression generator if you're unsure. Search "cron expression generator" — there are many free tools online.

When to Use Which Trigger

Use Interval When:

  • You need consistent spacing between runs
  • The exact time doesn't matter
  • You're doing continuous monitoring
  • You want simple, readable configuration

Use Cron When:

  • You need runs at specific times (reports at 9 AM)
  • You need complex patterns (first Monday of month)
  • Business hours matter (weekdays only)
  • You're coordinating with external systems

Timezone Considerations

By default, n8n uses your instance's timezone. This matters for cron schedules.

Self-hosted: Set your container's timezone or use the GENERIC_TIMEZONE environment variable.

Cloud: Check your workspace settings for timezone configuration.

Testing tip: When debugging, add a Set node after your trigger that logs the current timestamp. This helps verify your schedule is firing when expected.

Common Scheduling Patterns

Pattern 1: Business Hours Only

Run workflows only during work hours:

```

0 9-17 * * 1-5

```

This runs at the start of every hour from 9 AM to 5 PM, Monday through Friday.

Pattern 2: Staggered Batch Processing

If you have multiple scheduled workflows hitting the same API, stagger them:

  • Workflow A: 5 * * * * (5 minutes past each hour)
  • Workflow B: 20 * * * * (20 minutes past each hour)
  • Workflow C: 35 * * * * (35 minutes past each hour)

This prevents API rate limit issues and distributes load.

Pattern 3: End of Day Reports

Generate daily reports after business hours:

```

0 18 * * 1-5

```

Runs at 6 PM on weekdays — perfect for daily summaries.

Pattern 4: Weekly Maintenance

Run cleanup or maintenance tasks on weekends:

```

0 3 * * 0

```

Runs at 3 AM every Sunday.

Handling Missed Runs

What happens if your n8n instance is down when a scheduled workflow should run?

The honest answer: The run is missed. n8n doesn't have built-in "catch-up" functionality.

Solutions:

  1. Design for idempotency — Make workflows safe to run multiple times
  2. Use timestamps — Have workflows process data since their last successful run
  3. Monitor uptime — Use external monitoring to alert on n8n downtime
  4. Consider redundancy — For critical workflows, run n8n on reliable infrastructure

Combining Triggers

A workflow can only have one trigger. But you can achieve multi-trigger behavior:

Option 1: Multiple workflows, shared sub-workflow

Create your main logic as a sub-workflow. Then create separate scheduled workflows that call it. This lets you trigger the same logic on different schedules.

Option 2: Webhook + Schedule

If you need both manual and scheduled execution:

  1. Create the main workflow with a webhook trigger
  2. Create a scheduled workflow that calls the webhook

Performance Considerations

Don't Over-Schedule

Running a workflow every second sounds powerful but rarely makes sense:

  • It consumes resources constantly
  • Most APIs rate limit you anyway
  • You're probably polling when you should use webhooks

Rule of thumb: If you're scheduling more frequently than every minute, ask yourself if a webhook-based approach would work better.

Long-Running Workflows

If your workflow takes 10 minutes to run and you schedule it every 5 minutes, you'll have overlapping executions.

Solutions:

  • Increase the interval
  • Optimize the workflow to run faster
  • Use execution locking (check if already running before processing)

Debugging Scheduled Workflows

Scheduled workflows are harder to debug because you can't just click "Test."

Debugging tips:

  1. Use Manual Trigger for development — Build with a manual trigger, switch to schedule when done
  2. Check execution history — n8n shows all past runs with their data
  3. Add logging nodes — Set nodes that record timestamps and key data points
  4. Test with short intervals — Temporarily use a 1-minute interval to verify behavior

Real-World Examples

Daily Lead Digest

Every morning at 8 AM, pull new leads from your CRM and send a Slack summary to the sales team.

Schedule: 0 8 * * 1-5

Flow:

  1. Schedule Trigger
  2. HTTP Request to CRM API (filter: created since yesterday)
  3. IF node (check if any new leads)
  4. Slack message with lead summary

Hourly Inventory Sync

Sync inventory levels between your e-commerce platform and warehouse system every hour.

Schedule: 0 * * * *

Flow:

  1. Schedule Trigger
  2. Get inventory from source system
  3. Compare with destination system
  4. Update discrepancies
  5. Log changes to spreadsheet

Weekly Report Generation

Generate and email a performance report every Monday morning.

Schedule: 0 9 * * 1

Flow:

  1. Schedule Trigger
  2. Query database for last week's metrics
  3. Format data into report
  4. Generate PDF (or formatted email)
  5. Send to stakeholders

The Bottom Line

Scheduling is what transforms automation from "cool tool" to "invisible infrastructure."

The key insights:

  • Use intervals for simple, regular tasks
  • Use cron for precise, business-aligned timing
  • Design for missed runs and overlapping executions
  • Monitor your scheduled workflows — they fail silently

Ready to build scheduled automations? Nodox.ai challenges include time-based scenarios where you'll build real scheduling patterns. Learn by doing, not just reading.

Start building today

Stop reading. Start building.

The best way to learn automation is by doing. Nodox.ai gives you hands-on challenges that build real skills — no passive tutorials, no hand-holding. Just problems to solve and skills that compound.