ส่งต่อให้บอท Salesforce Einstein

Note

บทความนี้อธิบายคุณสมบัติที่ใช้ในเอเจนต์หรือการไหลของเอเจนต์ที่ขับเคลื่อนโดยฮาร์เนสมาตรฐาน

บทความนี้อธิบายวิธีการสร้างและเชื่อมต่อ Salesforce Einstein Bot กับตัวแทน Copilot Studio โดยการรวมแพลตฟอร์มเหล่านี้คุณสามารถเพิ่มประสบการณ์ตัวแทนของคุณด้วยความสามารถที่รวมกันของทั้งสองอย่าง

ในรูปแบบการรวมนี้ Einstein Bot ทำหน้าที่เป็นส่วนหน้าและใช้ Copilot Studio เป็นกลไกการสำรองผ่านหัวข้อ 'ความสับสน' ของ Einstein แทนที่จะทำการจับคู่เจตนาระหว่างสองแพลตฟอร์ม Einstein Bot จะส่งคำถามของผู้ใช้ที่ไม่เข้าใจไปยัง Copilot Studio Copilot Studio ประมวลผลคิวรีและส่งกลับการตอบสนอง แบบจําลองคําขอ/การตอบสนองนี้หมายความว่า Copilot Studio ให้คําตอบที่ขับเคลื่อนด้วย AI ตามคิวรีของผู้ใช้

ไอน์สไตน์บอทควบคุมการส่งต่อจากเอเจนต์ไปยังตัวแทนสนทนาสด การดําเนินการนี้ไม่รับฟังเหตุการณ์การส่งต่องานจาก Copilot Studio คุณกําหนดค่าทริกเกอร์การเลื่อนระดับโดยตรงใน Einstein เพื่อกําหนดเส้นทางการสนทนาไปยังคิวของ Salesforce Omni-Channel

Prerequisites

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  • บัญชี Salesforce ที่เปิดใช้งาน Einstein Bots
  • บัญชีผู้ใช้ Copilot Studio
  • สิทธิ์ผู้ดูแลระบบหรือนักพัฒนาใน Salesforce และ Microsoft Power Platform

ขั้นตอนที่ 1: เรียกใช้ข้อมูลลับสายโดยตรงสําหรับตัวแทนของคุณ

  1. ใน Copilot Studio ให้เปิดเจ้าหน้าที่ของคุณและไปที่ การตั้งค่า
  2. เลือกความปลอดภัย>ความปลอดภัยของแชนเนลเว็บ
  3. ภายใต้ข้อมูลลับและโทเค็น คัดลอกข้อมูลลับ 1 หรือ ความลับ 2

สําคัญ

การรวมนี้สนับสนุนเฉพาะตัวแทน Copilot Studio ที่กําหนดค่าด้วย ไม่มีการรับรองความถูกต้อง แหล่งความรู้ที่ได้รับการรับรองความถูกต้อง เช่น SharePoint ไม่ได้รับการสนับสนุนด้วยวิธีนี้

Tip

การปรับใช้โดยอัตโนมัติ: ถ้าคุณมี Salesforce CLI ติดตั้งอยู่ คุณสามารถใช้ สคริปต์การปรับใช้อัตโนมัติ เพื่อทําตามขั้นตอนที่ 2 ถึง 5 ได้ หลังจากสคริปต์เสร็จสมบูรณ์ ให้ทําตามพร้อมท์เพื่อกําหนดค่าความลับของ Direct Line ของคุณ จากนั้นข้ามไปข้างหน้าไปยังขั้นตอนที่ 6: ตั้งค่า Einstein bot หากคุณต้องการกําหนดค่าด้วยตนเอง ให้ดําเนินการต่อในขั้นตอนที่ 2

ขั้นตอนที่ 2 กําหนดค่าการตั้งค่าไซต์ระยะไกลของ Salesforce

  1. ลงชื่อเข้าใช้ด้วยบัญชี Salesforce ของคุณ
  2. ไปยังตั้งค่า
  3. ในการค้นหาด่วน ให้ใส่ การตั้งค่าไซต์ระยะไกล จากนั้นเลือก การตั้งค่าไซต์ระยะไกล
  4. เพิ่มไซต์ระยะไกลใหม่ ใส่ DirectLine สําหรับชื่อไซต์ระยะไกล และใส่ https://directline.botframework.comURL ของไซต์ระยะไกล
  5. เลือก บันทึก

Note

สําหรับภูมิภาคอื่น ๆ ให้ใช้ URL ที่เหมาะสมสําหรับ DirectLine API ดู การอ้างอิง API ของสายโดยตรง สําหรับจุดสิ้นสุดระดับภูมิภาค

