Skip to content

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#

Scrape business emails from Google Maps without the use of any third party APIs

by Akram Kadri

View template details
Back Up Your n8n Workflows To Github

by Jonathan

View template details
Host Your Own AI Deep Research Agent with n8n, Apify and OpenAI o3

by Jimleuk

View template details
Browse รันซับเวิร์กโฟลว์ (Execute Sub-workflow) integration templates, or search all templates

Set up and use a sub-workflow#

ส่วนนี้อธิบายการตั้งค่า parent workflow และ sub-workflow

สร้าง Sub-workflow#

  1. สร้าง workflow ใหม่

    สร้าง sub-workflows จาก workflows ที่มีอยู่

    คุณสามารถเลือกสร้าง sub-workflow โดยตรงจาก parent workflow ที่มีอยู่ได้ โดยใช้ Execute Sub-workflow node ใน node นั้น ให้เลือกตัวเลือก Database และ From list แล้วเลือก Create a sub-workflow ในรายการ

  2. Optional: กำหนดค่าว่า workflows ใดสามารถเรียก sub-workflow นี้ได้:

    1. เลือกเมนู Options Options menu > Settings n8n จะเปิด modal Workflow settings ขึ้นมา
    2. เปลี่ยนการตั้งค่า This workflow can be called by อ้างอิงถึง Workflow settings สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า workflows ของคุณ
  3. เพิ่ม Execute Sub-workflow trigger node (หากคุณค้นหาภายใต้ trigger nodes หัวข้อนี้จะมีชื่อว่า When Executed by Another Workflow)
  4. ตั้งค่า 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 หรือค่าที่หายไปเอง
  5. เพิ่ม nodes อื่นๆ ตามต้องการเพื่อสร้างฟังก์ชันการทำงานของ sub-workflow ของคุณ
  6. บันทึก sub-workflow

Sub-workflow ต้องไม่มี errors

หากมี errors ใน sub-workflow, parent workflow จะไม่สามารถ trigger มันได้

โหลดข้อมูลเข้าสู่ sub-workflow ก่อนสร้าง

สิ่งนี้ต้องการความสามารถในการ load data from previous executions ซึ่งมีให้ใช้งานบน n8n Cloud และแผน Community ที่ลงทะเบียนแล้ว

หากคุณต้องการโหลดข้อมูลเข้าสู่ sub-workflow ของคุณเพื่อใช้ในขณะสร้าง:

  1. สร้าง sub-workflow และเพิ่ม Execute Sub-workflow Trigger
  2. ตั้งค่า Input data mode ของ node เป็น Accept all data หรือกำหนดรายการ input โดยใช้ฟิลด์หรือ JSON หากทราบอยู่แล้ว
  3. ใน settings ของ sub-workflow ให้ตั้งค่า Save successful production executions เป็น Save
  4. ข้ามไปตั้งค่า parent workflow แล้วรันมัน
  5. ทำตามขั้นตอนเพื่อ load data from previous executions
  6. ปรับ Input data mode ให้ตรงกับ input ที่ส่งมาจาก parent workflow หากจำเป็น

ตอนนี้คุณสามารถ pin ข้อมูลตัวอย่างใน trigger node ได้แล้ว ทำให้คุณสามารถทำงานกับข้อมูลจริงในขณะที่กำหนดค่าส่วนที่เหลือของ workflow ได้

เรียกใช้ Sub-workflow#

  1. เปิด workflow ที่คุณต้องการเรียก sub-workflow
  2. เพิ่ม Execute Sub-workflow node
  3. ใน Execute Sub-workflow node ให้ตั้งค่า sub-workflow ที่คุณต้องการเรียก คุณสามารถเลือกเรียก workflow ด้วย ID, โหลด workflow จากไฟล์ local, เพิ่ม workflow JSON เป็นพารามิเตอร์ใน node หรือกำหนดเป้าหมาย workflow ด้วย URL

    ค้นหา Workflow ID ของคุณ

    ID ของ sub-workflow ของคุณคือสตริงตัวอักษรและตัวเลขที่อยู่ท้ายสุดของ URL

  4. กรอกข้อมูลรายการ input ที่จำเป็นซึ่งกำหนดโดย sub-workflow

  5. บันทึก 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:

  1. Execute Sub-workflow node ส่งข้อมูลไปยัง Execute Sub-workflow Trigger node (มีชื่อว่า "When executed by another node" ใน canvas) ของ Workflow B
  2. node สุดท้ายของ Workflow B ส่งข้อมูลกลับไปยัง Execute Sub-workflow node ใน Workflow A