close

Hướng dẫn cách tạo sub-workflow trên n8n đơn giản

Tác giả: Đông Tùng Ngày đăng: 23/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.

Sub-workflow trong n8n là một workflow con bắt đầu bằng trigger Execute Sub-workflow Trigger và được workflow chính gọi qua node Execute Sub-workflow. Cách nhanh nhất để tạo là chọn nhóm node trên canvas, chuột phải và chọn Convert to sub-workflow; n8n tự tạo workflow con và thay nhóm node bằng một node gọi.

Thay vì nhồi toàn bộ logic vào một workflow, bạn tách phần dùng chung ra workflow con để tái sử dụng và bảo trì dễ hơn. Bài này là một phần của loạt hướng dẫn tạo workflow trên n8n; nếu mới làm quen n8n, nên đọc bài đó trước.

Sub-workflow n8n là gì?

Sub-workflow là một workflow riêng, được gọi từ workflow chính (workflow cha) qua node Execute Sub-workflow. Phía workflow con, node đầu tiên là Execute Sub-workflow Trigger, trên canvas hiện tên “When Executed by Another Workflow”. Hiểu đơn giản, sub-workflow giống một “hàm” trong lập trình: nhận dữ liệu vào, xử lý, trả kết quả ra.

Ví dụ: workflow chính gửi email marketing; bạn tách phần lấy dữ liệu khách hàng từ API (xem cách gọi API trong n8n) thành sub-workflow, rồi gọi lại ở nhiều chiến dịch khác nhau.

Luồng dữ liệu giữa workflow cha và workflow con trong n8n: node Execute Sub-workflow gửi items sang trigger When Executed by Another Workflow, node cuối của workflow con trả kết quả về; Mode chạy một lần cho mọi item hoặc từng item, tùy chọn Wait for Sub-Workflow Completion

Tại sao nên dùng sub-workflow?

  • Tái sử dụng logic: không lặp lại cùng một đoạn xử lý ở nhiều nơi.
  • Chia nhỏ chức năng: workflow chính ngắn gọn, dễ đọc; mỗi sub-workflow lo một việc.
  • Bảo trì dễ: sửa logic trong sub-workflow một lần, mọi workflow gọi tới nó dùng bản mới.
  • Dễ mở rộng: hệ thống có cấu trúc rõ khi số workflow tăng hoặc quy trình phức tạp hơn.

Cách 1: Chuyển nhóm node thành sub-workflow bằng Convert to sub-workflow

Từ n8n 1.97.0 (docs: Convert to sub-workflow), bạn không cần chép, dán node bằng tay:

  1. Mở workflow cha, chọn các node cần tách (kéo chuột quét hoặc giữ Ctrl/Cmd và bấm từng node).
  2. Chuột phải vào nền canvas, chọn Convert to sub-workflow.
  3. n8n tạo workflow con có sẵn trigger, chuyển các node sang, cập nhật expression tham chiếu tới node khác thành tham số đầu vào, và thay nhóm node trong workflow cha bằng một node Execute Sub-workflow.

Điều kiện để chuyển được: không chọn node trigger; nhóm node phải liền mạch; chỉ một node nhận kết nối từ ngoài vào (không phải Merge) và chỉ một node gửi kết nối ra (không phải If); phải chọn đủ mọi node nằm giữa. Expression dùng first(), last(), all() nên kiểm tra lại sau khi chuyển.

Cách 2: Tạo sub-workflow thủ công

Cách thủ công hợp khi bạn dựng workflow con từ đầu hoặc phiên bản n8n cũ hơn 1.97. Ví dụ dưới tách nhóm node “Tiêu đề mô tả, prompt hình ảnh” khỏi một workflow viết bài SEO.

Các ảnh dưới chụp ở bản n8n 1.x (công tắc Inactive, nút Test workflow, Create Workflow). Ở n8n 2.x, workflow dùng nút Publish và Execute workflow; tên node và các tùy chọn trong bài giữ nguyên.

Bước 1: Truy cập n8n (bản Cloud hoặc tự host, xem cách cài n8n trên VPS).

Bước 2: Tạo workflow mới (nút Create > Workflow; ở bản 1.x là Create Workflow) và đặt tên, ví dụ Sub-workflow.

Trang Overview của n8n với danh sách workflow và nút Create Workflow ở góc trên bên phải