ขั้นตอนที่ 3: สร้าง Apex Classes เพื่อเชื่อมต่อกับ DirectLine API

  1. ใน Salesforce ไปที่การตั้งค่า

  2. ในการค้นหาด่วน ให้ใส่ ระดับ Apex

  3. สร้างคลาส Apex ต่อไปนี้โดยการคัดลอกรหัสต้นทางจาก ตัวอย่างการรวม Salesforce:

    • DL_GetConversation: เริ่มการสนทนาแบบ Direct Line ใหม่และส่งกลับconversationId
    • DL_PostActivity: ส่งข้อความของผู้ใช้ไปยังการสนทนาผ่าน DirectLine API
    • DL_GetActivity: เรียกใช้การตอบสนองของตัวแทนด้วยการหน่วงเวลาที่มีอยู่ภายใน และลองตรรกะใหม่สําหรับการจัดการการตอบกลับแบบอะซิงโครนัส

ขั้นตอนที่ 4: กําหนดค่าข้อมูลประจําตัวที่มีชื่อสําหรับการรับรองความถูกต้องที่ปลอดภัย

Microsoft แนะนำให้ใช้การรับรองที่ระบุชื่อนแทนการฝังข้อมูลลับในโค้ดในคลาส Apex ของคุณ ข้อมูลประจําตัวที่มีชื่อเป็นวิธีที่ปลอดภัยในการจัดเก็บข้อมูลลับ และจัดการและหมุนได้ง่ายขึ้นโดยไม่ต้องปรับเปลี่ยนโค้ด

สร้างข้อมูลประจําตัวภายนอก

  1. ในการตั้งค่า Salesforce ให้ค้นหา ข้อมูลประจําตัวที่มีชื่อ และเลือก ข้อมูลประจําตัวที่มีชื่อ
  2. เลือกแท็บ ข้อมูลประจําตัวภายนอก
  3. เลือก สร้าง และกําหนดค่า:
    • ฉลาก: Directline
    • ชื่อ: Directline
    • โพรโทคอลการรับรองความถูกต้อง: Custom
  4. เลือก บันทึก

สร้างตัวหลัก

  1. ในข้อมูลประจําตัวภายนอกที่คุณสร้างขึ้น ภายใต้ หลัก ให้เลือก ใหม่
  2. กําหนดค่า:
    • ชื่อพารามิเตอร์: Directline_Principal
    • หมายเลขลําดับ: 1
    • ชนิดข้อมูลประจําตัว: Named Principal
  3. เลือก บันทึก
  4. ภายใต้ พารามิเตอร์การรับรองความถูกต้อง เลือก เพิ่ม
  5. กําหนดค่า:
    • ชื่อ: Token
    • ค่า: ความลับสายโดยตรงของคุณจากขั้นตอนที่ 1
  6. เลือก บันทึก

สร้างส่วนหัวแบบกําหนดเอง

  1. ในข้อมูลประจําตัวภายนอก ภายใต้ส่วนหัวแบบกําหนดเอง ให้เลือก ใหม่
  2. กําหนดค่า:
    • ชื่อ: Authorization
    • ค่า: {!'Bearer ' & $Credential.Directline.Token}
    • หมายเลขลําดับ: 1
  3. เลือก บันทึก

สร้างข้อมูลประจําตัวที่มีชื่อ

  1. กลับไปยังแท็บข้อมูลประจําตัวที่มีชื่อ
  2. เลือก ใหม่>ข้อมูลรับรองที่ตั้งชื่อใหม่
  3. กําหนดค่า:
    • ฉลาก: Directline
    • ชื่อ: Directline
    • URL: https://directline.botframework.com
    • เปิดใช้งานสำหรับคำอธิบาย: เลือกแล้ว
    • ข้อมูลประจําตัวภายนอก: เลือก Directline
    • สร้างหัวข้อการอนุญาต: ไม่ได้เลือก
    • อนุญาตให้ใช้สูตรในส่วนหัว HTTP: เลือก
  4. เลือก บันทึก

ขั้นตอนที่ 5: ให้สิทธิ์แก่บอท

Einstein Bots จําเป็นต้องมีชุดสิทธิ์เฉพาะเพื่อเข้าถึงคลาส Apex และข้อมูลประจําตัวภายนอก คุณต้องอนุญาตให้บอทเข้าถึงคอมโพเนนต์ที่คุณสร้างขึ้น

อนุญาตการเข้าถึงคลาส Apex

  1. ใน การตั้งค่า Salesforce ให้ค้นหา ชุดสิทธิ์ และเลือก ชุดสิทธิ์
  2. ค้นหาและเลือกชุดสิทธิ์ Chatbot (ชื่อ API: sfdc_chatbot_service_permset)
  3. เลือกการเข้าถึงคลาส Apex>แก้ไข
  4. เพิ่มคลาสต่อไปนี้:
    • DL_GetConversation
    • DL_PostActivity
    • DL_GetActivity
  5. เลือก บันทึก

