前面我們都是手動點執行按鈕,但在真正的生產環境中,自動化就是要「沒人管也能跑」。這章我們來聊聊 n8n 是如何被觸發的。

學習目標 (Goal)

  • 搞懂三種最常用的觸發方式:Manual, Schedule, 與 Webhook

  • 學會設定「定時任務」(每天、每小時跑一次)。

  • 理解 Webhook 是如何讓外部系統(如問卷、串接工具)通知 n8n 的。


核心觀念 (Concepts)

1. Manual Trigger:測試專用

這我們最熟了,單純就是為了開發時測試用的。在正式「發布 (Publish)」工作流後,這個節點通常就沒用了。

2. Schedule Trigger:定時任務

這就像是設鬧鐘。你可以規定:

  • 每小時:適合做例行資料檢查。

  • 每天早上 9 點:適合發送天氣預報或是工作日報。

    • 自定義 Cron:如果你有更精確的要求(比如每個月最後一個禮拜五),可以用 Cron 表達式。

3. Webhook Trigger:即時通知

這是自動化界的高級技巧。想像 n8n 是個開著大門的辦公室,外面的系統可以在發生事情時,直接跑過來敲門遞資料。

IMPORTANT

Test URL vs. Production URL (新手必修課) Webhook 節點會提供兩組網址(切換開關在節點頂部):

  • Test URL:開發調試用。你點擊節點內的 "Listen for test event" 就會開始等待接收,收到資料後就停止 "Listen for test event"。
  • Production URL:正式上線用。當工作流點擊 Publish (發布) 後,n8n 就只會理會這組網址。

黃金法則:開發時用 Test URL搭配 "Listen for test event" ,正式上線改 Production URL。如果你在「沒發布」的情形下往 Production URL 丟資料,n8n 是會直接忽略你的!


節點配置 (Node Setup)

Step 1: 設定定時任務

  1. 拉出 Schedule 節點。
  2. 將頻率設為 Every Day
  3. 設定在你想要的時間(建議設個 5 分鐘後,讓你自己觀察它會不會跑)。

Step 2: 建立 Webhook 入口

  1. 拉出 Webhook 節點。
  2. HTTP MethodPOST
  3. 點一下 Webhook URL 欄位,複製 Test URL
  4. 使用 Postman 或捲動到本章實戰,發送一個測試請求。或者直接使用 curl


實戰挑戰 (Challenge)

  1. 鬧鐘測試:設定一個每分鐘跑一次的 Schedule,後面接個 Sticky Note 或寫個 Log,看看它是不是真的有在動。
  2. 外部敲門:使用在 Chapter 03 學到的 curl 指令,往你的 Webhook Test URL 發一筆資料。

    • 快速複習指令
    • curl -X POST [貼上你的 Webhook URL] \
        -H "Content-Type: application/json" \
        -d '{"message": "hello from curl"}'
      

      看看 n8n 畫面上會不會即時跳出訊息。

    • Postman

  3. URL 切換:把工作流進行 Publish (發布),這時候觀察 Webhook 節點,你會發現 URL 變成 Production 模式了(或是觀察 Webhook 切換到 Production URL)。


TIP

重要規則:Publish vs Save (發佈 vs 儲存) 在 n8n v2.2+ 中,「儲存 (Save)」只是存下你的草稿。如果你希望設定好的「定時」或「Webhook」能自動運作,你必須點擊右上角的 「Publish (發佈)」。只有發佈後的版本才會進出生產環境。 * 測試開發:若想測試目前的草稿,請點擊下方的 「Execute Workflow (執行工作流)」,這會直接跑畫面上最新的邏輯,不需要經過發佈。

範例