Trong quá trình xây dựng các quy trình tự động hóa với n8n, việc tổ chức workflow một cách rõ ràng, linh hoạt và dễ quản lý là vô cùng quan trọng. Đây chính là lúc sub-workflow phát huy tác dụng mạnh mẽ. Thay vì nhồi nhét toàn bộ logic vào một workflow duy nhất, bạn hoàn toàn có thể chia nhỏ chúng thành các sub-workflow để tái sử dụng và bảo trì dễ dàng hơn. Vậy cách tạo cách tạo sub-workflow trên n8n như thế nào?
Sub-workflow n8n là gì?
Sub-workflow trong n8n là một workflow con được tạo riêng biệt và có thể được gọi từ một workflow chính (main workflow) thông qua node “Execute Sub-Workflow”. Hiểu đơn giản, sub-workflow giống như một “hàm” hoặc “module” trong lập trình, cho phép bạn tách biệt các phần công việc riêng lẻ để tái sử dụng, quản lý và bảo trì dễ dàng hơn.
Ví dụ:
Nếu bạn có một workflow chính để tự động hóa quy trình gửi email marketing, bạn có thể tạo một sub-workflow riêng để xử lý việc lấy dữ liệu khách hàng từ API, sau đó gọi sub-workflow này trong workflow chính để tái sử dụng ở nhiều chiến dịch khác nhau.

Tại sao nên sử dụng sub-workflow trong n8n?
- Tái sử dụng logic xử lý: Sub-workflow giúp bạn không cần lặp lại cùng một đoạn xử lý ở nhiều nơi, tiết kiệm thời gian và công sức khi phát triển.
- Tăng tính modular (chia nhỏ chức năng): Thay vì nhồi nhét toàn bộ logic vào một workflow lớn, bạn có thể chia nhỏ thành các sub-workflow theo từng chức năng, giúp workflow chính ngắn gọn, rõ ràng và dễ đọc hơn.
- Dễ dàng bảo trì và nâng cấp: Khi cần chỉnh sửa một phần logic, bạn chỉ cần sửa trong sub-workflow, các workflow khác gọi tới nó sẽ tự động áp dụng phiên bản mới.
- Tăng khả năng mở rộng hệ thống: Sub-workflow giúp bạn xây dựng một hệ thống tự động hóa có cấu trúc rõ ràng, dễ mở rộng khi số lượng workflow ngày càng nhiều hoặc khi quy trình trở nên phức tạp hơn.
Hướng dẫn cách tạo sub-workflow trên n8n
Bước 1: Truy cập vào n8n (bản Cloud hoặc tự host trên VPS)
Bước 2: Nhấn vào nút Create workflow để tạo một workflow mới và đặt tên là Sub-workflow.

Bước 3: Thêm trigger Execute Sub-Workflow và tạm thời để đó.

Bước 4: Mở workflow bạn muốn lấy các node để làm sub-workflow (tạm gọi là workflow cha). Sau đó, sao chép các node cần thiết rồi dán vào bên Sub-workflow.
Ví dụ: Tino sẽ sao chép và dán nhóm node Tiêu đề mô tả, prompt hình ảnh của một workflow viết bài SEO đăng website (workflow cha).


Bước 5: Sao khi dán các node vào Sub-workflow, bạn quay lại workflow cha và xóa nhóm node Tiêu đề mô tả, prompt hình ảnh và thêm một node Execute Sub-Workflow và cấu hình như sau:
- Source: Database
- Workflow: Chọn Form list rồi tìm workflow có tên là Sub-workflow bạn đã tạo lúc nãy.

Như vậy, nhóm node Tiêu đề mô tả, prompt hình ảnh đã được gộp lại trong một node Sub-workflow duy nhất. Bạn chỉ cần kéo để kết nối lại với các nhóm node khác trong workflow là được.

Bước 6: Về phía sub-workflow. Bạn cần cũng cần cấu cho node trigger.
Ở mục Input data mode, bạn có thể chọn:
- Accept all data (Chấp nhận toàn bộ dữ liệu): Dùng khi bạn muốn node nhận toàn bộ dữ liệu từ workflow cha, không cần định nghĩa trước cấu trúc.
- Define using fields below (Xác định theo trường bên dưới): Dùng khi bạn muốn định nghĩa trước tên và kiểu dữ liệu mà node này sẽ nhận. Phù hợp khi bạn cần kiểm soát dữ liệu đầu vào chặt chẽ.
- Define using JSON example (Xác định từ ví dụ JSON): Cho phép bạn dán vào một ví dụ JSON, từ đó n8n sẽ tự tạo ra schema phù hợp.
Nếu bạn chắc chắn workflow cha sẽ gửi đúng và đầy đủ dữ liệu hoặc muốn tái sử dụng sub-workflow cho nhiều mục đích khác nhau, hãy chọn Accept all data.

Đến đây, coi như bạn đã tạo thành công sub-workflow. Sau khi, có nhu cầu cập nhật các node, bạn không cần thực hiện trên workflow cha mà có thể thao tác trong sub-workflow, workflow cha sẽ tự cập nhật chính xác.
Hoặc trong trường hợp bạn muốn sử dụng lại nhóm node đó mà không nhớ trước đây bạn đã cấu hình như thế nào, hãy tạo sub-workflow.
Kết luận
Tóm lại, việc tạo sub-workflow trên n8n sẽ trở nên đơn giản và hiệu quả hơn nếu bạn chuẩn bị đúng các điều kiện và lưu ý cần thiết. Đây là một phương pháp tối ưu hóa quy trình tự động hóa cực kỳ mạnh mẽ và linh hoạt, đặc biệt trong các hệ thống có nhiều luồng xử lý lặp lại hoặc phức tạp.
Những câu hỏi thường gặp
Sub-workflow có thực thi song song được không?
Có. Nếu workflow cha gọi nhiều lần node Execute Workflow (mỗi lần với dữ liệu khác nhau), các sub-workflow có thể chạy song song. Tuy nhiên, cần kiểm soát số lượng phiên bản để tránh vượt quá tài nguyên hệ thống.
Làm sao quản lý và tổ chức nhiều sub-workflow hiệu quả?
- Để quản lý sub-workflow hiệu quả, bạn nên:
- Đặt tên có quy tắc, ví dụ: sub-parse-email, sub-generate-report,…
- Gắn tag cho các workflow phụ (sub, utility, reusable,…).
- Viết mô tả rõ ràng ở phần Settings để người khác dễ hiểu chức năng của từng sub-workflow.
Sub-workflow có thể dùng các credential riêng không?
Có. Mỗi workflow (kể cả workflow con) có thể dùng credentials độc lập. Tuy nhiên, bạn nên quản lý credentials nhất quán giữa các workflow để tránh lỗi truy cập.
Sub-workflow có thể chứa sub-workflow khác không?
Có thể. n8n hỗ trợ lồng nhiều cấp sub-workflow. Tuy nhiên, nên hạn chế độ sâu quá lớn để tránh khó debug và tăng độ phức tạp.