Bước 3: Thêm trigger Execute Sub-workflow Trigger (gõ “Execute Sub-workflow” ở ô tìm kiếm), tạm để đó.

Bảng What triggers this workflow trong n8n, tìm Execute Sub-Workflow và chọn trigger Execute Sub-workflow

Bước 4: Mở workflow cha, chọn và sao chép các node cần tách (Ctrl+C), rồi dán (Ctrl+V) vào workflow Sub-workflow, nối sau trigger.

Workflow cha viết bài SEO trong n8n với nhóm node Tiêu đề mô tả, prompt hình ảnh được chọn để sao chép
Các node đã dán vào workflow con, nối sau trigger When Executed by Another Workflow

Bước 5: Quay lại workflow cha, xóa nhóm node vừa chép, thêm node Execute Sub-workflow và cấu hình:

  • Source: Database.
  • Workflow: chọn From list rồi tìm workflow tên Sub-workflow (hoặc chọn By ID và nhập Workflow ID).
  • Mode: Run once with all items (gửi mọi item một lần) hoặc Run once for each item (gọi riêng cho từng item, lần lượt).
Node Execute Sub-workflow trong workflow cha, tìm action Execute A Sub Workflow

Nhóm node đã được gói vào một node duy nhất. Nối lại node này với các node trước và sau trong workflow cha.

Workflow cha sau khi thay nhóm node bằng một node Execute Workflow nối với các node trước và sau

Bước 6: Cấu hình trigger của sub-workflow. Ở mục Input data mode:

  • Define using fields below: khai báo trước tên và kiểu từng trường đầu vào; workflow cha sẽ thấy các ô này để điền hoặc map. Hợp khi cần kiểm soát dữ liệu chặt.
  • Define using JSON example: dán một JSON mẫu, n8n tự suy ra cấu trúc.
  • Accept all data: nhận mọi dữ liệu từ workflow cha mà không định nghĩa trước. Hợp khi workflow cha luôn gửi đúng dữ liệu hoặc sub-workflow dùng cho nhiều mục đích.
Trigger When Executed by Another Workflow với ba lựa chọn Input data mode: Define using fields below, Define using JSON example, Accept all data

Xong. Dữ liệu của node cuối cùng chạy trong sub-workflow được trả về workflow cha. Khi cần sửa logic, bạn sửa trong sub-workflow; mọi workflow cha gọi tới nó dùng bản mới.

Lưu ý n8n 2.0: nếu sub-workflow có node Wait, form hoặc bước chờ người duyệt, workflow cha nhận kết quả cuối của sub-workflow sau khi nó chạy tiếp; ở bản 1.x, workflow cha chỉ nhận lại dữ liệu đầu vào của sub-workflow (v2.0 breaking changes).

Kết luận

Sub-workflow giúp chia workflow lớn thành các khối nhỏ dùng lại được. Với n8n từ 1.97.0, cách nhanh là Convert to sub-workflow; cách thủ công vẫn hữu ích khi dựng workflow con từ đầu. Tách workflow con cũng giúp xử lý dữ liệu lớn ổn định hơn, xem vì sao workflow n8n chạy chậm.

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

Sub-workflow có chạy song song được không?

Mặc định node Execute Sub-workflow chờ sub-workflow chạy xong rồi workflow cha mới chạy tiếp; ở Mode Run once for each item, các item được gọi lần lượt. Tắt tùy chọn Wait for Sub-Workflow Completion thì workflow cha không chờ, sub-workflow chạy độc lập (docs: Execute Sub-workflow). Theo dõi tài nguyên máy chủ khi gọi nhiều lần cùng lúc.

Làm sao quản lý nhiều sub-workflow hiệu quả?

Đặt tên theo quy tắc (sub-parse-email, sub-generate-report), gom vào một folder hoặc gắn tag như sub, utility, và ghi mô tả trong Settings của workflow để người khác hiểu chức năng.

Sub-workflow có dùng credential riêng được không?

Có. Mỗi workflow, kể cả workflow con, chọn credential riêng trong từng node. Nên dùng chung credential nhất quán để tránh lỗi truy cập khi một credential bị đổi.

Sub-workflow có chứa sub-workflow khác được không?

Được, n8n cho gọi lồng nhiều cấp. Nên hạn chế độ sâu để dễ debug: lỗi ở cấp sâu sẽ hiện trong executions của từng workflow con.

Đô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