close

Hướng dẫn cách sử dụng node If và node Switch trong n8n

Tác giả: Đông Tùng Ngày đăng: 21/05/2025 Chuyên mục: n8n
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Tino Group có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Node If kiểm tra một hoặc nhiều điều kiện và đưa mỗi item vào nhánh true hoặc false. Node Switch so một giá trị với nhiều quy tắc và đưa item vào đúng nhánh, có thêm nhánh Fallback khi không khớp quy tắc nào. Dùng If cho câu hỏi có/không, dùng Switch khi có từ ba nhánh trở lên.

Bài này hướng dẫn cấu hình hai node điều kiện trong n8n qua hai ví dụ có ảnh chụp từng bước, nằm trong loạt hướng dẫn tạo workflow trên n8n. Email trong ví dụ là địa chỉ minh họa thuộc tên miền example.com.

Node If và node Switch trong n8n là gì?

Node If

Node If trong n8n hoạt động như câu lệnh “nếu… thì…” trong lập trình: kiểm tra điều kiện rồi chia luồng thành hai nhánh true và false. Mỗi điều kiện gồm giá trị bên trái, toán tử (equals, contains, ends with, is greater than…) và giá trị bên phải; nhiều điều kiện ghép bằng AND hoặc OR (If node, docs.n8n.io).

Ví dụ: kiểm tra người dùng có điền số điện thoại trong form không. Có thì gửi SMS, không thì gửi email nhắc.

Node Switch

Node Switch trong n8n phân luồng dữ liệu theo nhiều quy tắc, mỗi quy tắc một nhánh đầu ra (Output 0, Output 1…). Item không khớp quy tắc nào có thể đi vào nhánh riêng nhờ tùy chọn Fallback Output (Switch node, docs.n8n.io).

Ví dụ: chia đơn hàng theo phương thức thanh toán (thẻ, chuyển khoản, ví điện tử, COD), mỗi loại một nhánh xử lý.

Sơ đồ so sánh node If và Switch trong n8n: If kiểm tra email kết thúc bằng @example.com và chia hai nhánh true, false; Switch dùng Rules theo role chia bốn nhánh Output 0 admin, Output 1 editor, Output 2 viewer và Fallback cho role khác

Khi nào dùng node If, khi nào dùng node Switch?

Dùng If khi câu hỏi chỉ có hai đáp án (đúng/sai, có/không). Dùng Switch khi một trường có từ ba giá trị trở lên cần xử lý khác nhau, thay cho chuỗi node If nối tiếp khó đọc.

Tình huốngNode nên dùngLý do
Email có chứa từ “khẩn cấp” khôngIfChỉ hai nhánh
Khách đã đăng ký dịch vụ chưaIfCó/không
Giá đơn hàng trên 1 triệu đồngIfSo sánh số, hai nhánh
Phương thức thanh toán: thẻ, chuyển khoản, CODSwitchNhiều giá trị của một trường
Webhook có trường eventType: signup, purchase, unsubscribeSwitchMỗi sự kiện một nhánh, có Fallback cho sự kiện lạ
Đang nối 3 node If kiểm cùng một trườngSwitchGọn, dễ bảo trì hơn

Chi tiết hơn:

  • Node If: kiểm tra điều kiện đơn giản, xử lý có/không, lọc dữ liệu cơ bản theo ngưỡng số, quy trình chỉ cần hai hướng.
  • Node Switch: phân loại theo nhiều giá trị cụ thể, chọn hành động theo loại sự kiện, định tuyến workflow theo nhiều điều kiện rõ ràng.

Cách sử dụng node If trong n8n (ví dụ)

Ví dụ: kiểm tra người đăng ký dùng email thuộc tên miền công ty @example.com hay không. Có thì gửi email chào mừng nhân viên nội bộ; không thì gửi email chào mừng khách bên ngoài. Ảnh chụp làm trên n8n bản 1.x: nút Test step, Test workflow trong ảnh nay là Execute step, Execute workflow; công tắc Inactive nay là nút Publish.

Bước 1: Mở n8n, bấm Create Workflow để tạo workflow mới.

Bước 2: Bấm + trên canvas, tìm Manual Trigger và chọn làm điểm bắt đầu.

