Skip to main content
RapidDev - Software Development Agency
n8n-tutorial

How to Schedule Workflows in n8n

Schedule workflows in n8n by adding a Schedule Trigger node and configuring it with a cron expression or a simple interval like every 5 minutes or every hour. Activate the workflow to start the schedule. The Schedule Trigger replaces the older Cron node and supports both basic intervals and advanced cron syntax for precise timing.

What you'll learn

  • How to add and configure the Schedule Trigger node
  • How to use simple intervals and cron expressions
  • How to set timezone-aware schedules
  • How to verify that scheduled workflows are running correctly
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner7 min read10 minutesn8n 1.0+ (self-hosted, Docker, and n8n Cloud)March 2026RapidDev Engineering Team
TL;DR

Schedule workflows in n8n by adding a Schedule Trigger node and configuring it with a cron expression or a simple interval like every 5 minutes or every hour. Activate the workflow to start the schedule. The Schedule Trigger replaces the older Cron node and supports both basic intervals and advanced cron syntax for precise timing.

Why Schedule Workflows in n8n

Many automation tasks need to run on a recurring basis: syncing data every hour, sending daily reports, checking for new records every five minutes, or running cleanup jobs weekly. The Schedule Trigger node in n8n lets you define exactly when and how often a workflow executes. You can use simple intervals for basic timing or cron expressions for precise scheduling like every weekday at 9 AM. Once configured and activated, n8n automatically runs the workflow at the specified times without any manual intervention.

Prerequisites

  • A running n8n instance (self-hosted or n8n Cloud)
  • A workflow you want to run on a schedule
  • Basic understanding of time intervals and cron syntax
  • The workflow must be activated for the schedule to work

Step-by-step guide

1

Add a Schedule Trigger node

Open your workflow in the n8n editor. Click the plus button on the canvas and search for Schedule Trigger. Add it as the first node in your workflow. If your workflow already has a different trigger node, you can have multiple triggers in the same workflow. The Schedule Trigger node replaces the older Cron node, which is deprecated in n8n 1.0+. Connect the Schedule Trigger output to the first processing node in your workflow.

Expected result: A Schedule Trigger node appears on the canvas as the starting point of your workflow.

2

Configure a simple interval

Click the Schedule Trigger node to open its settings. Select the trigger interval type. For simple use cases, choose a preset interval: every minute, every 5 minutes, every 15 minutes, every hour, every day, or every week. This is the easiest way to set up recurring execution. For daily or weekly intervals, you can also set the specific time of day when the workflow should run.

typescript
1// Schedule Trigger node — simple interval examples
2// Run every 5 minutes:
3// Trigger Interval: Minutes
4// Minutes Between Triggers: 5
5
6// Run every hour:
7// Trigger Interval: Hours
8// Hours Between Triggers: 1
9
10// Run every day at 9:00 AM:
11// Trigger Interval: Days
12// Days Between Triggers: 1
13// Trigger at Hour: 9
14// Trigger at Minute: 0

Expected result: The Schedule Trigger node shows the configured interval. The workflow will run at the specified frequency once activated.

3

Use a cron expression for advanced scheduling

For more complex schedules, switch the Schedule Trigger to Cron mode. Cron expressions use five fields: minute, hour, day of month, month, and day of week. This lets you create schedules like every weekday at 8:30 AM or the first day of every month at midnight. Each field accepts numbers, ranges, wildcards, and step values.

typescript
1// Cron expression format:
2// ┌───────── minute (0-59)
3// │ ┌─────── hour (0-23)
4// │ │ ┌───── day of month (1-31)
5// │ │ │ ┌─── month (1-12)
6// │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
7// │ │ │ │ │
8// * * * * *
9
10// Every weekday at 8:30 AM
11// 30 8 * * 1-5
12
13// Every Monday and Thursday at 6:00 PM
14// 0 18 * * 1,4
15
16// First day of every month at midnight
17// 0 0 1 * *
18
19// Every 15 minutes during business hours (9 AM - 5 PM)
20// */15 9-17 * * *

Expected result: The Schedule Trigger node accepts the cron expression and shows the next scheduled execution time.

4

Set the timezone

By default, n8n uses the server's timezone for scheduling. If your server is in UTC but you want the workflow to run at 9 AM Eastern Time, you need to set the timezone. In the Schedule Trigger node settings, look for the Timezone field and select your target timezone from the dropdown. For self-hosted n8n, you can also set the GENERIC_TIMEZONE environment variable to change the default timezone for all workflows.

typescript
1# Set default timezone for all workflows (environment variable)
2export GENERIC_TIMEZONE=America/New_York
3
4# Or in docker-compose.yml
5environment:
6 - GENERIC_TIMEZONE=America/New_York
7 - TZ=America/New_York

Expected result: The Schedule Trigger node uses the specified timezone. A workflow set to run at 9 AM will trigger at 9 AM in the configured timezone.

5

Activate the workflow and verify execution

The Schedule Trigger only works when the workflow is activated. Toggle the Active switch in the top-right corner of the editor to activate it. After activation, check the Executions tab to verify that the workflow is running at the expected times. The first execution happens at the next scheduled interval after activation, not immediately. If you want to test the workflow first, use the Execute Workflow button for a manual run before activating.

Expected result: The workflow shows as Active. After the first scheduled interval passes, you see a new entry in the Executions tab with the workflow's results.

Complete working example

docker-compose.yml
1# docker-compose.yml n8n with timezone configuration for scheduling
2version: '3.8'
3
4services:
5 n8n:
6 image: docker.n8n.io/n8nio/n8n
7 restart: unless-stopped
8 ports:
9 - '5678:5678'
10 environment:
11 # Timezone for scheduled workflows
12 - GENERIC_TIMEZONE=America/New_York
13 - TZ=America/New_York
14 # General configuration
15 - N8N_HOST=0.0.0.0
16 - N8N_PORT=5678
17 - WEBHOOK_URL=https://n8n.example.com/
18 # Execution settings
19 - EXECUTIONS_DATA_SAVE_ON_SUCCESS=all
20 - EXECUTIONS_DATA_SAVE_ON_ERROR=all
21 - EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true
22 # Prune old executions to save disk space
23 - EXECUTIONS_DATA_PRUNE=true
24 - EXECUTIONS_DATA_MAX_AGE=168
25 volumes:
26 - n8n_data:/home/node/.n8n
27 healthcheck:
28 test: ['CMD', 'wget', '--spider', '-q', 'http://localhost:5678/healthz']
29 interval: 30s
30 timeout: 5s
31 retries: 3
32
33volumes:
34 n8n_data:
35 driver: local

Common mistakes when scheduling Workflows in n8n

Why it's a problem: Forgetting to activate the workflow after adding a Schedule Trigger

How to avoid: The Schedule Trigger only fires when the workflow is active. Toggle the Active switch in the top-right corner of the editor.

Why it's a problem: Using the deprecated Cron node instead of Schedule Trigger

How to avoid: The Cron node is deprecated in n8n 1.0+. Replace it with the Schedule Trigger node which has the same capabilities with a better interface.

Why it's a problem: Schedule fires at the wrong time because of timezone mismatch

How to avoid: Set GENERIC_TIMEZONE in your environment variables and verify the timezone in the Schedule Trigger node settings.

Why it's a problem: Expecting the workflow to run immediately after activation

How to avoid: The first execution happens at the next scheduled interval. If you set every hour and activate at 2:15 PM, the first run is at 3:00 PM.

Best practices

  • Always set the GENERIC_TIMEZONE environment variable to match your business timezone
  • Test workflows manually with the Execute Workflow button before activating the schedule
  • Use simple intervals for basic timing and cron expressions only when you need specific day/time combinations
  • Monitor the Executions tab after activating a scheduled workflow to confirm it runs as expected
  • Enable execution data saving so you can review the results of scheduled runs
  • Prune old execution data to prevent database growth from long-running scheduled workflows
  • Add error handling nodes so scheduled workflows send alerts on failure instead of failing silently
  • Document your cron expressions in the workflow notes so other team members understand the schedule

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I need to schedule an n8n workflow to run every weekday at 9 AM Eastern Time. Show me how to configure the Schedule Trigger node with a cron expression and set the timezone.

n8n Prompt

Help me set up a Schedule Trigger in n8n that runs my data sync workflow every 15 minutes during business hours (9 AM to 5 PM) on weekdays only.

Frequently asked questions

What is the minimum schedule interval in n8n?

The minimum interval is every minute. You can set the Schedule Trigger to run every 1 minute, but be cautious with high-frequency schedules as they increase server load and may hit API rate limits on connected services.

Can I have multiple Schedule Trigger nodes in one workflow?

Yes. A workflow can have multiple trigger nodes including multiple Schedule Triggers. Each one fires independently, and any of them can start the workflow.

Does the schedule keep running if I edit the workflow?

Yes. Editing a workflow does not deactivate it. The schedule continues running with the saved version. Your unsaved changes are not included until you save the workflow.

How do I stop a scheduled workflow temporarily?

Toggle the Active switch off in the workflow editor. This deactivates all triggers including the Schedule Trigger. Toggle it back on to resume the schedule.

What happens if n8n is down when a scheduled execution is due?

Missed executions are skipped. n8n does not retroactively run workflows for intervals that were missed while the server was down. The next execution occurs at the next scheduled interval after n8n restarts.

Can I schedule a workflow to run only once at a specific date and time?

The Schedule Trigger is designed for recurring execution. For a one-time run, set a cron expression for the specific date and time, then manually deactivate the workflow after it runs.

Can RapidDev help me set up complex scheduling logic in n8n?

Yes. RapidDev can design and implement advanced scheduling patterns including conditional scheduling, dependency chains, and failure recovery. Contact RapidDev for a free consultation.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.