
你是不是也遇過這種狀況:希望 n8n 工作流能像人一樣「思考」,根據不同情況,執行不同的動作?例如,當顧客的訂單金額超過 2000 元時,自動發送一封 VIP 感謝信並附上折價券;如果沒超過,就發送一般的訂單確認信。
如果你的自動化流程只會一條路走到黑,那它就只是一個單純的執行者。但如果你想讓它變得「聰明」,能夠自己做決定、分流處理任務,那麼你絕對不能不認識 n8n 的「IF 節點」。
IF 節點可以說是 n8n 工作流中的大腦或十字路口的交通警察,它賦予了你的自動化流程判斷是非、分流任務的能力。這篇文章將會是一份超詳細的 n8n IF 節點教學,從最基礎的介面設定,到各種條件操作,再到多重條件的進階應用,帶你一步步掌握這個強大的工具,讓你的工作流智慧程度直線飆升!
什麼是 n8n 的 IF 節點?自動化流程的十字路口
在 n8n 中,IF 節點的核心功能非常單純:它會檢查傳入的資料 (Item),看它是否符合你設定的「條件 (Condition)」,然後根據判斷結果是「真 (True)」還是「假 (False)」,將資料導向不同的路徑。
你可以把 IF 節點想像成一個十字路口的交通警察:
- 車輛抵達 (資料傳入): 從上一個節點傳來一筆資料 (Item),就像一輛車開到路口。
- 警察盤查 (條件判斷): 交通警察會根據規則(你設定的條件)來檢查這輛車。例如,規則是「車牌號碼是單數」。
- 指揮方向 (分流輸出):
- 如果車牌是單數(條件為 True),警察就指揮它走向 A 路線。
- 如果車牌是雙數(條件為 False),警察就指揮它走向 B 路線。
在 n8n 的畫面上,你會看到 IF 節點有兩個輸出點,分別標示著 true
(或 output 1
) 和 false
(或 output 2
)。true
的路徑就是給符合條件的資料走的,而 false
則是給不符合條件的資料走的。透過這個簡單的機制,你就能輕鬆實現流程的分岔與自動化決策。
IF 節點基礎設定:手把手教你建立第一個條件
光說不練假把戲,讓我們直接來建立你的第一個條件判斷。假設我們從上一個節點(例如 Webhook)收到了一筆訂單資料,格式如下:
JSON
{
"customer_name": "王小明",
"order_amount": 2500,
"product": "無線藍牙耳機"
}
我們的目標是:判斷 order_amount
(訂單金額) 是否大於 2000 元。
介面導覽:認識 Conditions 區塊
打開 IF 節點的設定畫面,你會看到最主要的區塊叫做「Conditions」。這裡就是你設定判斷規則的地方,它主要由三個部分組成:
- Value 1: 你要拿來檢查的資料。
- Operation: 你要用什麼方式來比較。
- Value 2: 你比較的標準。
第一個條件:判斷訂單金額是否達標
跟著以下三步驟,你就能完成設定:
Step 1: 設定 Value 1 (你要檢查的資料)
我們想檢查的是「訂單金額」,這個資料來自上一個節點。點擊 Value 1 欄位旁的 f(x)
圖示,打開 Expression 編輯器。接著從左邊的「Nodes」面板中,找到傳入資料的 order_amount
欄位並點擊它。
n8n 會自動幫你填入 {{ $json.order_amount }}
。這串程式碼的意思就是「抓取當前這筆資料 (Item) 中,叫做 order_amount
的欄位值」。
Step 2: 選擇 Operation (你要如何比較)
我們要判斷「是否大於」,所以在 Operation 的下拉選單中,找到並選擇「Number」分類下的「Greater Than」。
Step 3: 設定 Value 2 (你的判斷標準)
我們的標準是 2000 元。所以,在 Value 2 的欄位中,直接輸入數字 2000
。
這樣就完成了!整個條件設定看起來會是: {{ $json.order_amount }}
Greater Than 2000
。
現在,當那筆 2500 元的訂單資料流進這個 IF 節點時,因為 2500 > 2000,條件成立 (True),資料就會從 true
的出口流向下一個節點。是不是很簡單!