Bảng What triggers this workflow trong n8n, tìm manual và chọn Manual Trigger làm điểm bắt đầu

Bước 3: Thêm node Edit Fields (Set) sau Manual Trigger để tạo dữ liệu mẫu.

Tìm Set trong ô What happens next của n8n và chọn node Edit Fields (Set) sau Manual Trigger

Cấu hình node Edit Fields:

  • Mode: Manual Mapping, bấm Add Field.
  • Name: email, kiểu String.
  • Value: nhanvien@example.com.
Node Edit Fields trong n8n ở chế độ Manual Mapping, trường email kiểu String có giá trị nhanvien@example.com

Bước 4: Thêm node If sau Edit Fields để kiểm tên miền email.

Tìm If trong ô What happens next của n8n, node If chia item thành nhánh true, false

Trong mục Conditions của node If:

  • Ô bên trái (giá trị cần kiểm): {{ $json.email }} (cách viết cũ {{$json["email"]}} trong ảnh vẫn chạy).
  • Toán tử: String → ends with.
  • Ô bên phải: @example.com.
Mục Conditions của node If trong n8n: giá trị trái {{$json["email"]}}, toán tử String ends with, giá trị phải @example.com

Như vậy, email kết thúc bằng @example.com đi vào nhánh true; email khác đi vào nhánh false. Cần thêm điều kiện (ví dụ email không rỗng), bấm Add condition và chọn AND hoặc OR.

Bước 5: Thêm node Gmail → Send a message vào nhánh true:

  • To: {{ $json.email }}
  • Subject: Chào mừng bạn đến với công ty!
  • Message: Chúng tôi rất vui mừng chào đón bạn là thành viên mới của công ty.
Node Gmail trên nhánh true trong n8n: Resource Message, Operation Send, To là expression email, Subject Chào mừng bạn đến với công ty

Bước 6: Thêm node Gmail → Send a message vào nhánh false:

  • To: {{ $json.email }}
  • Subject: Chào mừng bạn đến với dịch vụ của chúng tôi!
  • Message: Cảm ơn bạn đã đăng ký. Chúng tôi rất mong được phục vụ bạn.
Node Gmail1 trên nhánh false trong n8n với Subject Chào mừng bạn đến với dịch vụ của chúng tôi và nội dung cảm ơn đã đăng ký

Bước 7: Bấm Execute workflow để chạy thử. Khi thử thật, thay email mẫu ở Edit Fields bằng hộp thư bạn nhận được.

Workflow If trong n8n chạy thành công: Manual Trigger, Edit Fields, If và Gmail trên nhánh true có dấu tích xanh, thông báo Workflow executed successfully

Kiểm hộp thư: email đi đúng nhánh đã thiết lập.

Email Chào mừng bạn đến với công ty do n8n gửi qua nhánh true, địa chỉ người gửi và ảnh đại diện đã được che

Đổi giá trị email trong Edit Fields sang một địa chỉ khác tên miền (ví dụ khach@example.net), chạy lại để kiểm nhánh false.

Workflow If trong n8n chạy lại, lần này item đi nhánh false tới node Gmail1
Email Chào mừng bạn đến với dịch vụ của chúng tôi gửi qua nhánh false, địa chỉ người gửi và ảnh đại diện đã được che

Cách sử dụng node Switch trong n8n (ví dụ)

Ví dụ: danh sách người dùng có thuộc tính role, cần gửi thông báo khác nhau cho từng nhóm: admin nhận thông báo quản trị, editor nhận thông báo chỉnh sửa, viewer nhận thông báo xem.

Bước 1: Bấm Create Workflow để tạo workflow mới.

Bước 2: Bấm +, chọn Manual Trigger làm điểm bắt đầu.

Bước 3: Thêm node Edit Fields (Set) để tạo dữ liệu mẫu.

Workflow Switch trong n8n bắt đầu bằng Manual Trigger nối tới node Edit Fields

Cấu hình: Mode Manual Mapping, thêm trường Name role, Value editor.

Node Edit Fields trong n8n ở chế độ Manual Mapping, trường role kiểu String có giá trị editor