ให้สิทธิ์การเข้าถึงข้อมูลประจําตัวหลักภายนอก

  1. ในชุดสิทธิ์ Chatbot ให้เลือกแก้ไข>ข้อมูลประจําตัวหลักภายนอก
  2. เพิ่มDirectline - Directline_Principal
  3. เลือก บันทึก

ขั้นตอนที่ 6: ตั้งค่า Einstein bot

  1. ใน Salesforce ไปที่การตั้งค่า
  2. ในการค้นหาด่วน ป้อน Einstein และเลือก Einstein Bots
  3. สร้าง Einstein bot ใหม่โดยทําตามคําแนะนําในเอกสาร Salesforce Einstein

ขั้นตอนที่ 7: เชื่อมต่อ Einstein Bot ไปยัง Copilot Studio

ใน Einstein Bot กําหนดค่ากล่องโต้ตอบสองรายการเพื่อเชื่อมต่อกับ Copilot Studio: กล่องโต้ตอบ ยินดีต้อนรับ จะเริ่มการสนทนาแบบ Direct Line กล่องโต้ตอบ ที่สับสน ส่งต่อข้อความผู้ใช้ที่ไม่รู้จักไปยัง Copilot Studio และส่งกลับการตอบสนอง

กําหนดค่ากล่องโต้ตอบยินดีต้อนรับ

กล่องโต้ตอบยินดีต้อนรับจะเริ่มต้นการสนทนาทางสายตรงเมื่อผู้ใช้เริ่มการสนทนา

  1. ในกล่องโต้ตอบยินดีต้อนรับ ให้เพิ่มขั้นตอน ข้อความ ทักทาย (ไม่บังคับ)

  2. เพิ่มขั้นตอน การดําเนินการ ด้วยประเภทการดําเนินการ Apex และชื่อการดําเนินการ เริ่มการสนทนา DirectLine (DL_GetConversation)

  3. แมป รหัสการสนทนา ขาออกไปยังตัวแปร (ตัวอย่างเช่น ConversationID) ตัวแปรนี้ถูกใช้โดยการดําเนินการที่ตามมาในกล่องโต้ตอบที่สับสน

  4. ตั้งค่า ขั้นตอนถัดไป ไปยังเมนูหลักหรือกล่องโต้ตอบการสนทนาของคุณ

    ตัวสร้าง Bot Einstein ที่แสดงโฟลว์กล่องโต้ตอบยินดีต้อนรับด้วยข้อความทักทาย เริ่มการดําเนินการการสนทนา DirectLine และขั้นตอนถัดไปไปยังเมนูหลัก

แผงคุณสมบัติขั้นตอนแสดงการแมปตัวแปรสําหรับการดําเนินการเริ่มการสนทนา DirectLine:

  • อินพุต: ข้อมูลประจําตัวที่มีชื่อ: ตั้งค่าเป็น Directline (ข้อมูลประจําตัวที่มีชื่อจากขั้นตอนที่ 4)
  • ผลลัพธ์:
    • ID การสนทนา: ConversationID (ข้อความ): ใช้ในการดำเนินการของกล่องโต้ตอบ Confused
    • รหัสการตอบสนอง: responseCode (หมายเลข): รหัสสถานะ HTTP
    • ข้อความแสดงข้อผิดพลาด: errorMessage (ข้อความ): รายละเอียดข้อผิดพลาดถ้าการเรียกใช้ล้มเหลว

Tip

เพิ่มขั้นตอน เงื่อนไข หลังจากการดําเนินการนี้เพื่อตรวจสอบ responseCode ตัวแปร ถ้าค่าไม่ใช่ 200จะแสดงข้อความแสดงข้อผิดพลาดเพื่อช่วยในการวินิจฉัยปัญหาการเชื่อมต่อระหว่างการตั้งค่า

แผงคุณสมบัติขั้นตอนแสดงการดําเนินการเริ่มการสนทนา DirectLine ด้วยข้อมูลป้อนเข้าข้อมูลประจําตัวที่ชื่อและเอาท์พุท ID การสนทนาที่แมปกับตัวแปร

กำหนดค่ากล่องโต้ตอบ Confused

