เรียนรู้วิธีใช้ node Webhook ใน n8n ปฏิบัติตามเอกสารทางเทคนิคเพื่อรวม node Webhook เข้ากับ workflow ของคุณ
ใช้ node Webhook เพื่อสร้าง webhook ซึ่งสามารถรับข้อมูลจากแอพและบริการเมื่อมีเหตุการณ์เกิดขึ้น เป็น trigger node ซึ่งหมายความว่าสามารถเริ่ม workflow n8n ได้ ซึ่งช่วยให้บริการเชื่อมต่อกับ n8n และเรียกใช้ workflow ได้
คุณสามารถใช้ node Webhook เป็น trigger สำหรับ workflow เมื่อคุณต้องการรับข้อมูลและรัน workflow ตามข้อมูล node Webhook ยังรองรับการส่งคืนข้อมูลที่สร้างขึ้นเมื่อสิ้นสุด workflow สิ่งนี้ทำให้มีประโยชน์สำหรับการสร้าง workflow เพื่อประมวลผลข้อมูลและส่งคืนผลลัพธ์ เช่น ตำแหน่งข้อมูล API
webhook ช่วยให้คุณ trigger workflow จากบริการที่ไม่มี trigger node ของแอปโดยเฉพาะ
กระบวนการพัฒนา workflow
n8n ให้ความแตกต่าง Webhook URL สำหรับการทดสอบและการผลิต URL การทดสอบมีตัวเลือกให้ ฟังกิจกรรมทดสอบ (Listen for test event) . อ้างถึง Workflow development สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง การทดสอบ และการเปลี่ยน node Webhook ของคุณเป็นการใช้งานจริง
parameter node
ใช้ parameter เหล่านี้เพื่อกำหนดค่า node ของคุณ
Webhook URLs
node Webhook มีสองรายการ Webhook URLs : การทดสอบและการผลิต n8n แสดง URL ที่ด้านบนของแผง node
เลือก Test URL หรือ Production URL เพื่อสลับ URL n8n ที่แสดง

