หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
เรียนรู้วิธีกำหนดค่าทริกเกอร์การไม่ใช้งาน พร้อมคำแนะนำเกี่ยวกับการตั้งค่า การสนับสนุนช่องทาง ข้อจำกัด และการแก้ไขปัญหา
ภาพรวม
ทริกเกอร์การไม่ใช้งาน หรือที่เรียกว่า OnInactivity หรือ ผู้ใช้ไม่ได้ใช้งานมาระยะหนึ่งแล้ว เป็นทริกเกอร์ระบบใน Copilot Studio ที่จะเรียกใช้หัวข้อโดยอัตโนมัติเมื่อผู้ใช้ไม่ส่งข้อความใด ๆ ตามระยะเวลาที่กำหนด มันทำงานฝั่งเซิร์ฟเวอร์ ดังนั้นเอเจนต์จะประเมินตัวจับเวลาและดำเนินการหัวข้อแม้ว่าไคลเอ็นต์ของผู้ใช้จะไม่ได้ใช้งานก็ตาม
กรณีการใช้งานทั่วไปรวมถึง:
- ส่งข้อความเตือนเพื่อสอบถามว่าผู้ใช้ยังอยู่หรือไม่
- เพิ่มประสิทธิภาพการทำงานของเอเจนต์ด้วยการปิดการสนทนาที่ไม่ได้ใช้งานโดยอัตโนมัติ
- รวบรวมคำติชม (ตัวอย่างเช่น แบบสอบถามความพึงพอใจของลูกค้า) ก่อนสิ้นสุดเซสชัน
- ล้างสถานะเซสชันสำหรับการสนทนาที่ถูกละทิ้ง
วิธีการทำงานของทริกเกอร์ที่ไม่มีการตอบสนอง
ส่วนนี้อธิบายวิธีที่ Copilot Studio ประเมินทริกเกอร์การไม่มีการใช้งาน จัดกำหนดการตัวจับเวลา และเรียกใช้หัวข้อเมื่อการสนทนาไม่ได้ใช้งาน
ภาพรวมสถาปัตยกรรม
ผู้ใช้ส่งข้อความ
ระบบรันไทม์จะทำการตรวจสอบทริกเกอร์ OnInactivity ทั้งหมด
รันไทม์จัดกลุ่มทริกเกอร์ตามช่วงระยะเวลาและเลือกหนึ่งทริกเกอร์ในแต่ละช่วงระยะเวลา ตัวเลขลำดับความสำคัญต่ำที่สุดจะชนะ หากตัวเลขเท่ากัน ให้ตัดสินด้วยวันที่สร้างที่เก่าที่สุด
รันไทม์จะเรียงลำดับทริกเกอร์ที่เลือกตามระยะเวลา โดยสั้นที่สุดก่อน
รันไทม์ตั้งค่าตัวจับเวลาสำหรับทริกเกอร์ถัดไปใน Azure Service Bus มีตัวจับเวลาทำงานอยู่เพียงตัวเดียวในแต่ละครั้ง
ผู้ใช้อยู่ในสถานะไม่ใช้งานตามระยะเวลาที่กำหนด
จับเวลาหมดลง และเหตุการณ์ที่ไม่มีการใช้งานจะถูกส่งไปยังรันไทม์
รันไทม์จับคู่และเรียกใช้งานหัวข้อสถานะไม่ใช้งาน
รันไทม์จะคำนวณเวลาที่เหลือจนถึงทริกเกอร์ถัดไปและตั้งค่าตัวจับเวลาใหม่
ลักษณะการทำงานที่สำคัญ
ตัวจับเวลาจะรีเซ็ตทุกครั้งที่ผู้ใช้ส่งข้อความ
ทุกครั้งที่ผู้ใช้ส่งข้อความ ระบบจะประเมินทริกเกอร์การไม่ใช้งานทั้งหมดใหม่ และจะตั้งค่าทริกเกอร์ถัดไปที่มีระยะเวลาสั้นที่สุดก่อน จะมีตัวจับเวลาทำงานอยู่เพียงตัวเดียวในแต่ละช่วงเวลา
รองรับทริกเกอร์หลายตัว
คุณสามารถมีทริกเกอร์ OnInactivity ได้หลายรายการที่ตั้งค่าในระยะเวลาที่ต่างกัน (เช่น 5 นาที และ 10 นาที) ระบบจะประมวลผลทริกเกอร์เหล่านี้ในลำดับจากน้อยไปมากของระยะเวลา ระบบจะเลือกทริกเกอร์เพียงตัวเดียวต่อระดับระยะเวลา หากทริกเกอร์สองตัวมีระยะเวลาเท่ากัน ทริกเกอร์ที่มีหมายเลขต่ำกว่า
Priorityจะถูกเรียกใช้งาน หากยังคงเท่ากัน ทริกเกอร์ที่สร้างขึ้นก่อนหน้าจะชนะ ระบบจะทิ้งทริกเกอร์อื่นๆ ในระยะเวลาเดียวกันทริกเกอร์จะถูกจัดคิว ไม่ทำงานแบบขนานกัน
มีตัวจับเวลาทำงานอยู่เพียงตัวเดียวในแต่ละครั้ง หลังจากที่ทริกเกอร์ปัจจุบันทำงานเสร็จ ระบบจะคำนวณเวลาที่เหลือจนถึงทริกเกอร์ถัดไป และตั้งเวลานับถอยหลังใหม่ตามส่วนที่แตกต่างนั้น ผลกระทบทั้งหมดคือทริกเกอร์ทำงานที่ออฟเซตที่ถูกต้องจากจุดที่ไม่มีการตอบสนองแต่เดิม แม้ว่าอาจเกิดการเบี่ยงเบนเล็กน้อยหากการดำเนินการทริกเกอร์ใช้เวลานาน
การดำเนินการเบื้องหลัง
เหตุการณ์ไม่มีการตอบสนองเป็นทริกเกอร์ที่ทำงานแบบเบื้องหลัง ไม่จำเป็นต้องมีการโต้ตอบกับผู้ใช้เพื่อให้ทริกเกอร์ทำงาน
การบันทึกการถอดความ
ระบบจะบันทึกเหตุการณ์ที่ไม่มีการใช้งานในการถอดเสียงการสนทนา เรกคอร์ดการถอดความใหม่จะถูกสร้างหลังจากไม่มีการตอบสนอง 30 นาที
ตัวอย่างไทม์ไลน์ (ทริกเกอร์หลายตัว)
| เวลา | เหตุการณ์ |
|---|---|
| 0:00 | ผู้ใช้ส่งข้อความล่าสุด |
| 5:00 | ทริกเกอร์ A (300 วินาที) ทำงาน ส่งการเตือน |
| 10:00 | ทริกเกอร์ B (600 วินาที), จบการสนทนา |
หากผู้ใช้ส่งข้อความเวลา 4:30 น. ตัวจับเวลาทั้งสองจะรีเซ็ต ทริกเกอร์ A ทำงานเวลา 9:30 น. และทริกเกอร์ B ทำงานเวลา 14:30 น.
กำหนดค่าทริกเกอร์ที่ไม่มีการตอบสนอง
ส่วนนี้แสดงวิธีที่ Copilot Studio เริ่ม ตั้งค่าใหม่ และเรียกใช้ตัวจับเวลาการไม่ใช้งาน เพื่อให้คุณสามารถคาดการณ์ว่าจะเกิดอะไรขึ้นเมื่อการสนทนาไม่ได้ใช้งาน
สร้างหัวข้อทริกเกอร์การไม่ใช้งาน
ใน Copilot Studio ไปที่ หัวข้อ>จากหัวข้อ>จากว่างเปล่า
เลือกข้อความทริกเกอร์ แทนที่จะใช้ข้อความ ให้เลือก "หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง"
ตั้งค่าคุณสมบัติ ช่วงเวลาที่ไม่ได้ใช้งาน ในโหมด ป้อนข้อมูลด้วยตนเอง ให้เลือกค่าที่ตั้งไว้ล่วงหน้าจากเมนูแบบเลื่อนลง (15 นาที, 30 นาที, 45 นาที หรือ 1 ชั่วโมง) เมื่อต้องการป้อนค่าแบบกำหนดเองเป็นวินาทีหรือสูตร Power Fx (เช่น
Global.TimeoutSeconds) ให้สลับตัวเลือกโหมดเป็น สูตร และพิมพ์ค่าโดยตรงออกแบบโฟลว์หัวข้อ (ส่งข้อความ ถามคำถาม จบการสนทนา และอื่นๆ)
บันทึกและเผยแพร่เอเจนต์ของคุณ
การอ้างอิงระยะเวลา
| การหมดเวลาที่ต้องการ | ค่า (วินาที) |
|---|---|
| 30 วินาที | 30 |
| 2 นาที | 120 |
| 5 นาที | 300 |
| 10 นาที | 600 |
| 1 ชั่วโมง | 3600 |
สำคัญ
คุณสมบัติใช้ วินาที ไม่ใช่นาที หรือมิลลิวินาที ค่า 60000 หมายถึงประมาณ 16.7 ชั่วโมง ไม่ใช่ 60 วินาที
ตัวอย่าง: ทริกเกอร์คำเตือนรายการเดียว
[OnInactivity - 600 วินาที]
ข้อความ: "คุณยังอยู่ไหม ตอบเพื่อดำเนินการต่อ"
จบหัวข้อ
ตัวอย่าง: คำเตือน 5 นาทีและปิดอัตโนมัติ 10 นาที
รูปแบบนี้คือใช้ทั่วไปที่สุด สร้างหัวข้อเกี่ยวกับการไม่ใช้งานสองหัวข้อ:
หัวข้อที่ 1: คำเตือนการไม่ใช้งาน (5 นาที)
- ทริกเกอร์: หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง:
-
durationInSeconds:300 - การดำเนินการ: ส่งข้อความ: "คุณยังอยู่ที่นั่นไหม การสนทนานี้จะปิดใน 5 นาทีหากไม่มีการตอบ"
หัวข้อที่ 2: ปิดอัตโนมัติ (10 นาที)
- ทริกเกอร์: หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง:
-
durationInSeconds:600 - การดำเนินการ:
- ตั้งค่า
Global.DeactivateInactivity = true(ตัวแปรป้องกัน - ดูแนวทางปฏิบัติที่ดีที่สุด) - ส่งข้อความ: "การสนทนานี้จะสิ้นสุดลงเนื่องจากไม่มีการใช้งาน"
- จบการสนทนา
- ตั้งค่า
ตัวอย่าง: การรวบรวมความคิดเห็น
- ทริกเกอร์: หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง:
- durationInSeconds:
120 - การดำเนินการ:
- ถาม: "ก่อนที่คุณจะไป ช่วยให้คะแนนประสบการณ์ของคุณได้ไหม (1-5)"
- เก็บการตอบ
- จบการสนทนา
เพิ่มเงื่อนไขให้กับทริกเกอร์
เพิ่มโหนด เงื่อนไข ทันทีหลังจากทริกเกอร์เพื่อให้ทำงานเฉพาะในบางสถานการณ์:
- ทำงานเฉพาะบนช่องทางที่กำหนด:
=Activity.ChannelId = "msteams" - ทำงานเฉพาะเมื่อยังไม่ได้ตั้งค่าตัวแปรป้องกัน:
=Global.DeactivateInactivity = false
รูปแบบที่แนะนำสำหรับหลายทริกเกอร์ (หัวข้อร่วม)
หากคุณมีทริกเกอร์หลายตัวที่มีโหนด คำถาม ให้ใช้ หัวข้อที่แชร์ เพื่อหลีกเลี่ยงปัญหาการซ้อนบทสนทนา:
สร้างหัวข้อร่วมชื่อ
HandleInactivity:- เพิ่มตัวแปรร่วม
Global.InactivityStage(ข้อความ) - ตรวจสอบค่า:
-
"warning"→ ส่งข้อความเตือนผ่านโหนด คำถาม ("ดำเนินการต่อหรือไม่" / "จบหรือไม่") -
"close"→ ส่งข้อความปิดและจบการสนทนา
-
- เพิ่มตัวแปรร่วม
ทริกเกอร์ OnInactivity ครั้งแรก (300 วินาที):
- ตั้งค่า
Global.InactivityStage = "warning" - เปลี่ยนเส้นทางไปยัง
HandleInactivity
- ตั้งค่า
ทริกเกอร์ OnInactivity ครั้งที่สอง (600 วินาที):
- ตั้งค่า
Global.InactivityStage = "close" - เปลี่ยนเส้นทางไปยัง
HandleInactivity
- ตั้งค่า
วิธีนี้ป้องกันไม่ให้โหนด คำถาม ซ้อนและสร้างลูปพร้อมท์
การกำหนดค่าเฉพาะช่องทาง
เมทริกซ์การสนับสนุนช่องทาง
| ช่องทาง | ระดับการสนับสนุน | หมายเหตุ |
|---|---|---|
| เว็บไซต์สาธิต | รองรับอย่างเต็มรูปแบบ | ช่องทางที่ดีที่สุดสำหรับการทดสอบทริกเกอร์การไม่ใช้งาน |
| เว็บไซต์ที่กำหนดเอง (Direct Line) | รองรับอย่างเต็มรูปแบบ | ทำงานเหมือนกับเว็บไซต์สาธิต |
| Microsoft Teams | รองรับ | ใช้งานได้ แต่ดูคำแนะนำเฉพาะสำหรับ Teams ในส่วนถัดไป โทเค็นการตรวจสอบสิทธิ์อาจหมดอายุในช่วงที่ไม่มีการใช้งานเป็นเวลานาน |
| Dynamics 365 Customer Service | รองรับอย่างเต็มรูปแบบ | ต้องมีขั้นตอนเพิ่มเติมเพื่อปิดการสนทนาใน Dynamics 365 Customer Service เรียนรู้เพิ่มเติมใน การกำหนดค่า Dynamics 365 Customer Service |
| Microsoft 365 Copilot | ทริกเกอร์ทำงาน แต่ข้อความไม่ได้ถูกส่ง | กรณีนี้เป็นข้อจำกัดที่ทราบแล้ว ทริกเกอร์ดำเนินการฝั่งเซิร์ฟเวอร์ แต่ Microsoft 365 Copilot UI ไม่แสดงข้อความเชิงรุกจากเอเจนต์ ไม่มีการแก้ไข |
| แผงทดสอบ | ไม่สนับสนุน | กรณีนี้เป็นลักษณะของการออกแบบ ตัวจับเวลาถูกปิดใช้งานสำหรับรหัสช่อง Studio ใช้เว็บไซต์สาธิตหรือช่องทางที่เผยแพร่เพื่อทดสอบ |
| DirectEngine | ไม่สนับสนุน | กรณีนี้เป็นลักษณะของการออกแบบ ตัวจับเวลาถูกปิดใช้งานสำหรับรหัสช่อง DirectEngine (สภาพแวดล้อมการออกแบบ/ทดสอบ) |
| โทรศัพท์/IVR | ไม่สนับสนุน | สำหรับช่องสัญญาณเสียง ให้ใช้ทริกเกอร์ OnSilence แทน |
การกำหนดค่า Teams
Teams ใช้ โมเดลการสนทนาเดี่ยวแบบถาวร การสนทนาไม่เคย "จบลง" อย่างแท้จริงจากมุมมองของ Teams โมเดลนี้หมายความว่าทริกเกอร์ยังคงทำงาน แม้ว่าผู้ใช้จะพิจารณาว่าการสนทนาเสร็จสิ้นแล้วก็ตาม
รูปแบบ Teams ที่แนะนำ:
สร้างตัวแปรส่วนกลาง
Global.IsConversationClosed(แบบบูลีน, ค่าเริ่มต้น:false)ที่เริ่มต้นของหัวข้อที่ไม่มีการใช้งาน ให้ตรวจสอบ:
If Global.IsConversationClosed = true→ สิ้นสุดหัวข้อ (ออกทันที)เมื่อการสนทนาสิ้นสุดลงอย่างมีเหตุผล (เช่น ผู้ใช้กล่าวว่า "ลาก่อน" หรือการประเมินความพึงพอใจของลูกค้าเสร็จสิ้น เป็นต้น) ให้ตั้งค่า
Global.IsConversationClosed = trueทริกเกอร์การไม่ใช้งานอาจยังคงทำงาน แต่จะออกทันทีโดยไม่แสดงข้อความ
การกำหนดค่า Dynamics 365 Customer Service
- การสนทนาจะปิดอัตโนมัติหลังจากไม่ใช้งานเป็นเวลา 30 นาที ตามค่าเริ่มต้น
- การเรียกใช้ EndConversation เพียงอย่างเดียวจะไม่ปิดเซสชันของ Dynamics 365 Customer Service ความจุของเอเจนต์ไม่ถูกปลดล็อก
- เพื่อปิดการสนทนาอย่างสมบูรณ์ ให้ตั้งค่า
CloseOmnichannelConversationตัวแปรบริบทเป็นtrueผ่านโฟลว์ Power Automate flow แล้วใช้โหนด โอนให้เอเจนต์
ข้อจำกัดที่ทราบ
สรุปโดยย่อ: ปัจจัยที่อาจขัดขวางตัวจับเวลาการไม่ใช้งานคืออะไร
| คุณลักษณะหรือการดำเนินการ | ผลกระทบต่อตัวจับเวลาการไม่ใช้งาน |
|---|---|
| จบการสนทนา | ล้างตัวจับเวลาทั้งหมดอย่างถาวร |
| ผู้ใช้ส่งข้อความ | รีเซ็ตตัวจับเวลาทั้งหมดเป็นศูนย์ (ตามการออกแบบ) |
| เงื่อนไขทริกเกอร์ที่มีตัวแปรที่ไม่ได้เริ่มต้น | ตัวจับเวลาถูกแยกออกโดยไม่แจ้งเตือน - ไม่ได้ตั้งค่าให้พร้อมทำงาน |
| ระยะเวลาเกิน 7 วัน (604,800 วินาที) | ตัวจับเวลาถูกเพิกเฉยโดยไม่มีการแจ้งเตือน |
| การล้างตัวแปรส่วนกลางในหัวข้อการไม่มีการใช้งาน | เอเจนต์สูญเสียบริบทการสนทนา |
| โอนไปยังเจ้าหน้าที่บริการลูกค้า | ตัวจับเวลายังคงทำงานอยู่และอาจทริกเกอร์ระหว่างการสนทนากับเจ้าหน้าที่บริการลูกค้า |
แผงทดสอบไม่รองรับทริกเกอร์การไม่มีการใช้งาน
แผงทดสอบ Copilot Studio จะไม่เริ่มทริกเกอร์การไม่มีการใช้งาน ข้อจำกัดนี้เป็นลักษณะของการออกแบบ เผยแพร่เอเจนต์ของคุณและทดสอบบนช่องทางที่ใช้งานจริง (เช่น เว็บไซต์สาธิต, Teams และอื่นๆ)
Microsoft 365 Copilot ไม่แสดงข้อความการไม่ใช้งาน
ทริกเกอร์จะทำงานที่ฝั่งเซิร์ฟเวอร์ แต่เอาต์พุตใด ๆ (ข้อความ, การ์ด) จะไม่ถูกส่งถึงผู้ใช้ใน Microsoft 365 Copilot ไม่มีวิธีแก้ปัญหา ดู ข้อจำกัดที่ทราบของ Teams
การประสาน AI สร้างสรรค์
ทริกเกอร์การไม่ใช้งานถูกนำไปใช้เป็นทริกเกอร์หัวข้อการประสานงานแบบคลาสสิก และใช้ไปป์ไลน์เหตุการณ์ที่แยกต่างหากซึ่งอิงตามตัวจับเวลา เมื่อเปิดใช้งานการประสานงานด้วย AI สร้างสรรค์ การกำหนดเส้นทางหัวข้อจะไม่อ้างอิงการตรวจจับทริกเกอร์แบบคลาสสิกอีกต่อไป ดังนั้นหัวข้อที่เกี่ยวกับการไม่ใช้งานอาจไม่ได้รับการกระตุ้นอย่างน่าเชื่อถือในทุกการตั้งค่า หากต้องการจัดการการไม่มีการใช้งาน การประสานงานแบบคลาสสิกคือการกำหนดค่าที่แนะนำและได้รับการตรวจสอบความถูกต้องอย่างสมบูรณ์
ไม่รองรับเอเจนต์ที่เชื่อมต่อ: การไม่มีการตอบสนองของเอเจนต์ย่อย
ในการกำหนดค่าเอเจนต์ที่เชื่อมต่อ ทริกเกอร์การไม่มีการใช้งานในเอเจนต์ย่อยจะไม่ทำงานและส่งคืน "การตอบสนองของเอเจนต์ที่เชื่อมต่อไม่ถูกต้อง" ใส่ตรรกะการไม่มีการใช้งานทั้งหมดในเอเจนต์หลัก
ระยะเวลาสูงสุด: 7 วัน (604,800 วินาที)
บอทที่เผยแพร่จะละเว้นทริกเกอร์ที่มีระยะเวลานานกว่า 604,800 วินาทีโดยไม่มีข้อความแสดงข้อผิดพลาด ไม่มีข้อผิดพลาดปรากฏขึ้น ในโหมดออกแบบ อาจมีข้อผิดพลาดปรากฏขึ้น ไม่มีการกำหนดระยะเวลาขั้นต่ำ – ระยะเวลาสั้น (ต่ำกว่าประมาณ 15 วินาที) อาจมีพฤติกรรมไม่คาดเดาได้เนื่องจากความล่าช้าของระบบจับเวลา
เมื่อจบการสนทนา ระบบจะล้างตัวจับเวลาการไม่ใช้งาน
เมื่อคุณเรียกใช้ จบการสนทนา ในหัวข้อ ระบบ จะหยุดตัวจับเวลาการไม่ใช้งานที่ใช้งานอยู่ทั้งหมดสำหรับการสนทนานั้นอย่างถาวร ตัวจับเวลาจะถูกล้างทั้งหมดโดยจะไม่ถูกรีเซ็ตหรือหยุดชั่วคราว การดำเนินการนี้จะยกเลิกเหตุการณ์การไม่มีการใช้งานที่ถูกจัดกำหนดการไว้แล้วทั้งหมด
หากคุณต้องการจบโฟลว์ของหัวข้อ โดยไม่กระทบต่อตัวจับเวลาที่ไม่มีการใช้งาน ให้ใช้หนึ่งในตัวเลือกการดำเนินการแทน:
| การดำเนินการ (ใน Copilot Studio) | ผลกระทบต่อตัวจับเวลาการไม่ใช้งาน |
|---|---|
| จบการสนทนา | ลบตัวจับเวลาทั้งหมด; ตัวจับเวลาหยุดทำงานแบบถาวร |
| จบหัวข้อปัจจุบัน (EndDialog) | ไม่มีผลต่อตัวจับเวลา; ตัวจับเวลายังคงทำงานต่อไป |
| ยกเลิกหัวข้อทั้งหมด (CancelAllDialogs) | ไม่มีผลต่อตัวจับเวลา; ตัวจับเวลายังคงทำงานต่อไป |
เคล็ดลับ
หากหัวข้อของคุณต้องการปิดการทำงานในปัจจุบัน แต่คุณยังต้องการให้ตัวจับเวลาการไม่ใช้งานทำงานต่อไปในภายหลัง (เช่น หัวข้อค้นหา JIRA ที่เสร็จสิ้นแล้วแต่การสนทนายังคงต้องหมดเวลา) ให้ใช้ สิ้นสุดหัวข้อปัจจุบัน แทน จบการสนทนา
การใช้ตัวแปรป้องกันเพื่อป้องกันการปฏิเสธยังคงเป็น แนวทางปฏิบัติในการป้องกันที่แนะนำ
ทริกเกอร์จะทำงานหลังจากการเลื่อนระดับของเอเจนต์
หลังจากที่ระบบถ่ายโอนการสนทนาไปยังเจ้าหน้าที่บริการลูกค้าแล้ว ทริกเกอร์การไม่ใช้งานจะยังคงทำงานอยู่ อาจถูกเรียกใช้งานระหว่างการสนทนากับเอเจนต์และส่งข้อความถึงเอเจนต์โดยไม่คาดคิด เรียกใช้ฟังก์ชัน EndConversation ทุกครั้งก่อนโอน หรือใช้ตัวแปรป้องกัน
ข้อความจากทริกเกอร์อาจปรากฏในการถอดความหลังจากจบการสนทนา
แม้หลังจากจบการสนทนาแล้ว ทริกเกอร์อาจยังคงทำงานและข้อความจะถูกบันทึกไว้ในการถอดความ เงื่อนไขนี้ไม่ส่งผลต่อประสบการณ์ของผู้ใช้ แต่อาจปรากฏในการวิเคราะห์ข้อมูล
ช่องทางโทรศัพท์, ช่องทางสนทนาด้วยเสียง และ IVR
ทริกเกอร์การไม่ใช้งานไม่รองรับช่องทางโทรศัพท์และช่องทางเสียง ใช้ทริกเกอร์ OnSilence แทน
การกำหนดค่าผิดพลาดทั่วไป
ใช้ส่วนนี้เพื่อระบุและแก้ไขปัญหาการกำหนดค่าทั่วไปที่อาจป้องกันไม่ให้ทริกเกอร์การไม่มีการใช้งานทำงานตามที่คาดไว้
จบการสนทนาในหัวข้อที่ไม่มีการใช้งาน (ความเสี่ยงในการวนซ้ำ)
ปัญหา: เมื่อมีการเรียกใช้ จบการสนทนา จากหัวข้อที่ไม่มีการใช้งาน ตัวจับเวลาที่ไม่มีการใช้งานทั้งหมดจะถูกล้างออก อย่างไรก็ตาม ในช่องทางที่มีการสนทนาแบบต่อเนื่อง (โดยเฉพาะ Teams) เซสชันสนทนานั้นยังคงดำเนินต่อไป ในบางการตั้งค่า ทริกเกอร์อาจถูกเรียกใช้งานซ้ำ ส่งผลให้ข้อความ "สิ้นสุดเซสชัน" แสดงหลายครั้ง
วิธีแก้ไข (แนะนำให้เป็นแนวทางปฏิบัติในการป้องกัน): ใช้ตัวแปรป้องกัน:
สร้าง
Global.DeactivateInactivity(แบบบูลีน ค่าเริ่มต้น:false)ที่ส่วนต้นของทุกหัวข้อ inactivity ให้เพิ่มเงื่อนไข: ดำเนินการต่อเฉพาะเมื่อ
Global.DeactivateInactivity = falseตั้งค่า
Global.DeactivateInactivity = trueก่อน เรียก EndConversation
หมายเหตุ
รูปแบบตัวแปรยามมีความสำคัญเป็นพิเศษสำหรับช่องทาง Teams เนื่องจากรูปแบบการสนทนาแบบถาวรหมายความว่าการสนทนาไม่มีวันสิ้นสุดอย่างแท้จริง
การตั้งค่าระยะเวลาไม่ถูกต้อง
ปัญหา:durationInSeconds อยู่ในหน่วยวินาที ค่า 60000 ประมาณ 16.7 ชั่วโมง ไม่ใช่ 60 วินาที
วิธีแก้ไข: ตรวจสอบค่าของคุณอีกครั้งโดยเปรียบเทียบกับตารางอ้างอิงในส่วนที่ 3
โหนดคำถามในหัวข้อที่ไม่มีการตอบสนองหลายหัวข้อ (การซ้อนของพร้อมท์)
ปัญหา: หากทริกเกอร์หลายตัวแต่ละตัวมีโหนดคำถาม โหนดคำถามของทริกเกอร์ตัวที่สองจะขัดจังหวะโหนดคำถามของทริกเกอร์ตัวแรก เมื่อผู้ใช้ตอบ โหนด คำถาม แรกจะกลับมาดำเนินการและการพร้อมท์ใหม่ ซึ่งจะทำให้เกิดการวนลูปในการสนทนา
วิธีแก้ไข: ใช้รูปแบบหัวข้อที่ใช้ร่วมกัน รวมตรรกะการทำงานของโหนด คำถาม ไว้ในหัวข้อเดียว หรือให้แน่ใจว่ามีทริกเกอร์เพียงตัวเดียวเท่านั้นที่มีโหนด คำถาม
การล้างตัวแปรส่วนกลางในหัวข้อการไม่มีการใช้งาน
ปัญหา: หากหัวข้อการไม่มีการใช้งานล้างตัวแปรส่วนกลาง เอเจนต์จะสูญเสียบริบทการสนทนาทั้งหมดและปรากฏว่าไม่ตอบสนองเมื่อผู้ใช้กลับมา
วิธีแก้ไข: รีเซ็ตเฉพาะตัวแปรที่เกี่ยวข้องกับการไม่มีการใช้งาน ไม่ใช่สถานะการสนทนาทั้งหมด
ไม่กำหนดเงื่อนไขทริกเกอร์ที่ไม่มีการตอบสนองใน Teams
ปัญหา: ใน Teams โมเดลการสนทนาแบบถาวรทำให้ทริกเกอร์จะทำงานอย่างไม่มีกำหนด ผู้ใช้จะได้รับข้อความ "คุณยังอยู่ที่นั่นหรือไม่" ซ้ำๆ หลายชั่วโมงหรือหลายวันต่อมา
วิธีแก้ไข: ใช้รูปแบบตัวแปรกำหนดเงื่อนไขสำหรับ Teams เสมอ
ไม่ได้เรียกใช้ closeOmnichannelConversation
ปัญหา: สำหรับเอเจนต์ของ Dynamics 365 Customer Service การเรียก EndConversation เพียงอย่างเดียวจะไม่ปิดเซสชันของ Dynamics 365 Customer Service การสนทนาซ้อนกันในคิวของเอเจนต์
วิธีแก้ไข: ตั้งค่า CloseOmnichannelConversation เป็น true ผ่าน Power Automate ในหัวข้อเกี่ยวกับการไม่มีการใช้งานของคุณ
ระยะเวลาแบบไดนามิกจากตัวแปรที่ไม่ได้เริ่มต้น
ปัญหา: การใช้นิพจน์ Power Fx เช่น =Environment.InactivityTimeout สำหรับระยะเวลาใช้ได้ แต่ถ้าตัวแปรไม่ได้เริ่มต้นหรือเป็น null ทริกเกอร์จะไม่ทำงานโดยไม่มีการแจ้งเตือน
วิธีแก้ไข: ให้แน่ใจว่าตัวแปรทั้งหมดที่ใช้ในเงื่อนไขทริกเกอร์และการกำหนดระยะเวลามีค่าเริ่มต้นที่ถูกต้อง
ความคาดหวังเกี่ยวกับการทำงานของทริกเกอร์หลังการส่งต่อไปยังเอเจนต์
ปัญหา: หลังจากที่ระบบถ่ายโอนไปยังเจ้าหน้าที่บริการลูกค้า ทริกเกอร์ยังคงทำงานบนการสนทนาของเอเจนต์เดิมและส่งข้อความระหว่างเซสชันของเจ้าหน้าที่ที่เป็นมนุษย์
วิธีแก้ไข: ให้จบการสนทนาเอเจนต์เมื่อมีการยกระดับ หรือใช้ตัวแปรป้องกัน Global.IsEscalated = true และตรวจสอบที่จุดเริ่มต้นของหัวข้อการไม่มีการใช้งาน
การแก้ไขปัญหาเมื่อทริกเกอร์การไม่มีการใช้งานไม่ทำงาน
ใช้แผนผังการตัดสินใจนี้เพื่อวินิจฉัยปัญหา:
คุณทดสอบที่ไหน
- หากคุณกำลังใช้แผงทดสอบ ให้หยุด แผงทดสอบไม่รองรับทริกเกอร์การไม่มีการใช้งาน เผยแพร่และทดสอบบนช่องทางจริง
คุณใช้ช่องทางใดอยู่
- Microsoft 365 Copilot ใช่หรือไม่ ช่องทางนี้มีข้อจำกัดที่ทราบ ทริกเกอร์ทำงาน แต่ข้อความไม่ได้ถูกส่ง ไม่มีการแก้ไข
- โทรศัพท์/IVR? ช่องทางนี้ไม่ได้รับการสนับสนุน ใช้ทริกเกอร์ OnSilence แทน
การประสาย AI สร้างสรรค์เปิดใช้งานหรือไม่
- ทริกเกอร์การไม่ใช้งานใช้ไปป์ไลน์ตัวจับเวลาแยกต่างหากจากการกำหนดเส้นทางตามการจดจำ อย่างไรก็ตาม ลักษณะการทำงานของทริกเกอร์การไม่ใช้งานเมื่อใช้กับการประสานงาน AI สร้างสรรค์ยังไม่ได้รับการยืนยันอย่างครบถ้วน หากการจัดการการไม่มีการใช้งานเป็นสิ่งสำคัญ การประสานรวมแบบคลาสสิกคือการกำหนดค่าที่แนะนำ
durationInSecondsของคุณมากกว่า 604,800 หรือไม่- หากใช่ ทริกเกอร์จะถูกละเว้นโดยไม่แจ้งเตือน ปรับค่าลงเป็น 604,800 หรือต่ำกว่านั้น
เอเจนต์เป็นเอเจนต์ย่อยในการตั้งค่าเอเจนต์ที่เชื่อมต่อหรือไม่
- หากใช่ ทริกเกอร์ที่ไม่มีการตอบสนองของตัวแทนย่อยจะไม่ได้รับการสนับสนุน ย้ายตรรกะไปที่เอเจนต์หลัก
คุณมีทริกเกอร์การไม่ใช้งานหลายตัวหรือไม่
- ทริกเกอร์จะทำงานตามลำดับระยะเวลา (สั้นที่สุดก่อน) ตรวจสอบให้แน่ใจว่าคุณรอนานพอ ข้อความใด ๆ ของผู้ใช้จะรีเซ็ตตัวจับเวลาทั้งหมด
ทริกเกอร์มีเงื่อนไขที่อ้างอิงถึงตัวแปรที่ไม่ได้เริ่มต้นหรือไม่
- หากเงื่อนไขอ้างอิงตัวแปรที่ยังไม่ได้ตั้งค่า ทริกเกอร์จะถูกละเว้นโดยไม่มีการแจ้งเตือน ตรวจสอบให้แน่ใจว่าตัวแปรเงื่อนไขทั้งหมดมีค่าเริ่มต้น
เอเจนต์ได้รับการเผยแพร่ซ้ำหลังจากการสนทนาเริ่มต้นขึ้นหรือไม่?
- การเผยแพร่ใหม่อาจรีเซ็ตตัวจับเวลาการไม่ใช้งานของเซสชันที่ใช้งานอยู่ เริ่มการสนทนาใหม่และทดสอบอีกครั้ง
หากทริกเกอร์การไม่มีการใช้งานยังไม่ทำงาน ให้ลองใช้ตัวเลือกต่อไปนี้:
- ตรวจสอบการถอดความการสนทนาสำหรับกิจกรรมที่เกี่ยวกับหัวข้อที่ไม่มีการตอบสนอง หากหัวข้อปรากฏขึ้นแต่ผู้ใช้ไม่เห็นข้อความ แสดงว่าปัญหาเกิดจากการส่งเฉพาะช่องทาง
- ตรวจสอบว่าหัวข้อไม่ได้ถูกปิดใช้งานหรือเก็บถาวร
- ยืนยันว่าชนิดของทริกเกอร์คือ "หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง" ไม่ใช่ทริกเกอร์วลี
แนวทางปฏิบัติที่ดีที่สุด
ทดสอบในช่องทางที่เผยแพร่เสมอ ใช้เว็บไซต์สาธิตเพื่อการทดสอบอย่างรวดเร็ว อย่าพึ่งพาบานหน้าต่างทดสอบ
ใช้ตัวแปรป้องกันเพื่อป้องกันการเกิดลูป สร้าง
Global.DeactivateInactivity(แบบบูลีน, ค่าเริ่มต้นfalse) ตั้งค่าเป็นtrueก่อนเรียก EndConversation ตรวจสอบที่จุดเริ่มต้นของหัวข้อที่ไม่มีการตอบสนองทุกหัวข้อกำหนดระยะเวลาให้สมเหตุสมผล ขั้นต่ำ ~15 วินาที, สูงสุด 604,800 วินาที (7 วัน)
ตรวจสอบหน่วยของคุณ คุณสมบัตินี้ใช้หน่วยวินาที 5 นาที =
300ไม่ใช่5สำหรับ Dynamics 365 Customer Service: ให้จับคู่
EndConversationกับcloseOmnichannelConversationผ่าน Power Automate เสมอสำหรับสถานการณ์ที่มีหลายทริกเกอร์: จำกัดโหนด คำถาม ให้มีเพียงทริกเกอร์เดียว หรือใช้รูปแบบหัวข้อที่ใช้ร่วมกัน
เรียกใช้
EndConversationก่อนโอนไปยังเจ้าหน้าที่บริการลูกค้าเพื่อปิดใช้งานทริกเกอร์การไม่ใช้งานตรวจสอบการถอดความหลังการปรับใช้เพื่อยืนยันว่าข้อความปรากฏในเวลาที่คาดไว้
คำถามที่ถามบ่อย
เหตุใดทริกเกอร์การไม่ใช้งานจึงไม่ทำงานในแผงทดสอบ
ตัวจับเวลาถูกปิดใช้งานในแผงทดสอบโดยการออกแบบ เผยแพร่เอเจนต์ของคุณและทดสอบในช่องที่ใช้งานจริง
สามารถกำหนดระยะเวลาแบบไดนามิก (เช่น จากตัวแปร) ได้หรือไม่
ใช่ ฟิลด์ระยะเวลารองรับนิพจน์ Power Fx คุณสามารถใช้ตัวแปรสภาพแวดล้อมหรือค่าที่คำนวณได้ นิพจน์จะถูกประเมินผลขณะรันไทม์เมื่อตัวจับเวลาถูกตั้งค่าให้พร้อมทำงาน ตรวจสอบให้แน่ใจว่าตัวแปรได้รับการกำหนดค่าเริ่มต้นและมีค่าตัวเลขที่ถูกต้อง
จะเกิดอะไรขึ้นหากฉันเผยแพร่เอเจนต์เวอร์ชันใหม่ในขณะที่การสนทนากำลังดำเนินอยู่
รันไทม์เลือกเวอร์ชันใหม่ หากรหัสทริกเกอร์เปลี่ยนไป (หัวข้อถูกลบและสร้างใหม่) ระบบจะกลับไปจับคู่ตามระยะเวลา หากไม่มีทริกเกอร์ที่ตรงกับ ID หรือระยะเวลา เหตุการณ์การไม่ใช้งานที่ค้างอยู่จะถูกทิ้ง
ฉันจะหยุดทริกเกอร์การไม่ใช้งานใน Teams โดยสมบูรณ์ได้อย่างไร
คุณไม่สามารถหยุดทริกเกอร์เหล่านี้ในระดับแพลตฟอร์มได้ ใช้รูปแบบตัวแปรกำหนดเงื่อนไข: ตั้งค่าแบบบูลีนเมื่อการสนทนาจบลงอย่างมีเหตุผล และตรวจสอบในตอนเริ่มต้นของหัวข้อที่ไม่มีการตอบสนองเพื่อยุติการทำงานล่วงหน้า
ทริกเกอร์การไม่ใช้งานทำงานร่วมกับการรับรองความถูกต้องหรือไม่
ใช่ แต่สำหรับการหมดเวลาของเซสชันที่ยาวนาน (เช่น 24 ชั่วโมง) โทเค็นการรับรองความถูกต้องของผู้ใช้อาจหมดอายุก่อนที่ทริกเกอร์จะถูกเรียกใช้งาน ตรวจสอบให้แน่ใจว่าเอเจนต์ของคุณจัดการการรับรองความถูกต้องอีกครั้งอย่างราบรื่น
จะเกิดอะไรขึ้นหากหัวข้อการไม่มีการใช้งานของฉันเรียกตัวเชื่อมต่อที่ใช้เวลานาน
การเรียกตัวเชื่อมต่อมีขีดจำกัดการหมดเวลา (ค่าเริ่มต้น 30 วินาที สูงสุด 60 วินาที) ปรับปรุงประสิทธิภาพของตัวเชื่อมต่อหรือจัดการกับการหมดเวลาอย่างเหมาะสม
เนื้อหาที่เกี่ยวข้อง
- ตั้งค่าทริกเกอร์หัวข้อ
- ตัวแปรระบบ — InactivityTimer.Continue, InactivityTimer.Count
- ใช้ Power Fx ใน Copilot Studio
- กำหนดค่าการส่งต่อ Dynamics 365 Customer Service
- การกำหนดค่าเสียงและการตรวจจับความเงียบ
- ปรับใช้เอเจนต์ไปยัง Teams
- เอเจนต์ที่เชื่อมต่อ
- การถอดความการสนทนาใน Copilot Studio
- ปิดการสนทนาช่องทาง Omni โดยอัตโนมัติ
- ข้อจำกัดที่ทราบใน Microsoft 365 Copilot