必學條件操作 (Operations) 大全
IF 節點的強大之處,在於它提供了非常豐富的「Operation (操作)」選項,讓你應對各種不同的判斷情境。以下我們整理出最常用的幾種類型:
數字比對 (Number)
這是最常用來比對金額、數量、ID 等數值資料的類型。
- Equal: 等於
- Not Equal: 不等於
- Greater Than: 大於 (>)
- Greater Than or Equal: 大於或等於 (>=)
- Less Than: 小於 (<)
- Less Than or Equal: 小於或等於 (<=)
文字比對 (String)
用來處理文字內容,例如判斷郵件主旨、訊息內容、客戶標籤等。
- Equal / Not Equal: 精準比對文字是否完全相同。你可以選擇「Case Sensitive」來決定是否區分大小寫。
- Contains: 判斷文字中是否「包含」某個關鍵字。例如,判斷郵件主旨是否
Contains
“緊急” 或 “發票”。 - Starts With / Ends With: 判斷文字是否以特定字串開頭或結尾。例如,檢查電話號碼是否
Starts With
“+886″。 - Matches Regex: 使用正規表示式進行複雜的模式匹配,這是最高級的用法,適合需要精準驗證格式的情境(例如 Email 格式、身分證字號格式)。
空值與布林值 (Others)
用來檢查資料是否存在,或是判斷一個欄位的是非狀態。
- Is Empty: 檢查欄位是否為空值(沒有資料)。這在檢查表單必填欄位時非常好用。
- Is Not Empty: 檢查欄位是否不是空值(有資料)。
- Is True / Is False: 檢查欄位的值是否為布林值的
true
或false
。
進階應用:設定多重條件與組合邏輯
真實世界的情境往往比單一條件更複雜。幸好,IF 節點也提供了強大的功能來應對這些複雜的邏輯判斷。
結合多個條件 (Add Condition)
如果你的判斷需要同時滿足多個條件,或是只要滿足其中一個即可,你可以點擊「Add Condition」按鈕來新增條件。
在多個條件之間,你可以設定它們的組合邏輯:
- ALL (AND): 必須「所有」條件都為 True,最終結果才會是 True。
- ANY (OR): 只要「任何一個」條件為 True,最終結果就是 True。
範例: 篩選出「訂單金額大於 2000 且 客戶等級為 VIP」的訂單。
- 第一條 Condition 設定為
{{ $json.order_amount }}
Greater Than2000
。 - 點擊「Add Condition」。
- 第二條 Condition 設定為
{{ $json.customer_level }}
EqualVIP
。 - 確保頂端的組合邏輯是「ALL」。
處理多種結果 (Route on)
預設情況下,IF 節點只有 True 和 False 兩個出口。但如果你想根據一個欄位的不同值,將資料分流到三條、四條甚至更多的路徑呢?
這時候,你可以進入節點設定右上角的「Options」,將「Route on」從預設的「First match」改為「All matches」。不過更直覺的方式是使用 Switch
節點,Switch
節點專門用來處理這種一對多的分流情境,你可以根據一個值(例如 {{ $json.國家 }}
)來設定多個輸出路徑,路徑 0 給 “台灣”、路徑 1 給 “日本”、路徑 2 給 “美國”,非常清晰。
實戰案例分享:IF 節點的 3 個超實用情境
理論講完了,讓我們來看看 IF 節點在真實世界中能發揮多大的作用。
情境一:Email 自動分類機器人
- 目標: 收到新郵件時,如果主旨包含「緊急」或「合作邀約」,就自動在 Trello 新增一張卡片;否則,就直接封存郵件。
- 流程:
Email Read Trigger
->IF Node
-> (True)Trello Node
/ (False)Email Archive Node
- IF 節點設定:
- 組合邏輯:ANY (OR)
- Condition 1:
{{ $json.subject }}
Contains緊急
- Condition 2:
{{ $json.subject }}
Contains合作邀約
情境二:新客戶註冊分流通知
- 目標: 當有新用戶透過網站表單註冊時,如果公司規模大於 50 人,就發送一則 Slack 通知給業務團隊重點跟進;否則,就只將客戶加入一般的電子報名單。
- 流程:
Webhook
->IF Node
-> (True)Slack Node
/ (False)Mailchimp Node
- IF 節點設定:
- Value 1:
{{ $json.body.company_size }}
- Operation:
Number
->Greater Than
- Value 2:
50
- Value 1:
情境三:檢查 API 回傳資料是否成功
- 目標: 在串接一個外部 API (例如天氣資訊) 後,需要先檢查 API 是否成功回傳資料。如果失敗,就發送錯誤通知,避免後續流程拿到錯誤資料而產生問題。
- 流程:
HTTP Request
->IF Node
-> (True)Set Node
(繼續處理資料) / (False)Email Node
(發送錯誤通知) - IF 節點設定:
- Value 1:
{{ $node["HTTP Request"].json.cod }}
(假設 API 成功時會回傳一個cod
為200
的欄位) - Operation:
String
->Equal
- Value 2:
200
- 這個技巧是建立穩定、可靠工作流的關鍵!
- Value 1:

結語
IF 節點是 n8n 自動化流程中,從「執行者」邁向「決策者」的關鍵一步。它讓你的 Workflow 不再只是一條線性的指令,而是一個能夠應對多種變化的智慧系統。
回顧一下,我們今天學會了:
- IF 節點的基本原理:像交通警察一樣,根據條件指揮資料走向
true
或false
的路徑。 - 如何設定條件:掌握
Value 1
、Operation
、Value 2
的設定方法。 - 各種實用的操作類型:包含數字、文字比對與空值檢查。
- 進階應用:透過
AND/OR
組合多重條件,來處理複雜的商業邏輯。
掌握了 IF 節點,你就掌握了 n8n 工作流的邏輯核心。現在,就去打開你的 n8n,試著為你現有的流程加入一些條件判斷吧!你會驚訝地發現,你的自動化能力將會提升到一個全新的層次。希望這篇教學對你有幫助!
延伸閱讀
n8n IF 節點教學:掌握 True/False 條件判斷,打造更智慧的自動化工作流
n8n Switch 節點教學:告別複雜 IF 巢狀結構,優雅實現多重條件判斷
n8n Merge 節點教學:合併多個資料來源,告別手動複製貼上
n8n Code 節點終極教學:釋放 JavaScript 的力量,打造無極限自動化
n8n Code 節點 Python 教學:啟用並執行 Python 程式碼,釋放數據處理超能力
n8n Wait 節點教學:讓工作流學會「等待」,完美解決 API 限制與定時任務
n8n Set 節點教學:你的資料瑞士刀,新增、修改、篩選欄位一次搞定
n8n NoOp 節點教學:一個「什麼都不做」的節點,為何是整理工作流的神器?