ทริกเกอร์การไม่ใช้งาน

เรียนรู้วิธีกำหนดค่าทริกเกอร์การไม่ใช้งาน พร้อมคำแนะนำเกี่ยวกับการตั้งค่า การสนับสนุนช่องทาง ข้อจำกัด และการแก้ไขปัญหา

ภาพรวม

ทริกเกอร์การไม่ใช้งาน หรือที่เรียกว่า OnInactivity หรือ ผู้ใช้ไม่ได้ใช้งานมาระยะหนึ่งแล้ว เป็นทริกเกอร์ระบบใน Copilot Studio ที่จะเรียกใช้หัวข้อโดยอัตโนมัติเมื่อผู้ใช้ไม่ส่งข้อความใด ๆ ตามระยะเวลาที่กำหนด มันทำงานฝั่งเซิร์ฟเวอร์ ดังนั้นเอเจนต์จะประเมินตัวจับเวลาและดำเนินการหัวข้อแม้ว่าไคลเอ็นต์ของผู้ใช้จะไม่ได้ใช้งานก็ตาม

กรณีการใช้งานทั่วไปรวมถึง:

  • ส่งข้อความเตือนเพื่อสอบถามว่าผู้ใช้ยังอยู่หรือไม่
  • เพิ่มประสิทธิภาพการทำงานของเอเจนต์ด้วยการปิดการสนทนาที่ไม่ได้ใช้งานโดยอัตโนมัติ
  • รวบรวมคำติชม (ตัวอย่างเช่น แบบสอบถามความพึงพอใจของลูกค้า) ก่อนสิ้นสุดเซสชัน
  • ล้างสถานะเซสชันสำหรับการสนทนาที่ถูกละทิ้ง

วิธีการทำงานของทริกเกอร์ที่ไม่มีการตอบสนอง

ส่วนนี้อธิบายวิธีที่ Copilot Studio ประเมินทริกเกอร์การไม่มีการใช้งาน จัดกำหนดการตัวจับเวลา และเรียกใช้หัวข้อเมื่อการสนทนาไม่ได้ใช้งาน

ภาพรวมสถาปัตยกรรม

  1. ผู้ใช้ส่งข้อความ

  2. ระบบรันไทม์จะทำการตรวจสอบทริกเกอร์ OnInactivity ทั้งหมด

  3. รันไทม์จัดกลุ่มทริกเกอร์ตามช่วงระยะเวลาและเลือกหนึ่งทริกเกอร์ในแต่ละช่วงระยะเวลา ตัวเลขลำดับความสำคัญต่ำที่สุดจะชนะ หากตัวเลขเท่ากัน ให้ตัดสินด้วยวันที่สร้างที่เก่าที่สุด

  4. รันไทม์จะเรียงลำดับทริกเกอร์ที่เลือกตามระยะเวลา โดยสั้นที่สุดก่อน

  5. รันไทม์ตั้งค่าตัวจับเวลาสำหรับทริกเกอร์ถัดไปใน Azure Service Bus มีตัวจับเวลาทำงานอยู่เพียงตัวเดียวในแต่ละครั้ง

  6. ผู้ใช้อยู่ในสถานะไม่ใช้งานตามระยะเวลาที่กำหนด

  7. จับเวลาหมดลง และเหตุการณ์ที่ไม่มีการใช้งานจะถูกส่งไปยังรันไทม์

  8. รันไทม์จับคู่และเรียกใช้งานหัวข้อสถานะไม่ใช้งาน

  9. รันไทม์จะคำนวณเวลาที่เหลือจนถึงทริกเกอร์ถัดไปและตั้งค่าตัวจับเวลาใหม่

ลักษณะการทำงานที่สำคัญ

  • ตัวจับเวลาจะรีเซ็ตทุกครั้งที่ผู้ใช้ส่งข้อความ

    ทุกครั้งที่ผู้ใช้ส่งข้อความ ระบบจะประเมินทริกเกอร์การไม่ใช้งานทั้งหมดใหม่ และจะตั้งค่าทริกเกอร์ถัดไปที่มีระยะเวลาสั้นที่สุดก่อน จะมีตัวจับเวลาทำงานอยู่เพียงตัวเดียวในแต่ละช่วงเวลา

  • รองรับทริกเกอร์หลายตัว

    คุณสามารถมีทริกเกอร์ 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 เริ่ม ตั้งค่าใหม่ และเรียกใช้ตัวจับเวลาการไม่ใช้งาน เพื่อให้คุณสามารถคาดการณ์ว่าจะเกิดอะไรขึ้นเมื่อการสนทนาไม่ได้ใช้งาน