กล่องโต้ตอบที่สับสนจัดการข้อความผู้ใช้ใดๆ ที่ Einstein ไม่เข้าใจ ส่งต่อไปยัง Copilot Studio

  1. เพิ่มขั้นตอน การดําเนินการ ด้วย ประเภทการดําเนินการ Apex และ ชื่อการดําเนินการ โพสต์ข้อความไปยัง Copilot Studio (DL_PostActivity)

    • ข้อมูลป้อนเข้า:
      • ข้อความของผู้ใช้: [System] Last Customer Input (จําเป็น)
      • ID การสนทนา: ConversationID ตัวแปรจากกล่องโต้ตอบยินดีต้อนรับ (จําเป็น)
      • ชื่อผู้ใช้รหัสผู้ใช้ข้อมูลประจําตัวที่ตั้งชื่อ: ไม่บังคับ
    • ผลลัพธ์:
      • รหัสการตอบสนอง (responseCode) [หมายเลข]
      • ข้อความแสดงข้อผิดพลาด (errorMessage) [ข้อความ]
      • ลายน้ํา (watermark) [ข้อความ]: ส่งผ่านไปยังการดําเนินการถัดไป

    แผงคุณสมบัติขั้นตอนแสดงการดําเนินการโพสต์ข้อความไปยัง Copilot Studio ด้วยอินพุตทั้งหมด (ข้อความผู้ใช้, รหัสการสนทนา) และเอาต์พุต (รหัสการตอบสนอง, ข้อความแสดงข้อผิดพลาด, ลายน้ํา) ที่แมปกับตัวแปร

  2. เพิ่มขั้นตอน การดําเนินการ ด้วย ประเภทการดําเนินการ Apex และ ชื่อการดําเนินการ รับ การตอบสนองของ Copilot Studio (DL_GetActivity)

    • ข้อมูลป้อนเข้า:
      • รหัสการสนทนา: ConversationIDตัวแปร (จําเป็น)
      • ลายน้ํา: watermarkตัวแปรจากการดําเนินการก่อนหน้า
      • การลองใหม่สูงสุด: 5 (ค่าเริ่มต้น)
      • การหน่วงเวลาเริ่มต้น (วินาที): 5 (ค่าเริ่มต้น)
      • ข้อมูลประจำตัวที่ระบุชื่อ: Directline
    • ผลลัพธ์:
      • รหัสการตอบกลับ: responseCode (ตัวเลข)
      • ข้อความ: mcsResponse (ข้อความ): การตอบสนองของตัวแทน Copilot Studio
      • ข้อความแสดงข้อผิดพลาด: errorMessage (ข้อความ)
      • ลายน้ำ: อัปเดตลายน้ำสําหรับการเรียกใช้ในภายหลัง
      • มีข้อความเพิ่มเติม: (บูลีน): ระบุว่ามีข้อความเพิ่มเติมหรือไม่
      • เป็นการเพิกถอนตัวแทน: (บูลีน): บ่งชี้ว่า Copilot Studio กําลังร้องขอการเพิกถอนตัวแทนหรือไม่

    แผงคุณสมบัติขั้นตอนแสดงการดําเนินการรับการตอบสนองของ Copilot Studio พร้อมการป้อนข้อมูล Id การสนทนาและลายน้ํา และผลลัพธ์ของข้อความที่ถูกแมปไปยัง mcsResponse

Note

คลาส DL_GetActivity จะประกอบด้วยการหน่วงเวลาที่มีอยู่ภายในและลองตรรกะใหม่เพื่อจัดการการตอบสนองแบบอะซิงโครนัสจาก Copilot Studio ตามค่าเริ่มต้น จะรอ 5 วินาทีก่อนการพยายามครั้งแรกและลองอีกครั้งสูงสุดห้าครั้ง คุณสามารถกําหนดลักษณะการทํางานนี้ได้โดยใช้พารามิเตอร์ตัวเลือก delaySeconds และ maxRetries พารามิเตอร์การป้อนข้อมูล

  1. เพิ่มขั้นตอน ข้อความ เพื่อแสดงการตอบกลับไปยังผู้ใช้โดยใช้ mcsResponse ตัวแปร
  2. ตั้งค่า ขั้นตอนถัดไป เพื่อ รอให้ลูกค้าป้อนข้อมูล เพื่อให้ลูปการสนทนาดําเนินต่อ

โฟลว์กล่องโต้ตอบสับสนที่เสร็จสมบูรณ์มีลักษณะดังนี้:

Einstein Bot Builder ที่แสดงโฟลว์กล่องโต้ตอบที่สับสน: โพสต์ข้อความไปยังการดําเนินการ Copilot Studio, รับการดําเนินการการตอบสนอง Copilot Studio, ข้อความตอบสนอง และรอการป้อนข้อมูลของลูกค้า

ขั้นตอนที่ 8: จัดการการส่งต่อเอเจนต์

หากต้องการเปิดใช้งานการเลื่อนระดับของตัวแทนสด ให้กําหนดค่าทริกเกอร์การเลื่อนระดับโดยตรงใน Einstein Bot ของคุณ เมื่อใช้การกําหนดค่านี้ คุณสามารถกําหนดเส้นทางผู้ใช้ของคุณไปยังคิว Omni-Channel Salesforce ที่เหมาะสมเมื่อพวกเขาต้องการความช่วยเหลือของมนุษย์

สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือ Salesforce กำหนดเส้นทางการสนทนาจากบอทที่ได้รับการปรับปรุง