n8n IF 節點教學:掌握 True/False 條件判斷,打造更智慧的自動化工作流

n8n if節點

你是不是也遇過這種狀況:希望 n8n 工作流能像人一樣「思考」,根據不同情況,執行不同的動作?例如,當顧客的訂單金額超過 2000 元時,自動發送一封 VIP 感謝信並附上折價券;如果沒超過,就發送一般的訂單確認信。

如果你的自動化流程只會一條路走到黑,那它就只是一個單純的執行者。但如果你想讓它變得「聰明」,能夠自己做決定、分流處理任務,那麼你絕對不能不認識 n8n 的「IF 節點」。

IF 節點可以說是 n8n 工作流中的大腦或十字路口的交通警察,它賦予了你的自動化流程判斷是非、分流任務的能力。這篇文章將會是一份超詳細的 n8n IF 節點教學,從最基礎的介面設定,到各種條件操作,再到多重條件的進階應用,帶你一步步掌握這個強大的工具,讓你的工作流智慧程度直線飆升!

什麼是 n8n 的 IF 節點?自動化流程的十字路口

在 n8n 中,IF 節點的核心功能非常單純:它會檢查傳入的資料 (Item),看它是否符合你設定的「條件 (Condition)」,然後根據判斷結果是「真 (True)」還是「假 (False)」,將資料導向不同的路徑。

你可以把 IF 節點想像成一個十字路口的交通警察:

  1. 車輛抵達 (資料傳入): 從上一個節點傳來一筆資料 (Item),就像一輛車開到路口。
  2. 警察盤查 (條件判斷): 交通警察會根據規則(你設定的條件)來檢查這輛車。例如,規則是「車牌號碼是單數」。
  3. 指揮方向 (分流輸出):
    • 如果車牌是單數(條件為 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 的出口流向下一個節點。是不是很簡單!

n8n if節點

必學條件操作 (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: 檢查欄位的值是否為布林值的 truefalse

進階應用:設定多重條件與組合邏輯

真實世界的情境往往比單一條件更複雜。幸好,IF 節點也提供了強大的功能來應對這些複雜的邏輯判斷。

結合多個條件 (Add Condition)

如果你的判斷需要同時滿足多個條件,或是只要滿足其中一個即可,你可以點擊「Add Condition」按鈕來新增條件。

在多個條件之間,你可以設定它們的組合邏輯:

  • ALL (AND): 必須「所有」條件都為 True,最終結果才會是 True。
  • ANY (OR): 只要「任何一個」條件為 True,最終結果就是 True。

範例: 篩選出「訂單金額大於 2000 客戶等級為 VIP」的訂單。

  1. 第一條 Condition 設定為 {{ $json.order_amount }} Greater Than 2000
  2. 點擊「Add Condition」。
  3. 第二條 Condition 設定為 {{ $json.customer_level }} Equal VIP
  4. 確保頂端的組合邏輯是「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

情境三:檢查 API 回傳資料是否成功

  • 目標: 在串接一個外部 API (例如天氣資訊) 後,需要先檢查 API 是否成功回傳資料。如果失敗,就發送錯誤通知,避免後續流程拿到錯誤資料而產生問題。
  • 流程: HTTP Request -> IF Node -> (True) Set Node (繼續處理資料) / (False) Email Node (發送錯誤通知)
  • IF 節點設定:
    • Value 1: {{ $node["HTTP Request"].json.cod }} (假設 API 成功時會回傳一個 cod200 的欄位)
    • Operation: String -> Equal
    • Value 2: 200
    • 這個技巧是建立穩定、可靠工作流的關鍵!
n8n if節點

結語

IF 節點是 n8n 自動化流程中,從「執行者」邁向「決策者」的關鍵一步。它讓你的 Workflow 不再只是一條線性的指令,而是一個能夠應對多種變化的智慧系統。

回顧一下,我們今天學會了:

  • IF 節點的基本原理:像交通警察一樣,根據條件指揮資料走向 truefalse 的路徑。
  • 如何設定條件:掌握 Value 1OperationValue 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 節點教學:一個「什麼都不做」的節點,為何是整理工作流的神器?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端