สร้างหัวข้อทริกเกอร์การไม่ใช้งาน

  1. ใน Copilot Studio ไปที่ หัวข้อ>จากหัวข้อ>จากว่างเปล่า

  2. เลือกข้อความทริกเกอร์ แทนที่จะใช้ข้อความ ให้เลือก "หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง"

  3. ตั้งค่าคุณสมบัติ ช่วงเวลาที่ไม่ได้ใช้งาน ในโหมด ป้อนข้อมูลด้วยตนเอง ให้เลือกค่าที่ตั้งไว้ล่วงหน้าจากเมนูแบบเลื่อนลง (15 นาที, 30 นาที, 45 นาที หรือ 1 ชั่วโมง) เมื่อต้องการป้อนค่าแบบกำหนดเองเป็นวินาทีหรือสูตร Power Fx (เช่น Global.TimeoutSeconds) ให้สลับตัวเลือกโหมดเป็น สูตร และพิมพ์ค่าโดยตรง

  4. ออกแบบโฟลว์หัวข้อ (ส่งข้อความ ถามคำถาม จบการสนทนา และอื่นๆ)

  5. บันทึกและเผยแพร่เอเจนต์ของคุณ

การอ้างอิงระยะเวลา

การหมดเวลาที่ต้องการ ค่า (วินาที)
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
  • การดำเนินการ:
    1. ตั้งค่า Global.DeactivateInactivity = true (ตัวแปรป้องกัน - ดูแนวทางปฏิบัติที่ดีที่สุด)
    2. ส่งข้อความ: "การสนทนานี้จะสิ้นสุดลงเนื่องจากไม่มีการใช้งาน"
    3. จบการสนทนา

ตัวอย่าง: การรวบรวมความคิดเห็น

  • ทริกเกอร์: หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง:
  • durationInSeconds: 120
  • การดำเนินการ:
    1. ถาม: "ก่อนที่คุณจะไป ช่วยให้คะแนนประสบการณ์ของคุณได้ไหม (1-5)"
    2. เก็บการตอบ
    3. จบการสนทนา

เพิ่มเงื่อนไขให้กับทริกเกอร์

เพิ่มโหนด เงื่อนไข ทันทีหลังจากทริกเกอร์เพื่อให้ทำงานเฉพาะในบางสถานการณ์:

  • ทำงานเฉพาะบนช่องทางที่กำหนด: =Activity.ChannelId = "msteams"
  • ทำงานเฉพาะเมื่อยังไม่ได้ตั้งค่าตัวแปรป้องกัน: =Global.DeactivateInactivity = false

หากคุณมีทริกเกอร์หลายตัวที่มีโหนด คำถาม ให้ใช้ หัวข้อที่แชร์ เพื่อหลีกเลี่ยงปัญหาการซ้อนบทสนทนา:

  1. สร้างหัวข้อร่วมชื่อ HandleInactivity:

    • เพิ่มตัวแปรร่วม Global.InactivityStage (ข้อความ)
    • ตรวจสอบค่า:
      • "warning" → ส่งข้อความเตือนผ่านโหนด คำถาม ("ดำเนินการต่อหรือไม่" / "จบหรือไม่")
      • "close" → ส่งข้อความปิดและจบการสนทนา
  2. ทริกเกอร์ OnInactivity ครั้งแรก (300 วินาที):

    • ตั้งค่า Global.InactivityStage = "warning"
    • เปลี่ยนเส้นทางไปยัง HandleInactivity
  3. ทริกเกอร์ 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 ที่แนะนำ:

  1. สร้างตัวแปรส่วนกลาง Global.IsConversationClosed (แบบบูลีน, ค่าเริ่มต้น: false)

  2. ที่เริ่มต้นของหัวข้อที่ไม่มีการใช้งาน ให้ตรวจสอบ: If Global.IsConversationClosed = true → สิ้นสุดหัวข้อ (ออกทันที)

  3. เมื่อการสนทนาสิ้นสุดลงอย่างมีเหตุผล (เช่น ผู้ใช้กล่าวว่า "ลาก่อน" หรือการประเมินความพึงพอใจของลูกค้าเสร็จสิ้น เป็นต้น) ให้ตั้งค่า Global.IsConversationClosed = true

  4. ทริกเกอร์การไม่ใช้งานอาจยังคงทำงาน แต่จะออกทันทีโดยไม่แสดงข้อความ

การกำหนดค่า 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) เซสชันสนทนานั้นยังคงดำเนินต่อไป ในบางการตั้งค่า ทริกเกอร์อาจถูกเรียกใช้งานซ้ำ ส่งผลให้ข้อความ "สิ้นสุดเซสชัน" แสดงหลายครั้ง

วิธีแก้ไข (แนะนำให้เป็นแนวทางปฏิบัติในการป้องกัน): ใช้ตัวแปรป้องกัน:

  1. สร้าง Global.DeactivateInactivity (แบบบูลีน ค่าเริ่มต้น: false)

  2. ที่ส่วนต้นของทุกหัวข้อ inactivity ให้เพิ่มเงื่อนไข: ดำเนินการต่อเฉพาะเมื่อ Global.DeactivateInactivity = false

  3. ตั้งค่า 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 และตรวจสอบที่จุดเริ่มต้นของหัวข้อการไม่มีการใช้งาน

การแก้ไขปัญหาเมื่อทริกเกอร์การไม่มีการใช้งานไม่ทำงาน

ใช้แผนผังการตัดสินใจนี้เพื่อวินิจฉัยปัญหา:

  1. คุณทดสอบที่ไหน

    • หากคุณกำลังใช้แผงทดสอบ ให้หยุด แผงทดสอบไม่รองรับทริกเกอร์การไม่มีการใช้งาน เผยแพร่และทดสอบบนช่องทางจริง
  2. คุณใช้ช่องทางใดอยู่

    • Microsoft 365 Copilot ใช่หรือไม่ ช่องทางนี้มีข้อจำกัดที่ทราบ ทริกเกอร์ทำงาน แต่ข้อความไม่ได้ถูกส่ง ไม่มีการแก้ไข
    • โทรศัพท์/IVR? ช่องทางนี้ไม่ได้รับการสนับสนุน ใช้ทริกเกอร์ OnSilence แทน
  3. การประสาย AI สร้างสรรค์เปิดใช้งานหรือไม่

    • ทริกเกอร์การไม่ใช้งานใช้ไปป์ไลน์ตัวจับเวลาแยกต่างหากจากการกำหนดเส้นทางตามการจดจำ อย่างไรก็ตาม ลักษณะการทำงานของทริกเกอร์การไม่ใช้งานเมื่อใช้กับการประสานงาน AI สร้างสรรค์ยังไม่ได้รับการยืนยันอย่างครบถ้วน หากการจัดการการไม่มีการใช้งานเป็นสิ่งสำคัญ การประสานรวมแบบคลาสสิกคือการกำหนดค่าที่แนะนำ
  4. durationInSeconds ของคุณมากกว่า 604,800 หรือไม่

    • หากใช่ ทริกเกอร์จะถูกละเว้นโดยไม่แจ้งเตือน ปรับค่าลงเป็น 604,800 หรือต่ำกว่านั้น
  5. เอเจนต์เป็นเอเจนต์ย่อยในการตั้งค่าเอเจนต์ที่เชื่อมต่อหรือไม่

    • หากใช่ ทริกเกอร์ที่ไม่มีการตอบสนองของตัวแทนย่อยจะไม่ได้รับการสนับสนุน ย้ายตรรกะไปที่เอเจนต์หลัก
  6. คุณมีทริกเกอร์การไม่ใช้งานหลายตัวหรือไม่

    • ทริกเกอร์จะทำงานตามลำดับระยะเวลา (สั้นที่สุดก่อน) ตรวจสอบให้แน่ใจว่าคุณรอนานพอ ข้อความใด ๆ ของผู้ใช้จะรีเซ็ตตัวจับเวลาทั้งหมด
  7. ทริกเกอร์มีเงื่อนไขที่อ้างอิงถึงตัวแปรที่ไม่ได้เริ่มต้นหรือไม่

    • หากเงื่อนไขอ้างอิงตัวแปรที่ยังไม่ได้ตั้งค่า ทริกเกอร์จะถูกละเว้นโดยไม่มีการแจ้งเตือน ตรวจสอบให้แน่ใจว่าตัวแปรเงื่อนไขทั้งหมดมีค่าเริ่มต้น
  8. เอเจนต์ได้รับการเผยแพร่ซ้ำหลังจากการสนทนาเริ่มต้นขึ้นหรือไม่?

    • การเผยแพร่ใหม่อาจรีเซ็ตตัวจับเวลาการไม่ใช้งานของเซสชันที่ใช้งานอยู่ เริ่มการสนทนาใหม่และทดสอบอีกครั้ง

หากทริกเกอร์การไม่มีการใช้งานยังไม่ทำงาน ให้ลองใช้ตัวเลือกต่อไปนี้:

  • ตรวจสอบการถอดความการสนทนาสำหรับกิจกรรมที่เกี่ยวกับหัวข้อที่ไม่มีการตอบสนอง หากหัวข้อปรากฏขึ้นแต่ผู้ใช้ไม่เห็นข้อความ แสดงว่าปัญหาเกิดจากการส่งเฉพาะช่องทาง
  • ตรวจสอบว่าหัวข้อไม่ได้ถูกปิดใช้งานหรือเก็บถาวร
  • ยืนยันว่าชนิดของทริกเกอร์คือ "หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง" ไม่ใช่ทริกเกอร์วลี

แนวทางปฏิบัติที่ดีที่สุด

  • ทดสอบในช่องทางที่เผยแพร่เสมอ ใช้เว็บไซต์สาธิตเพื่อการทดสอบอย่างรวดเร็ว อย่าพึ่งพาบานหน้าต่างทดสอบ

  • ใช้ตัวแปรป้องกันเพื่อป้องกันการเกิดลูป สร้าง 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 วินาที) ปรับปรุงประสิทธิภาพของตัวเชื่อมต่อหรือจัดการกับการหมดเวลาอย่างเหมาะสม