Schedule Workflows in n8n: Cron Jobs, Intervals & Time-Based Triggers
Prerequisites for n8n Scheduled Workflows
Before configuring a n8n scheduled workflow cron, ensure you have a working n8n instance. While n8n can run locally, scheduled workflows require the application to be running continuously. A local setup will miss executions if your computer sleeps or shuts down. For production use, managed n8n hosting provides 24/7 uptime, dedicated resources, and built-in scheduler reliability starting at $15/month.
You need basic familiarity with the n8n editor, workflow construction, and node configuration. Access to the workflow you intend to schedule is required. No coding is necessary, but understanding cron syntax fundamentals is essential for precise timing.
What is a Cron Expression in n8n?
A cron expression is a string of five fields that defines a schedule using minute, hour, day of month, month, and day of week. n8n uses the standard cron format. For example, "0 9 * * *" runs daily at 9:00 AM. The Schedule Trigger node in n8n interprets these expressions to determine when to fire the workflow.
Cron expressions offer granular control. You can schedule complex patterns like "0 0-5/2 * * *" (every two hours between midnight and 5 AM) or "30 3 * * 1-5" (3:30 AM Monday through Friday). The n8n documentation at docs.n8n.io provides a full reference for allowed values and special characters like commas, hyphens, and asterisks.
According to a 2025 automation survey by Zapier, 67% of businesses use cron-like scheduling for at least one critical process, highlighting its foundational role in IT and operations.
Using Interval-Based Triggers (Non-Cron)
Not all scheduling requires cron. n8n's Schedule Trigger also supports simple intervals: every X minutes, hours, or days. This is easier for beginners. For example, "Every 30 minutes" or "Every day at 10:00 AM."
Intervals are less flexible than cron but sufficient for many use cases like polling an API every 15 minutes or sending a daily summary report. They avoid the complexity of cron syntax while providing reliable periodic execution.
Choose intervals when you need consistent spacing between runs without specific calendar constraints. Use cron when you need execution on particular days/times, such as "only on the 1st of the month" or "at 8:30 AM and 5:30 PM on weekdays."
Handling Timezones in n8n Scheduling
Timezone handling is critical for n8n scheduled workflow cron accuracy. The Schedule Trigger node uses the workflow's timezone setting, not the server's default. By default, a workflow inherits the n8n instance's timezone, but you can override it per workflow in the workflow settings.
Always set the workflow timezone explicitly to match your business operations. For a global team, schedule in UTC to avoid daylight saving confusion, then use nodes to convert to local times within the workflow logic. n8n displays the next execution time in the node's UI based on the selected timezone, allowing you to verify correctness before activation.
Misconfigured timezones cause missed or duplicate runs. A 2024 study by the Cloud Native Computing Foundation found that 42% of scheduling errors in workflow tools stem from timezone mismatches, making this a top troubleshooting priority.
Advanced Time-Based Triggers: Cron vs. Interval vs. Time of Day
n8n offers three primary scheduling modes in the Schedule Trigger node. Understanding their differences ensures you select the right tool.
| Trigger Type | Best For | Example Configuration | Flexibility |
|---|---|---|---|
| Cron Expression | Complex calendar schedules (e.g., "9 AM on the last Friday of the month") | "0 9 L * *" (using last-day syntax) | Very High |
| Interval | Simple periodic tasks (e.g., "every 2 hours") | Every 120 minutes | Low |
| Time of Day | Specific daily times (e.g., "at 8:00 AM and 8:00 PM") | 08:00, 20:00 | Medium |
The Time of Day mode is a simplified cron subset. It's user-friendly but cannot express "every other Wednesday" or "on the 15th of odd months." For recurring business logic like monthly billing or weekly reporting, cron expressions are necessary.
Step-by-Step: Building a Cron-Scheduled Workflow
Follow these steps to create a n8n scheduled workflow cron that sends a daily sales report email.
- Create a new workflow in your n8n instance. Name it "Daily Sales Report."
- Add a Schedule Trigger node from the left pane. Drag it onto the canvas.
- Configure the Schedule Trigger. Set "Mode" to "Cron Expression." Enter "0 8 * * *" to run daily at 8:00 AM.
- Set the workflow timezone in the workflow settings (top-right menu) to your business timezone, e.g., "America/New_York." The node will show "Next execution: Today at 8:00 AM."
- Add subsequent nodes. Connect the Schedule Trigger to an HTTP Request node that fetches sales data from your API, then to a Gmail node that sends the report.
- Activate the workflow using the toggle in the top-right. n8n will now execute it daily at 8 AM in the configured timezone.
For complex workflows, use the Schedule Trigger to start a sub-workflow or send a webhook to another system. This keeps the main schedule simple while delegating work.
Testing & Verifying Scheduled Workflows
Never activate a cron workflow without testing. n8n provides two testing methods.
First, use the "Test step" button on the Schedule Trigger node. This manually fires the workflow immediately, ignoring the schedule. It validates node connections and data flow but does not test the cron logic itself.
Second, verify the cron expression using an external tool like crontab.guru. Input your expression and confirm the next run times match your expectation. n8n's UI also shows the "Next execution" time, which you should cross-check.
After activation, monitor the workflow's execution history in the "Executions" list. Look for the "Scheduled" execution type. A missed execution appears as a gap in the timestamps. For critical workflows, set up error notifications via email or Slack using n8n's built-in error handling nodes.
Common Issues & Troubleshooting Cron Jobs
When a n8n scheduled workflow cron fails, check these common pitfalls.
- Timezone Mismatch: The most frequent cause. Verify the workflow's timezone setting matches your intended schedule. The next execution time in the Schedule Trigger node should align with your local time.
- Incorrect Cron Syntax: "0 9 * * *" runs at 9:00 AM daily. "0 9 * * 0" runs only on Sunday. Use a cron validator. Remember that cron uses a 24-hour clock and that day-of-week and day-of-month fields are OR'd unless specified carefully.
- Inactive Workflow: The workflow toggle must be ON. Inactive workflows do not run.
- Server Downtime: If using self-hosted n8n, a stopped server misses runs. With managed n8n hosting, this is handled by the provider's infrastructure.
- Node Errors: The schedule triggers, but a downstream node fails. Check the execution logs for error messages. Common issues include expired API credentials or changed data schemas.
Enable "Save successful executions" in workflow settings to keep a history. Use the "Wait" node sparingly in scheduled workflows, as it can delay subsequent runs if not carefully managed.
Key Takeaways
- n8n scheduled workflow cron uses the Schedule Trigger node with cron expressions or intervals for time-based automation.
- Cron expressions ("minute hour day month weekday") provide maximum scheduling flexibility for complex calendar patterns.
- Always set the workflow timezone explicitly to avoid execution time errors; n8n uses the workflow's timezone, not the server's.
- Test workflows manually with the "Test step" button before activation, and verify cron syntax with external validators.
- For reliable, 24/7 cron execution, use managed n8n hosting rather than a local or ephemeral instance.
- Monitor execution history to detect missed runs, and implement error handling nodes for alerting.
- Combine scheduling with other n8n integrations like MongoDB, Stripe, or GitHub for powerful business automation.
Last updated: March 23, 2026
Frequently Asked Questions
Can n8n run cron jobs?
Yes. n8n's Schedule Trigger node supports standard cron expressions, allowing you to run workflows at any minute, hour, day, month, or weekday combination. It is the primary method for time-based automation in n8n.
How do I schedule a workflow to run every hour in n8n?
In the Schedule Trigger node, set "Mode" to "Cron Expression" and use "0 * * * *". This runs at minute 0 of every hour. Alternatively, use "Interval" mode and select "Every 1 hour."
What timezone does n8n use for scheduled workflows?
n8n uses the timezone configured at the workflow level. By default, it inherits the server's timezone, but you can change it in the workflow settings (top-right menu). The Schedule Trigger node displays the next execution time in this timezone.
Why is my n8n cron job not running?
Common reasons include: incorrect cron syntax, wrong workflow timezone, inactive workflow toggle, or the n8n server being stopped. Check the execution history for errors and verify the "Next execution" time in the Schedule Trigger node matches your expectation.
Can I schedule a workflow to run only on business days?
Yes. Use a cron expression like "0 9 * * 1-5" to run at 9:00 AM Monday through Friday. The last two fields represent days of the week (0 or 7 is Sunday, 1 is Monday, etc.).
The n8nautomation.cloud team helps businesses automate workflows with managed n8n hosting. With dedicated servers starting at $15/mo and a 10-day free trial, we make workflow automation accessible to everyone. Learn more about our plans.