Bước 4: Thêm node Switch sau Edit Fields. Chọn Mode Rules, mỗi Routing Rule là một điều kiện:

  • Rule 1: {{ $json.role }} · String is equal to · admin
  • Rule 2 (bấm Add Routing Rule): {{ $json.role }} · is equal to · editor
  • Rule 3: {{ $json.role }} · is equal to · viewer
Node Switch trong n8n ở Mode Rules với ba Routing Rules: role is equal to admin, editor, viewer

Các tùy chọn trong Options:

  • Fallback Output: chọn Extra Output để item không khớp quy tắc nào (ví dụ role “guest”) đi vào nhánh riêng; mặc định là None (bỏ qua item).
  • Ignore Case: không phân biệt chữ hoa, chữ thường khi so.
  • Less Strict Type Validation: cho n8n tự đổi kiểu dữ liệu (số, chuỗi) khi so sánh; tên cũ trong ảnh là Convert types where required.
  • Send data to all matching outputs: gửi item vào mọi nhánh khớp, thay vì chỉ nhánh khớp đầu tiên.

Dữ liệu được chuyển hướng: Output 0 khi role = admin, Output 1 khi role = editor, Output 2 khi role = viewer, và nhánh Fallback nếu bạn bật.

Bước 5: Nối mỗi nhánh tới một node Gmail → Send a message với nội dung riêng cho admin, editor, viewer. Ví dụ với role editor:

Node Gmail1 cho nhánh editor của Switch trong n8n: chọn credential, Resource Message, Operation Send

Thiết lập Gmail tương tự cho các role còn lại.

Bước 6: Bấm Execute workflow để chạy thử.

Workflow Switch trong n8n chạy thành công, item role editor đi vào nhánh Output 1 tới node Gmail1

Kiểm hộp thư: email gửi đúng theo role đã đặt.

Email Thông báo dành cho Biên tập viên do n8n gửi qua nhánh editor, địa chỉ người gửi và ảnh đại diện đã được che

Đổi giá trị role trong Edit Fields (admin, viewer, hoặc một giá trị lạ để thử Fallback) rồi chạy lại để kiểm từng nhánh.

Kết luận

If và Switch là hai node rẽ nhánh cơ bản nhất trong n8n: If cho hai hướng, Switch cho nhiều hướng có Fallback. Kết hợp chúng với node Webhook để xử lý dữ liệu từ form hay hệ thống khác theo từng trường hợp; danh sách các node hay dùng khác có ở bài các node phổ biến trong n8n.

Những câu hỏi thường gặp

Node If có hỗ trợ nhiều điều kiện cùng lúc không?

Có. Bấm Add condition để thêm điều kiện, rồi chọn AND (thỏa tất cả) hoặc OR (thỏa một trong số đó) ở ô nằm giữa các điều kiện.

Node If trả về dữ liệu gì ở nhánh true hoặc false?

Node If không đổi dữ liệu: item thỏa điều kiện đi ra nhánh true nguyên vẹn, item không thỏa đi ra nhánh false. Nhánh nào không có item thì các node phía sau nhánh đó không chạy.

Có giới hạn số lượng nhánh trong node Switch không?

Không có giới hạn cố định. Nên giữ số nhánh vừa phải để workflow dễ đọc; nếu quá nhiều, cân nhắc tách bớt sang sub-workflow hoặc dùng Mode Expression trả về số thứ tự nhánh.

Switch có thể dùng để thay thế If không?

Có thể, Switch với hai quy tắc tương đương một node If. Tuy vậy, với câu hỏi có/không, If gọn và dễ đọc hơn.

Switch có hỗ trợ nhánh mặc định (default) khi không khớp giá trị nào không?

Có. Mở Options, bật Fallback Output và chọn Extra Output để item không khớp đi vào một nhánh riêng, hoặc chọn Output 0 để gộp vào nhánh của quy tắc đầu tiên.

Muốn chạy n8n 24/7 mà không tự cài? VPS n8n của Tino cài sẵn n8n trên VPS NVMe đặt tại Việt Nam; bạn vẫn có quyền root để cấu hình. Xem cấu hình và giá trên trang sản phẩm.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan