
在 n8n 的自動化世界中,所有流程的起點都是一個「觸發器 (Trigger) 節點」。它就像是自動化生產線的啟動按鈕,決定了你的工作流「何時」以及「為何」開始運作。而在眾多觸發器中,有一個最基本、也最不可或缺的角色,那就是 Schedule 節點。
你是否曾想過:
- 如何讓 n8n 在每天早上 9 點,自動抓取最新的銷售數據並產生日報表?
- 如何設定一個每週五下午 5 點自動發送週報的流程?
- 如何建立一個在每個月最後一天,才執行的自動化發票提醒任務?
所有這些「在特定時間點自動執行」的需求,都必須仰賴 Schedule 節點來實現。它就像是為你的自動化流程裝上的一個功能強大的智慧鬧鐘,讓你能精準控制任務的執行時機。
這篇文章將是你最完整的 n8n Schedule 節點教學。我們將帶你深入解析它的五種排程模式,從簡單的每小時執行,到使用 Cron 語法實現複雜的自訂排程,並透過實戰案例與技巧分享,讓你徹底掌握 n8n 的時間魔法,將你的自動化能力提升到全新層次。
什麼是 Schedule 節點?為你的自動化裝上「鬧鐘」
Schedule 節點是一個觸發器節點 (Trigger Node),這意味著它永遠是一個工作流的第一個節點。它的功能非常單純:不需要任何外部事件(如 Webhook 或表單提交),而是根據你設定的「時間規則」,定時自動地啟動整個工作流。
與 Webhook 這類「事件驅動」的觸發器不同,Schedule 節點是「時間驅動」的。它讓你的自動化不再只是被動地等待外部指令,而是可以主動地、有規律地在指定時間執行任務,非常適合用來處理例行性的、週期性的工作。
當你將一個新的 Schedule 節點拉到畫布上時,你會看到它的設定面板中有一個核心選項:「Mode」。n8n 提供了多種模式來滿足你從簡單到複雜的各種排程需求。
模式詳解一:間隔執行 (Interval) – 每隔一段時間就觸發
這是最簡單的排程模式,它的邏輯是「每隔 X [時間單位] 執行一次」。
- 何時使用: 當你不在乎確切的執行「時刻」,只關心執行的「頻率」時。例如,每 15 分鐘檢查一次網站狀態,或每 6 小時同步一次資料。
- 設定選項:
- Value: 數字,代表間隔的長度。
- Unit: 時間單位,可以選擇
Minutes
(分鐘)、Hours
(小時)、Days
(天)、Weeks
(週)、Months
(月)。
- 實戰範例:
- 任務: 每 30 分鐘檢查一次特定 API 的狀態。
- 設定:
Mode
選擇Interval
,Value
填30
,Unit
選擇Minutes
。
- 注意事項: Interval 的計時起點是你「啟動 (Activate) 工作流」的那一刻。如果你在早上 9:10 啟動了一個每小時執行的流程,那麼它會在 10:10、11:10… 執行,而不是在整點。
模式詳解二:固定時間 (Every Day/Week/Month/Year) – 日常排程的首選
這一系列的模式,適用於絕大多數的日常商業排程需求。它們的邏輯是「在每個 [時間單位] 的特定時刻執行」。
- 何時使用: 當你需要任務在固定的、可預測的時間點發生時。
- 模式與設定:
- Every Day: 每天執行。你可以指定執行的
Hour
(時) 和Minute
(分)。- 範例:
Hour
設為9
,Minute
設為0
,即為每天早上 9:00 執行。
- 範例:
- Every Week: 每週執行。你可以選擇在一周的哪幾天 (Day of the Week) 的特定時間執行。
- 範例:
Day of the Week
勾選Friday
,Hour
設為17
,Minute
設為30
,即為每週五下午 5:30 執行。
- 範例:
- Every Month: 每月執行。你可以選擇在每個月的第幾天 (Day of the Month) 的特定時間執行。
- 範例:
Day of the Month
選擇1
,Hour
設為10
,Minute
設為0
,即為每個月 1 號上午 10:00 執行。
- 範例:
- Once: 執行一次。設定一個未來的特定日期和時間,工作流只會在那個時間點執行一次。
- Every Day: 每天執行。你可以指定執行的

模式詳解三:終極武器 Cron – 實現任何你想像得到的複雜排程
當以上所有模式都無法滿足你刁鑽的排程需求時,就是 Cron 登場的時刻。Cron 是一種在電腦系統中用來設定週期性任務的標準語法,它極度靈活且強大。
- 何時使用:
- 每週一至週五的上班時間(9:00 – 18:00)每小時執行一次。
- 每個月的最後一個星期五執行。
- 每年的 6 月和 12 月的 1 號凌晨執行。
- Cron 語法結構: Cron 表達式由 5 個欄位組成,中間用空格隔開,分別代表:
分鐘(0-59) 小時(0-23) 日(1-31) 月(1-12) 星期幾(0-6, 0和7都代表週日)
*
:代表「每一個」。例如,在「分鐘」欄位寫*
代表每一分鐘。,
:代表「和」。例如,在「小時」欄位寫9,12,18
代表在 9 點、12 點和 18 點。-
:代表「範圍」。例如,在「星期幾」欄位寫1-5
代表週一到週五。/
:代表「間隔」。例如,在「分鐘」欄位寫*/15
代表每 15 分鐘。
- 實用 Cron 範例大全:
0 9 * * 1-5
: 每週一至週五的早上 9:00。*/30 9-17 * * 1-5
: 每週一至週五,從早上 9 點到下午 5 點,每 30 分鐘一次。0 10 1 * *
: 每個月 1 號的上午 10:00。0 22 L * *
: 每個月最後一天的晚上 10:00 (n8n 支持L
這個特殊字元)。
如果你對 Cron 語法不熟,強烈推薦使用 Crontab.guru 這個線上工具,它可以即時為你翻譯 Cron 表達式的意思,非常方便!
Schedule vs. Wait 節點:我該用哪個來處理「延遲任務」?
這是新手常會混淆的問題。Schedule 和 Wait 節點都能處理與「時間」相關的任務,但它們的根本角色完全不同。
比較項目 | Schedule 節點 | Wait 節點 |
節點類型 | 觸發器 (Trigger) | 執行器 (Action) |
在流程中的位置 | 永遠是第一個節點 | 可以在流程中的任何位置 |
功能 | 啟動一個全新的工作流 | 在現有工作流執行中暫停 |
使用情境 | 每天產生日報表 | 在用戶註冊 24 小時後發送教學信 |
簡單的判斷法則:
- 如果你的問題是「我希望流程在…時候『開始』」,請使用 Schedule 節點。
- 如果你的問題是「我希望流程跑到一半,『等待』一段時間後再繼續」,請使用 Wait 節點。
實用技巧與注意事項
精通 Schedule 節點的設定後,你還需要知道一些專業的實踐技巧,來確保你的排程任務穩定可靠。
注意時區 (Timezone) 設定!
這是最常導致排程不如預期的陷阱!n8n 的排程時間是根據你伺服器環境的時區來決定的。如果你的 n8n 是透過 Docker 部署,預設的時區可能是 UTC+0。
解決方案: 在你的 docker-compose.yml
或 docker run
指令中,務必設定 GENERIC_TIMEZONE
這個環境變數,將其指定為你所在的時區。
- 台灣使用者設定:
GENERIC_TIMEZONE=Asia/Taipei
設定正確的時區,才能確保你設定的「早上 9 點」,是你所在地的早上 9 點,而不是格林威治的早上 9 點。
結合錯誤處理 (Error Handling)
排程任務通常在背景自動執行,如果沒有妥善的錯誤處理,它失敗了你可能都不知道。強烈建議在你的排程工作流中,為所有可能失敗的關鍵節點(特別是 HTTP Request
)都加上錯誤處理路徑,在出錯時自動發送通知到你的 Slack 或 Email。
測試你的排程
在正式啟用 (Activate) 工作流之前,你可以隨時點擊 Schedule 節點右上角的「播放」按鈕 (Execute Node),這會立即執行一次工作流,讓你可以在不等待排程時間的情況下,先行測試後續的所有節點是否運作正常。

結語
Schedule 節點是 n8n 自動化的心跳與節奏。它將你的工作流從被動的接收者,轉變為主動的執行者,讓你的系統能夠年復一年、日復一日地,在最精準的時間點,為你完成各種例行任務。
今天,我們不僅學會了從簡單到複雜的五種排程模式,更理解了它與 Wait 節點的根本差異,以及設定時區等關鍵的專業技巧。掌握了 Schedule 節點,你就掌握了 n8n 時間自動化的鑰匙。現在,就去找出那些你每天、每週、每月都在重複做的例行公事,為它們設定一個 Schedule 節點,讓 n8n 成為你最可靠的定時小幫手吧!