Execute Sub-workflow#
ใช้ Execute Sub-workflow node เพื่อรัน workflow อื่นบนเครื่องที่รัน n8n
Node parameters#
Source#
เลือกแหล่งข้อมูลของ sub-workflow ที่จะรัน:
- Database: โหลด workflow จาก database โดยใช้ ID ต้องกรอกอย่างใดอย่างหนึ่ง:
- From list: เลือก workflow จาก list ที่มีใน account
- Workflow ID: ใส่ ID ของ workflow ดูได้จาก URL หลัง
/workflow/
เช่นhttps://my-n8n-acct.app.n8n.cloud/workflow/abCDE1f6gHiJKL7
Workflow ID คือabCDE1f6gHiJKL7
- Local File: โหลด workflow จากไฟล์ JSON ที่บันทึกไว้ในเครื่อง ต้องกรอก:
- Workflow Path: ใส่ path ของไฟล์ workflow JSON ที่ต้องการรัน
- Parameter: โหลด workflow จาก parameter ต้องกรอก:
- Workflow JSON: ใส่ JSON code ที่ต้องการรัน
- URL: โหลด workflow จาก URL ต้องกรอก:
- Workflow URL: ใส่ URL ที่ต้องการโหลด workflow
Workflow Inputs#
ถ้าเลือก sub-workflow แบบ database และ From list input items ของ sub-workflow จะโชว์ให้กรอกหรือ map ค่าได้
สามารถลบ input item ที่ไม่ต้องการได้ ถ้าลบ sub-workflow จะได้ค่า null
สำหรับ item นั้นๆ สามารถเปิด Attempt to convert types เพื่อให้ n8n พยายามแปลง type ให้ตรงกับที่ sub-workflow ต้องการ
input item จะไม่โชว์ถ้า sub-workflow ใช้ Workflow Input Trigger node แบบ "Accept all data"
Mode#
parameter นี้ควบคุม mode การรัน node เลือกได้:
- Run once with all items: ส่ง input ทั้งหมดไปรันใน execution เดียว
- Run once for each item: รัน node ทีละรอบสำหรับแต่ละ input
Node options#
node นี้มี option เดียวคือ Wait for Sub-Workflow Completion เลือกได้ว่า workflow หลักจะรอ sub-workflow รันเสร็จก่อนค่อยไปขั้นต่อไป (เปิด) หรือจะไปต่อเลยโดยไม่รอ (ปิด)
Templates and examples#
Set up and use a sub-workflow#
ส่วนนี้อธิบายการตั้งค่า parent workflow และ sub-workflow
สร้าง Sub-workflow#
-
สร้าง workflow ใหม่
สร้าง sub-workflows จาก workflows ที่มีอยู่
คุณสามารถเลือกสร้าง sub-workflow โดยตรงจาก parent workflow ที่มีอยู่ได้ โดยใช้ Execute Sub-workflow node ใน node นั้น ให้เลือกตัวเลือก Database และ From list แล้วเลือก Create a sub-workflow ในรายการ
-
Optional: กำหนดค่าว่า workflows ใดสามารถเรียก sub-workflow นี้ได้:
- เลือกเมนู Options
> Settings n8n จะเปิด modal Workflow settings ขึ้นมา
- เปลี่ยนการตั้งค่า This workflow can be called by อ้างอิงถึง Workflow settings สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า workflows ของคุณ
- เลือกเมนู Options
- เพิ่ม Execute Sub-workflow trigger node (หากคุณค้นหาภายใต้ trigger nodes หัวข้อนี้จะมีชื่อว่า When Executed by Another Workflow)
- ตั้งค่า Input data mode เพื่อเลือกว่าคุณจะกำหนดข้อมูล input ของ sub-workflow อย่างไร:
- Define using fields below: เลือกโหมดนี้เพื่อกำหนดชื่อ input และชนิดข้อมูลแต่ละรายการที่ calling workflow ต้องระบุ Execute Sub-workflow node หรือ Call n8n Workflow Tool node ใน calling workflow จะดึงข้อมูลฟิลด์ที่กำหนดไว้ที่นี่โดยอัตโนมัติ
- Define using JSON example: เลือกโหมดนี้เพื่อระบุตัวอย่าง JSON object ที่แสดงรายการ input ที่คาดหวังและชนิดข้อมูลของมัน
- Accept all data: เลือกโหมดนี้เพื่อยอมรับข้อมูลทั้งหมดโดยไม่มีเงื่อนไข sub-workflow จะไม่กำหนดรายการ input ที่จำเป็นใดๆ sub-workflow นี้จะต้องจัดการกับความไม่สอดคล้องกันของ input หรือค่าที่หายไปเอง
- เพิ่ม nodes อื่นๆ ตามต้องการเพื่อสร้างฟังก์ชันการทำงานของ sub-workflow ของคุณ
- บันทึก sub-workflow
Sub-workflow ต้องไม่มี errors
หากมี errors ใน sub-workflow, parent workflow จะไม่สามารถ trigger มันได้
โหลดข้อมูลเข้าสู่ sub-workflow ก่อนสร้าง
สิ่งนี้ต้องการความสามารถในการ load data from previous executions ซึ่งมีให้ใช้งานบน n8n Cloud และแผน Community ที่ลงทะเบียนแล้ว
หากคุณต้องการโหลดข้อมูลเข้าสู่ sub-workflow ของคุณเพื่อใช้ในขณะสร้าง:
- สร้าง sub-workflow และเพิ่ม Execute Sub-workflow Trigger
- ตั้งค่า Input data mode ของ node เป็น Accept all data หรือกำหนดรายการ input โดยใช้ฟิลด์หรือ JSON หากทราบอยู่แล้ว
- ใน settings ของ sub-workflow ให้ตั้งค่า Save successful production executions เป็น Save
- ข้ามไปตั้งค่า parent workflow แล้วรันมัน
- ทำตามขั้นตอนเพื่อ load data from previous executions
- ปรับ Input data mode ให้ตรงกับ input ที่ส่งมาจาก parent workflow หากจำเป็น
ตอนนี้คุณสามารถ pin ข้อมูลตัวอย่างใน trigger node ได้แล้ว ทำให้คุณสามารถทำงานกับข้อมูลจริงในขณะที่กำหนดค่าส่วนที่เหลือของ workflow ได้
เรียกใช้ Sub-workflow#
- เปิด workflow ที่คุณต้องการเรียก sub-workflow
- เพิ่ม Execute Sub-workflow node
-
ใน Execute Sub-workflow node ให้ตั้งค่า sub-workflow ที่คุณต้องการเรียก คุณสามารถเลือกเรียก workflow ด้วย ID, โหลด workflow จากไฟล์ local, เพิ่ม workflow JSON เป็นพารามิเตอร์ใน node หรือกำหนดเป้าหมาย workflow ด้วย URL
ค้นหา Workflow ID ของคุณ
ID ของ sub-workflow ของคุณคือสตริงตัวอักษรและตัวเลขที่อยู่ท้ายสุดของ URL
-
กรอกข้อมูลรายการ input ที่จำเป็นซึ่งกำหนดโดย sub-workflow
- บันทึก workflow ของคุณ
เมื่อ workflow ของคุณ execute มันจะส่งข้อมูลไปยัง sub-workflow และรันมัน
คุณสามารถติดตาม flow การ execute จาก parent workflow ไปยัง sub-workflow ได้โดยการเปิด Execute Sub-workflow node และเลือกลิงก์ View sub-execution ในทำนองเดียวกัน การ execute ของ sub-workflow จะมีลิงก์กลับไปยังการ execute ของ parent workflow เพื่อนำทางไปในทิศทางตรงกันข้าม
How data passes between workflows#
ตัวอย่างเช่น สมมติว่าคุณมี Execute Sub-workflow node ใน Workflow A Execute Sub-workflow node นี้จะเรียก workflow อื่นที่ชื่อว่า Workflow B:
- Execute Sub-workflow node ส่งข้อมูลไปยัง Execute Sub-workflow Trigger node (มีชื่อว่า "When executed by another node" ใน canvas) ของ Workflow B
- node สุดท้ายของ Workflow B ส่งข้อมูลกลับไปยัง Execute Sub-workflow node ใน Workflow A