เมื่อใช้แอ็กชัน "ส่ง Webhook" ในเวิร์กโฟลว์ คุณสามารถส่งข้อมูลไปยังระบบภายนอกโดยอัตโนมัติให้สอดคล้องกับการทำงานของเวิร์กโฟลว์ได้ เป็นฟังก์ชันสำหรับให้นักพัฒนาเชื่อมต่อระบบภายนอกเข้ากับ Lumo
สิ่งที่ทำได้ด้วยการส่ง Webhook
การส่ง Webhook เป็นหนึ่งในแอ็กชันของเวิร์กโฟลว์ ซึ่งเป็นฟังก์ชันส่งข้อมูลไปยัง URL ที่ระบุ
คุณสามารถส่งข้อมูลไปยังระบบของคุณเองหรือบริการภายนอกโดยอัตโนมัติ ให้สอดคล้องกับจุดเริ่มของเวิร์กโฟลว์ เช่น การเพิ่มเพื่อนหรือการเปลี่ยนแท็ก มีประโยชน์เมื่อต้องการสร้างการเชื่อมต่อเฉพาะที่แบบ no-code ไม่สามารถรองรับได้ทั้งหมด ให้เข้ากับกลไกของคุณเอง
วิธีการใช้งานที่พบบ่อยมีดังนี้
- ส่งข้อมูลไปยังระบบของคุณเองในจังหวะที่เวิร์กโฟลว์ทำงาน
- ส่งข้อมูลโดยรวมข้อมูลของเพื่อนหรือค่าภายในเวิร์กโฟลว์เข้าไปด้วย
- ส่งข้อมูลให้บริการภายนอกเพื่อเชื่อมต่อไปยังกระบวนการถัดไป
สำหรับบริการภายนอกที่ใช้กันบ่อย เช่น Shopify, HubSpot และ Klaviyo เราได้เตรียมเมนูการเชื่อมต่อเฉพาะไว้ เราแนะนำให้ตรวจสอบก่อนว่าเมนูเหล่านั้นรองรับได้หรือไม่
กรณีมอบหมายให้เอเจนต์
การออกแบบเวิร์กโฟลว์สามารถปรึกษา Marketing Agent ได้ และการส่ง Webhook ก็สามารถรวมเข้าไปในกระบวนการนั้นได้เช่นกัน
เมื่อคุณบอกสิ่งที่ต้องการทำ เช่น "อยากแจ้งเตือนระบบของตัวเองเมื่อมีการเพิ่มเพื่อน" เอเจนต์จะสร้างข้อเสนอเวิร์กโฟลว์ที่รวมจุดเริ่มและแอ็กชันที่จำเป็นไว้ แล้วขออนุมัติจากคุณ เมื่อตรวจสอบเนื้อหาแล้วเลือก "ดำเนินการ" การตั้งค่าจะมีผล หากเลือก "ไม่ต้องแล้ว" การตั้งค่าจะไม่มีผล
ข้อมูลเฉพาะของระบบภายนอก เช่น URL ปลายทาง เอเจนต์เพียงลำพังไม่สามารถตัดสินใจได้ คุณต้องกรอกเองในหน้าจอแก้ไขเวิร์กโฟลว์
กรณีตั้งค่าด้วยตนเอง
แอ็กชันส่ง Webhook เพิ่มและตั้งค่าได้ในหน้าจอแก้ไขเวิร์กโฟลว์
- เพิ่ม "ส่ง Webhook" เป็นแอ็กชันในหน้าจอแก้ไขเวิร์กโฟลว์
- เมื่อเลือกโหนด แถบด้านข้างจะเปิดขึ้นทางขวา ให้กรอกรายการการตั้งค่า
รายการการตั้งค่า
รายการหลักที่กรอกในแถบด้านข้างมีดังนี้
| รายการ | คำอธิบาย |
|---|---|
| "Webhook URL" | URL ปลายทางที่จะส่งข้อมูลไป (จำเป็น) |
| "เนื้อหาคำขอ" | เนื้อหาของข้อมูลที่จะส่ง แนะนำรูปแบบ JSON |
เนื้อหาคำขอยังสามารถแก้ไขได้โดยเปิดตัวแก้ไขเฉพาะจาก "แก้ไขในตัวแก้ไข" เมื่อกรอกในรูปแบบ JSON ข้อมูลจะถูกส่งด้วย Content-Type "application/json" ไม่มีรายการตั้งค่าให้เลือกวิธีการส่ง คำขอจะถูกส่งด้วย POST เสมอ
การแทรกข้อมูลของเพื่อนลงในเนื้อหาคำขอ
ในเนื้อหาคำขอ คุณสามารถเขียนตัวแปรที่ครอบด้วยวงเล็บปีกกาคู่ เพื่อแทรกข้อมูลของเพื่อนคนนั้น เนื้อหาการกระทำ และค่าพร็อพเพอร์ตี้ที่ซิงค์ไว้ ลงในข้อมูลที่ส่ง โดยขณะส่งแต่ละตัวแปรจะถูกแทนที่ด้วยค่าจริงของเพื่อนแต่ละคน
ข้อมูลเพื่อนและการกระทำ
ข้อมูลพื้นฐานเกี่ยวกับสิ่งที่ทริกเกอร์เวิร์กโฟลว์ สามารถแทรกได้ด้วยตัวแปรต่อไปนี้
| ตัวแปร | ค่าที่แทรก |
|---|---|
{{line.userId}} |
LINE user ID ของเพื่อน |
{{line.displayName}} |
ชื่อที่แสดงของเพื่อน |
{{line.pictureUrl}} |
URL ของรูปโปรไฟล์ของเพื่อน |
{{message.text}} |
เนื้อหาของข้อความที่ได้รับ (เมื่อทริกเกอร์เป็นการรับข้อความ) |
{{postback.data}} |
ข้อมูล postback (เมื่อทริกเกอร์เป็นการรับ postback) |
{{answers.lastAnswer}} |
เนื้อหาที่เพื่อนตอบในแอ็กชันคำถามก่อนหน้า |
{{contact.displayName}} |
ชื่อที่แสดงของข้อมูลลูกค้าใน Lumo โดย {{contact.firstName}}, {{contact.lastName}} และ {{contact.pictureUrl}} ก็เขียนแบบเดียวกัน |
{{customer.email}} |
อีเมลที่แสดงใน "เกี่ยวกับลูกค้ารายนี้" ของแชท ไม่ว่าจะนำเข้ามาจาก HubSpot, Klaviyo หรือ Shopify โดย {{customer.phone}} ก็แทรกเบอร์โทรศัพท์ได้แบบเดียวกัน หากไม่มีข้อมูลจะเว้นว่าง |
รายการตัวแปรทั้งหมดรวบรวมไว้ในบทความ "ตัวแปรที่ใช้ได้ในเวิร์กโฟลว์"
ข้อมูลวันที่และเวลา
วันที่และเวลา ณ ตอนที่ส่งก็แทรกได้เช่นกัน ระบบจะคำนวณตามโซนเวลาที่ตั้งไว้ในพื้นที่ทำงาน (หากยังไม่ได้ตั้งค่าจะใช้เวลาญี่ปุ่น)
| ตัวแปร | ค่าที่แทรก | ตัวอย่าง |
|---|---|---|
{{date.today}} |
วันที่ของวันที่ส่ง | 2026-09-14 |
{{date.now}} |
วันเวลาที่ส่ง (พร้อมโซนเวลา) | 2026-09-14T18:30:00+09:00 |
{{date.year}} |
ปี | 2026 |
{{date.month}} |
เดือน | 9 |
{{date.day}} |
วัน | 14 |
{{date.hour}} |
ชั่วโมง | 18 |
{{date.minute}} |
นาที | 30 |
{{date.dayOfWeek}} |
วันในสัปดาห์ (ภาษาอังกฤษ) | MONDAY |
{{date.dayOfWeekJa}} |
วันในสัปดาห์ (ภาษาญี่ปุ่น) | 月曜日 |
{{date.formatted}} |
วันเวลารูปแบบภาษาญี่ปุ่น | 2026年09月14日 18:30 |
พร็อพเพอร์ตี้จากบริการที่เชื่อมต่อ
หากเชื่อมต่อ HubSpot, Klaviyo หรือ Shopify และซิงค์พร็อพเพอร์ตี้ไว้ คุณสามารถแทรกค่าของพร็อพเพอร์ตี้ได้โดยระบุชื่อภายในของพร็อพเพอร์ตี้ทั้งนี้แทรกได้เฉพาะพร็อพเพอร์ตี้ที่เลือกให้ซิงค์ในหน้าตั้งค่าของแต่ละบริการเท่านั้น
{{hubspot.ชื่อภายในของพร็อพเพอร์ตี้}}… พร็อพเพอร์ตี้ที่ซิงค์ของ HubSpot{{klaviyo.ชื่อภายในของพร็อพเพอร์ตี้}}… พร็อพเพอร์ตี้ที่ซิงค์ของ Klaviyo{{shopify.ชื่อภายในของพร็อพเพอร์ตี้}}… พร็อพเพอร์ตี้ที่ซิงค์ของ Shopify{{ชื่อภายในของพร็อพเพอร์ตี้}}… รูปแบบย่อที่ละชื่อบริการ (จะค้นหาค่าตามลำดับ HubSpot → Klaviyo → Shopify)
หากเพื่อนไม่ได้เชื่อมต่อกับบริการนั้น หรือยังไม่ได้ตั้งค่า ตัวแปรจะถูกแทนที่ด้วยค่าว่าง
ข้อความสำรองเมื่อไม่มีค่า
เมื่อเติม or 'ข้อความสำรอง' ต่อท้ายตัวแปร หากค่านั้นว่างจะแทรกข้อความที่ระบุไว้แทน
เมื่อเขียนเป็น {{hubspot.member_rank or 'regular'}} เพื่อนที่ยังไม่ได้ตั้งค่าระดับสมาชิกจะถูกส่งเป็น regular เหมาะกับกรณีที่ไม่อยากให้คีย์ของ JSON ว่างเปล่า กรุณาครอบข้อความสำรองด้วยเครื่องหมายคำพูด
ตัวอย่างการกรอก
ตัวอย่างเช่น เมื่อเขียนตามด้านล่าง ระบบจะส่งคำขอโดยมี LINE user ID ข้อความที่ได้รับ และระดับสมาชิกของเพื่อนแต่ละคนกรอกไว้ (โปรดแทนที่ส่วน member_rank ด้วยชื่อภายในของพร็อพเพอร์ตี้ของคุณเอง)
{
"lineUserId": "{{line.userId}}",
"message": "{{message.text}}",
"rank": "{{hubspot.member_rank}}"
}
รูปแบบคำขอที่ Lumo ส่งออกไป
การส่ง Webhook จะส่งคำขอไปยัง URL ที่ตั้งไว้ด้วย POST ฝั่งผู้รับกรุณาเตรียมเอ็นด์พอยต์ที่รองรับ POST ไว้
| รายการ | เนื้อหา |
|---|---|
| เมธอด | เป็น POST เสมอ ไม่มีการตั้งค่าให้เลือกวิธีการส่ง |
| Content-Type | หากเนื้อหาคำขอเป็น JSON ที่ถูกต้องจะเป็น application/json กรณีอื่นจะเป็น text/plain |
| การหมดเวลา | 30 วินาที หากไม่มีการตอบกลับภายใน 30 วินาทีจะถือว่าล้มเหลว และจะส่งซ้ำสูงสุด 3 ครั้ง คือหลังจาก 30 วินาที, 2 นาที และ 10 นาที |
| เฮดเดอร์ที่แนบให้ | X-Lumo-Request-Id (ตัวระบุของการส่งแต่ละครั้ง เมื่อส่งซ้ำเพราะไม่มีการตอบกลับจะใช้ค่าเดิม), X-Lumo-Workflow-Id (ID ของเวิร์กโฟลว์), X-Lumo-Node-Id (ID ของแอ็กชัน) |
หากปลายทางตอบกลับเป็นข้อผิดพลาด 4xx หรือ 5xx ระบบจะไม่ส่งซ้ำ และเวิร์กโฟลว์จะทำแอ็กชันถัดไปต่อ โดยใน "ประวัติการทำงาน" แอ็กชันนั้นจะถูกบันทึกว่าล้มเหลว
X-Lumo-Request-Id จะกำหนดตามการส่งแต่ละครั้ง และเมื่อส่งซ้ำเพราะไม่มีการตอบกลับจะใช้ค่าเดิม หากคำขอที่มีค่าเดียวกันมาถึงมากกว่า 1 ครั้ง แสดงว่าเป็นการส่งซ้ำ จึงใช้เป็นเบาะแสในการแยกคำขอที่ซ้ำกันและเทียบกับบันทึก (log) ฝั่งผู้รับได้
ข้อควรระวังในการตั้งค่า
ขึ้นอยู่กับปลายทางและเนื้อหาที่ส่ง Webhook อาจส่งไปไม่ถูกต้องได้ กรุณาตรวจสอบประเด็นต่อไปนี้ก่อนตั้งค่า
- กรุณาระบุ URL ปลายทางที่ถูกต้องและสามารถเข้าถึงได้จากภายนอก
- กรุณาตรวจสอบว่าระบบปลายทางอยู่ในสถานะที่สามารถรับรูปแบบข้อมูลที่ Lumo ส่งไปได้หรือไม่
- เพื่อการปกป้องด้านความปลอดภัย ปลายทางบางแห่งอาจถูกบล็อกได้
เมื่อเชื่อมต่อไม่ราบรื่น ก่อนอื่นให้ทบทวน URL ปลายทางและรูปแบบของเนื้อหาที่ส่ง พร้อมทั้งตรวจสอบบันทึก (log) ที่ฝั่งระบบปลายทางด้วย