ตัวอย่าง URL ของ Webhook ในแท็บ parameter ของ node Webhook
- Test : n8n ลงทะเบียน webhook ทดสอบเมื่อคุณเลือก Listen for Test Event หรือ Execute workflow หาก workflow ไม่ได้ใช้งานอยู่ เมื่อคุณเรียก URL ของ webhook n8n จะแสดงข้อมูลใน workflow
- Production : n8n ลงทะเบียน webhook ที่ใช้งานจริงเมื่อคุณเผยแพร่ workflow เมื่อใช้ URL ที่ใช้งานจริง n8n จะไม่แสดงข้อมูลใน workflow คุณยังคงสามารถดูข้อมูล workflow สำหรับการดำเนินการผลิตได้: เลือก Executions ใน workflow จากนั้นเลือกการดำเนินการ workflow ที่คุณต้องการดู
HTTP Method
node Webhook รองรับมาตรฐาน วิธีการร้องขอ HTTP :
ลบ
ได้รับ
หัว
แพตช์
โพสต์
ใส่
payload สูงสุดของ Webhook (Webhook max payload)
ขนาด payload สูงสุดของ webhook คือ 16MB หากคุณโฮสต์ n8n ด้วยตนเอง คุณสามารถเปลี่ยนสิ่งนี้ได้โดยใช้ ตัวแปรสภาพแวดล้อมปลายทาง
N8N_PAYLOAD_SIZE_MAX.
Path
โดยค่าเริ่มต้น ช่องนี้จะมีเส้นทาง URL ของ webhook ที่สร้างขึ้นแบบสุ่ม เพื่อหลีกเลี่ยงความขัดแย้งกับ node ของ webhook อื่นๆ
คุณสามารถระบุเส้นทาง URL ได้ด้วยตนเอง รวมถึงการเพิ่ม parameter เส้นทาง ตัวอย่างเช่น คุณอาจต้องทำเช่นนี้หากคุณใช้ n8n เพื่อสร้างต้นแบบ API และต้องการ URL ตำแหน่งข้อมูลที่สอดคล้องกัน
ที่ Path ฟิลด์สามารถใช้รูปแบบต่อไปนี้:
/:variable/path/:variable/:variable/path/:variable1/path/:variable2/:variable1/:variable2
วิธีการรับรองความถูกต้องที่รองรับ (Supported authentication methods)
คุณสามารถกำหนดให้มีการตรวจสอบสิทธิ์สำหรับบริการใดๆ ที่เรียก URL webhook ของคุณ เลือกจากวิธีการรับรองความถูกต้องเหล่านี้:
- การรับรองความถูกต้องขั้นพื้นฐาน
- การรับรองความถูกต้องส่วนหัว
- การตรวจสอบสิทธิ์ JWT
- ไม่มี
อ้างถึง Webhook credentials สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า credentials แต่ละประเภท
Respond
- Immediately : node Webhook ส่งคืนโค้ดตอบกลับและข้อความ workflow เริ่มต้นขึ้นแล้ว (Workflow got started).
- When Last Node Finishes : node Webhook ส่งคืนโค้ดตอบกลับและ output ข้อมูลจาก node สุดท้ายที่ดำเนินการใน workflow
- Using 'Respond to Webhook' Node : node Webhook ตอบสนองตามที่กำหนดไว้ใน Respond to Webhook node
- การตอบสนองแบบสตรีมมิ่ง (Streaming response) : เปิดใช้งานการสตรีมข้อมูลแบบเรียลไทม์กลับไปยังผู้ใช้ในขณะที่กระบวนการ workflow ต้องมี node ที่รองรับการสตรีมใน workflow (เช่น AI Agent node)
Response Code
ปรับแต่ง รหัสตอบกลับ HTTP ว่า node Webhook ส่งคืนเมื่อดำเนินการสำเร็จ เลือกจากรหัสตอบกลับทั่วไปหรือสร้างรหัสที่กำหนดเอง
Response Data
เลือกข้อมูลที่จะรวมไว้ในเนื้อหาการตอบกลับ:
- All Entries : Webhook ส่งคืนรายการทั้งหมดของ node สุดท้ายใน array
- First Entry JSON : Webhook ส่งคืนข้อมูล JSON ของรายการแรกของ node สุดท้ายใน object JSON
- First Entry Binary : Webhook ส่งคืนข้อมูลไบนารีของรายการแรกของ node สุดท้ายในไฟล์ไบนารี
- No Response Body : Webhook กลับมาโดยไม่มีเนื้อหา
ใช้กับเท่านั้น ตอบกลับ > เมื่อ node สุดท้ายเสร็จสิ้น (Respond > When Last Node Finishes).
ตัวเลือก node
เลือก Add Option เพื่อดูตัวเลือกการกำหนดค่าเพิ่มเติม ตัวเลือกที่ใช้ได้จะขึ้นอยู่กับ parameter node ของคุณ โปรดดูตารางเพื่อดูตัวเลือกที่มี
- Allowed Origins (CORS) : ตั้งค่าโดเมนข้ามต้นทางที่อนุญาต ป้อนรายการ URL ที่คั่นด้วยเครื่องหมายจุลภาคที่อนุญาตสำหรับคำขอข้ามต้นทางที่ไม่ใช่แบบ preflight ใช้
*(ค่าเริ่มต้น) เพื่ออนุญาตต้นทางทั้งหมด - Binary Property : การเปิดใช้งานการตั้งค่านี้ทำให้ node Webhook สามารถรับข้อมูลไบนารี เช่น รูปภาพหรือไฟล์เสียง ป้อนชื่อของคุณสมบัติไบนารี่เพื่อเขียนข้อมูลของไฟล์ที่ได้รับ
- Ignore Bots : ไม่สนใจคำขอจากบอท เช่น โปรแกรมดูตัวอย่างลิงก์และโปรแกรมรวบรวมข้อมูลเว็บ
- IP(s) Allowlist : เปิดใช้งานตัวเลือกนี้เพื่อจำกัดใคร (หรืออะไร) ที่สามารถเรียกใช้ URL trigger Webhook ป้อนรายการที่อยู่ IP ที่อนุญาตโดยคั่นด้วยเครื่องหมายจุลภาค การเข้าถึงจากที่อยู่ IP นอกรายการที่อนุญาตทำให้เกิดข้อผิดพลาด 403 หากเว้นว่างไว้ ที่อยู่ IP ทั้งหมดจะเรียกใช้ URL trigger ของ webhook ได้
- No Response Body : เปิดใช้งานสิ่งนี้เพื่อป้องกัน n8n ส่งเนื้อหาพร้อมการตอบกลับ
- Only Run If : expression ที่ประเมินเทียบกับคำขอที่เข้ามา workflow จะทำงานก็ต่อเมื่อ expression ส่งคืนเท่านั้น
true. ใช้$jsonเพื่อเข้าถึงคำขอเป็น{ body, headers, params, query }. ตัวอย่างเช่น{{ $json.body.campaign_id === 'user-research-invite' }}. คำขอที่ไม่ตรงกันจะได้รับการตอบกลับ 200 ครั้งโดยไม่สร้างการดำเนินการ หาก expression ไม่สามารถประเมินได้ n8n จะบันทึกคำเตือนและปล่อยให้คำขอผ่านแทนที่จะบล็อกมัน ซึ่งทำงานหลังจากการตรวจสอบรายการ IP ที่อนุญาตและการตรวจสอบสิทธิ์ และใช้กับทั้ง URL webhook การทดสอบและการใช้งานจริง - Raw Body : ระบุว่า node Webhook จะได้รับข้อมูลในรูปแบบ Raw เช่น JSON หรือ XML
- Response Content-Type : เลือกรูปแบบสำหรับเนื้อหา webhook
- Response Data : ส่งข้อมูลที่กำหนดเองพร้อมการตอบกลับ
- Response Headers : ส่งส่วนหัวเพิ่มเติมในการตอบกลับ Webhook อ้างถึง เอกสารเว็บ MDN | ส่วนหัวของการตอบกลับ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับส่วนหัวการตอบกลับ
- Property Name : ตามค่าเริ่มต้น n8n จะส่งคืนข้อมูลที่มีอยู่ทั้งหมด คุณสามารถเลือกที่จะส่งคืนคีย์ JSON เฉพาะได้ เพื่อให้ n8n ส่งกลับค่าดังกล่าว
| ตัวเลือก | การกำหนดค่า node ที่จำเป็น |
|---|---|
| ต้นกำเนิดที่อนุญาต (CORS) | อะไรก็ได้ |
| ทรัพย์สินไบนารี | อย่างใดอย่างหนึ่ง: |
| ละเว้นบอท | อะไรก็ได้ |
| IP รายการที่อนุญาต | อะไรก็ได้ |
| เรียกใช้เฉพาะถ้า | อะไรก็ได้ |
| ชื่อคุณสมบัติ | ทั้งสอง: |
| ไม่มีเนื้อหาการตอบสนอง | ตอบกลับ> ทันที |
| ตัวดิบ | อะไรก็ได้ |
| รหัสตอบกลับ | ใดก็ได้ ยกเว้นตอบกลับ > การใช้ node 'ตอบสนองต่อ Webhook' |
| การตอบสนองประเภทเนื้อหา | ทั้งสอง: |
| ข้อมูลการตอบสนอง | ตอบกลับ> ทันที |
| ส่วนหัวของการตอบกลับ | อะไรก็ได้ |
n8n รักษาความปลอดภัยการตอบสนอง HTML อย่างไร
ความพร้อมใช้งานของคุณสมบัติ (Feature availability)
การห่อคำตอบ HTML อัตโนมัติสำหรับ webhooks <iframe> แท็กถูกนำมาใช้ใน n8n 1.103.0
เริ่มต้นด้วย n8n 1.103.0, n8n จะล้อมการตอบสนอง HTML ไปยัง webhooks โดยอัตโนมัติ <iframe> แท็ก นี่คือกลไกการรักษาความปลอดภัยเพื่อปกป้องผู้ใช้อินสแตนซ์
สิ่งนี้มีผลกระทบดังต่อไปนี้:
- HTML แสดงผลใน iframe แบบแซนด์บ็อกซ์แทนที่จะแสดงผลโดยตรงในเอกสารหลัก
- รหัส JavaScript ที่พยายามเข้าถึงหน้าต่างระดับบนสุดหรือที่เก็บข้อมูลในเครื่องจะล้มเหลว
- ส่วนหัวการตรวจสอบสิทธิ์ไม่พร้อมใช้งานใน iframe แบบแซนด์บ็อกซ์ (เช่น การตรวจสอบสิทธิ์พื้นฐาน) คุณต้องใช้วิธีการอื่น เช่น การฝัง token การเข้าถึงที่มีอายุสั้นภายใน HTML
- URL ที่เกี่ยวข้อง (เช่น
<form action="/">) จะไม่ทำงาน ใช้ URL ที่สมบูรณ์แทน
เทมเพลตและตัวอย่าง
เรียกดูเทมเพลตการรวม n8n-nodes-base.webhook หรือ ค้นหาเทมเพลตทั้งหมด
คำถามที่พบบ่อย
ฉันจะ trigger workflow จากเหตุการณ์ภายนอกได้อย่างไร (How do I trigger a workflow from an external event?)
เพิ่ม node Webhook เป็น trigger มันสร้าง URL ของ webhook ที่ได้รับข้อมูลจากแอพและบริการเมื่อมีเหตุการณ์เกิดขึ้น จากนั้นเริ่ม workflow ของคุณด้วยข้อมูลนั้น มีประโยชน์สำหรับบริการที่ไม่มี trigger node แอปเฉพาะ
URL webhook การทดสอบและการใช้งานจริงแตกต่างกันอย่างไร
node มีสอง URL ของ webhook . ที่ ทดสอบ (test) URL ใช้งานได้เมื่อคุณเลือก Listen for Test Event และจะแสดงข้อมูลที่เข้ามาในตัวแก้ไข ที่ การผลิต (production) URL จะลงทะเบียนเมื่อคุณเผยแพร่ workflow และจะไม่แสดงข้อมูลในตัวแก้ไข คุณสามารถดูการดำเนินการผลิตได้ใน workflow Executions แท็บ
ฉันจะรักษาความปลอดภัยของ webhook ได้อย่างไร? (How do I secure a webhook?)
ต้องมีการรับรองความถูกต้องใน วิธีการรับรองความถูกต้องที่รองรับ . คุณสามารถใช้ Basic auth, Header auth หรือ JWT auth สำหรับบริการใดๆ ที่เรียกใช้ URL คุณยังสามารถจำกัดผู้โทรได้ด้วย IP(s) Allowlist ตัวเลือก node อ้างถึง Webhook credentials.
ปัญหาทั่วไป
สำหรับคำถามหรือปัญหาทั่วไปและวิธีแก้ปัญหาที่แนะนำ โปรดดูที่ Common issues.

