
很多時候,我們會遇到像這樣的情境
- 只有當欄位值等於某個條件,才需要往下執行
- 不同的資料類型,要走不同的路線
- 有些資料不符合條件,要直接中斷不往下跑
這時候,n8n 裡面的 IF 節點 就是我們的關鍵角色了。
IF 節點到底是什麼?
顧名思義,IF 節點就是「判斷條件」的工具。
它的功能就像程式語言裡的 if...else:
- 條件成立 → 走 True 分支
- 條件不成立 → 走 False 分支
你可以把它想成流程裡的一個「紅綠燈」,
決定資料要往哪個方向走。
一個最常見的使用情境
舉個我自己常用的例子:
我有一個訂單表單(Form Trigger),裡面有個欄位是「是否已付款」。

我想要:
- 如果已付款 ✅ → 把資料送進訂單處理流程
- 如果未付款 ❌ → 把資料寄信提醒通知流程
這時候我就在 Form Trigger 後面接一個 IF 節點,條件設定為:
field: 已付款
operation: equals
value: true
然後:
- True 分支連到 HTTP Request(送進訂單系統)
- False 分支連到 Gmail(發出提醒)
這樣,一條流程就變成一個「自動分流系統」。
IF 節點的設定方式其實很直覺

- 選擇欄位(Conditions) → 這是你要拿來判斷的資料欄位,比如
status(狀態)或paid(付款)。 - 設定條件 → 設定條件前需要判斷以下六種資料類型: String, Number, Date & Time, Boolean, Object → 確定類型後可以選 is equal to、contains、greater、less 等功能 基本上的判斷邏輯都夠用。
- 輸入比較值 → 設定你想比對的內容(表單送出的數值),在這邊我是寫
已付款,也可以改成true、完成、>100 等。 - 看結果分流 → True 跑右邊,False 跑左邊(n8n 的介面上會很清楚地顯示),圖片中的範例是跑 Ture。

IF 節點能玩的花樣很多
IF 不只是「對或錯」這麼簡單,
這裡分享幾個我自己實際用過的組合。
1. 多條件判斷
n8n 的 IF 可以用 多條件:
- 例如
狀態 = 已完成且總金額 > 1000 - 你可以決定條件之間是 AND 還是 OR。
2. 搭配時間條件
想像一個自動化通知流程:
- 如果今天的日期距離出貨日只剩 2 天,就自動發信。 這時候 IF 可以搭配 Function 把日期算出來,再進行判斷。
3. 篩掉不必要的資料
有時候你會收到一堆資料,但其實只有一部分是有用的。
IF 可以幫你先把不符合條件的資料「擋掉」,避免浪費後面節點的資源。
IF ≠ Function:別太快寫程式
很多人剛開始學 n8n,
一遇到判斷就直接進Code(Function)寫 JavaScript。
但其實,IF 節點能處理掉 8 成以上的條件分支。
這不只讓流程圖更清楚,
未來要維護的時候,也不用再進去挖 Function 內容。
我自己的習慣是:
- 如果只是單純判斷 → 用 IF
- 如果有多層邏輯(像巢狀 if、日期計算) → 才會加 Function
IF + Merge = 真正的流程控制力
當你把 IF 和 Merge 搭在一起,就可以做到很靈活的流程控制。
例如:
- True 分支 → 處理流程 A
- False 分支 → 處理流程 B
- 最後再 Merge 回來 → 統一送進報表 API
這樣,你就不需要寫複雜的條件判斷,只要清楚地把流程「分出來再合起來」。
我的經驗小提醒
- IF 的條件判斷不分大小寫,記得確認你的輸入值格式。
- 不確定資料值的時候,先用 Function 或 Debug node 把
items印出來。 - 一條流程可以用多個 IF 節點串起來,像積木一樣逐層過濾。
- 避免把所有條件塞進一個 IF,邏輯越清楚,流程越好 debug。
結語
如果說節點是 n8n 的文法,那 IF 節點就是這門語言的「邏輯判斷力」。
它讓你的流程不只是「執行」,而是能夠「判斷」、「選擇」、「控制」。
一開始我也會傾向什麼都寫進 Function,
但後來發現,用 IF 把邏輯「攤開來」其實更直覺,也更容易維護。
而這,就是流程設計成熟的第一步。
下一篇,我會帶你玩另一個同樣重要的節點,讓工作流可以不斷重複執行它的自動化流程。
到了這一步,你就不只是用 n8n,而是掌握關鍵的節點知識,開始能夠不寫程式的「設計系統」 !
延伸閱讀(我的 n8n 系列文章)
