หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
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: เรียกใช้ข้อมูลลับสายโดยตรงสําหรับตัวแทนของคุณ
- ใน Copilot Studio ให้เปิดเจ้าหน้าที่ของคุณและไปที่ การตั้งค่า
- เลือกความปลอดภัย>ความปลอดภัยของแชนเนลเว็บ
- ภายใต้ข้อมูลลับและโทเค็น คัดลอกข้อมูลลับ 1 หรือ ความลับ 2
สําคัญ
การรวมนี้สนับสนุนเฉพาะตัวแทน Copilot Studio ที่กําหนดค่าด้วย ไม่มีการรับรองความถูกต้อง แหล่งความรู้ที่ได้รับการรับรองความถูกต้อง เช่น SharePoint ไม่ได้รับการสนับสนุนด้วยวิธีนี้
Tip
การปรับใช้โดยอัตโนมัติ: ถ้าคุณมี Salesforce CLI ติดตั้งอยู่ คุณสามารถใช้ สคริปต์การปรับใช้อัตโนมัติ เพื่อทําตามขั้นตอนที่ 2 ถึง 5 ได้ หลังจากสคริปต์เสร็จสมบูรณ์ ให้ทําตามพร้อมท์เพื่อกําหนดค่าความลับของ Direct Line ของคุณ จากนั้นข้ามไปข้างหน้าไปยังขั้นตอนที่ 6: ตั้งค่า Einstein bot หากคุณต้องการกําหนดค่าด้วยตนเอง ให้ดําเนินการต่อในขั้นตอนที่ 2
ขั้นตอนที่ 2 กําหนดค่าการตั้งค่าไซต์ระยะไกลของ Salesforce
- ลงชื่อเข้าใช้ด้วยบัญชี Salesforce ของคุณ
- ไปยังตั้งค่า
- ในการค้นหาด่วน ให้ใส่ การตั้งค่าไซต์ระยะไกล จากนั้นเลือก การตั้งค่าไซต์ระยะไกล
- เพิ่มไซต์ระยะไกลใหม่ ใส่ DirectLine สําหรับชื่อไซต์ระยะไกล และใส่ https://directline.botframework.comURL ของไซต์ระยะไกล
- เลือก บันทึก
Note
สําหรับภูมิภาคอื่น ๆ ให้ใช้ URL ที่เหมาะสมสําหรับ DirectLine API ดู การอ้างอิง API ของสายโดยตรง สําหรับจุดสิ้นสุดระดับภูมิภาค
ขั้นตอนที่ 3: สร้าง Apex Classes เพื่อเชื่อมต่อกับ DirectLine API
ใน Salesforce ไปที่การตั้งค่า
ในการค้นหาด่วน ให้ใส่ ระดับ Apex
สร้างคลาส Apex ต่อไปนี้โดยการคัดลอกรหัสต้นทางจาก ตัวอย่างการรวม Salesforce:
-
DL_GetConversation: เริ่มการสนทนาแบบ Direct Line ใหม่และส่งกลับconversationId -
DL_PostActivity: ส่งข้อความของผู้ใช้ไปยังการสนทนาผ่าน DirectLine API -
DL_GetActivity: เรียกใช้การตอบสนองของตัวแทนด้วยการหน่วงเวลาที่มีอยู่ภายใน และลองตรรกะใหม่สําหรับการจัดการการตอบกลับแบบอะซิงโครนัส
-
ขั้นตอนที่ 4: กําหนดค่าข้อมูลประจําตัวที่มีชื่อสําหรับการรับรองความถูกต้องที่ปลอดภัย
Microsoft แนะนำให้ใช้การรับรองที่ระบุชื่อนแทนการฝังข้อมูลลับในโค้ดในคลาส Apex ของคุณ ข้อมูลประจําตัวที่มีชื่อเป็นวิธีที่ปลอดภัยในการจัดเก็บข้อมูลลับ และจัดการและหมุนได้ง่ายขึ้นโดยไม่ต้องปรับเปลี่ยนโค้ด
สร้างข้อมูลประจําตัวภายนอก
- ในการตั้งค่า Salesforce ให้ค้นหา ข้อมูลประจําตัวที่มีชื่อ และเลือก ข้อมูลประจําตัวที่มีชื่อ
- เลือกแท็บ ข้อมูลประจําตัวภายนอก
- เลือก สร้าง และกําหนดค่า:
-
ฉลาก:
Directline -
ชื่อ:
Directline -
โพรโทคอลการรับรองความถูกต้อง:
Custom
-
ฉลาก:
- เลือก บันทึก
สร้างตัวหลัก
- ในข้อมูลประจําตัวภายนอกที่คุณสร้างขึ้น ภายใต้ หลัก ให้เลือก ใหม่
- กําหนดค่า:
-
ชื่อพารามิเตอร์:
Directline_Principal -
หมายเลขลําดับ:
1 -
ชนิดข้อมูลประจําตัว:
Named Principal
-
ชื่อพารามิเตอร์:
- เลือก บันทึก
- ภายใต้ พารามิเตอร์การรับรองความถูกต้อง เลือก เพิ่ม
- กําหนดค่า:
-
ชื่อ:
Token - ค่า: ความลับสายโดยตรงของคุณจากขั้นตอนที่ 1
-
ชื่อ:
- เลือก บันทึก
สร้างส่วนหัวแบบกําหนดเอง
- ในข้อมูลประจําตัวภายนอก ภายใต้ส่วนหัวแบบกําหนดเอง ให้เลือก ใหม่
- กําหนดค่า:
-
ชื่อ:
Authorization -
ค่า:
{!'Bearer ' & $Credential.Directline.Token} -
หมายเลขลําดับ:
1
-
ชื่อ:
- เลือก บันทึก
สร้างข้อมูลประจําตัวที่มีชื่อ
- กลับไปยังแท็บข้อมูลประจําตัวที่มีชื่อ
- เลือก ใหม่>ข้อมูลรับรองที่ตั้งชื่อใหม่
- กําหนดค่า:
-
ฉลาก:
Directline -
ชื่อ:
Directline -
URL:
https://directline.botframework.com - เปิดใช้งานสำหรับคำอธิบาย: เลือกแล้ว
-
ข้อมูลประจําตัวภายนอก: เลือก
Directline - สร้างหัวข้อการอนุญาต: ไม่ได้เลือก
- อนุญาตให้ใช้สูตรในส่วนหัว HTTP: เลือก
-
ฉลาก:
- เลือก บันทึก
ขั้นตอนที่ 5: ให้สิทธิ์แก่บอท
Einstein Bots จําเป็นต้องมีชุดสิทธิ์เฉพาะเพื่อเข้าถึงคลาส Apex และข้อมูลประจําตัวภายนอก คุณต้องอนุญาตให้บอทเข้าถึงคอมโพเนนต์ที่คุณสร้างขึ้น
อนุญาตการเข้าถึงคลาส Apex
- ใน การตั้งค่า Salesforce ให้ค้นหา ชุดสิทธิ์ และเลือก ชุดสิทธิ์
- ค้นหาและเลือกชุดสิทธิ์ Chatbot (ชื่อ API:
sfdc_chatbot_service_permset) - เลือกการเข้าถึงคลาส Apex>แก้ไข
- เพิ่มคลาสต่อไปนี้:
DL_GetConversationDL_PostActivityDL_GetActivity
- เลือก บันทึก
ให้สิทธิ์การเข้าถึงข้อมูลประจําตัวหลักภายนอก
- ในชุดสิทธิ์ Chatbot ให้เลือกแก้ไข>ข้อมูลประจําตัวหลักภายนอก
- เพิ่ม
Directline - Directline_Principal - เลือก บันทึก
ขั้นตอนที่ 6: ตั้งค่า Einstein bot
- ใน Salesforce ไปที่การตั้งค่า
- ในการค้นหาด่วน ป้อน Einstein และเลือก Einstein Bots
- สร้าง Einstein bot ใหม่โดยทําตามคําแนะนําในเอกสาร Salesforce Einstein
ขั้นตอนที่ 7: เชื่อมต่อ Einstein Bot ไปยัง Copilot Studio
ใน Einstein Bot กําหนดค่ากล่องโต้ตอบสองรายการเพื่อเชื่อมต่อกับ Copilot Studio: กล่องโต้ตอบ ยินดีต้อนรับ จะเริ่มการสนทนาแบบ Direct Line กล่องโต้ตอบ ที่สับสน ส่งต่อข้อความผู้ใช้ที่ไม่รู้จักไปยัง Copilot Studio และส่งกลับการตอบสนอง
กําหนดค่ากล่องโต้ตอบยินดีต้อนรับ
กล่องโต้ตอบยินดีต้อนรับจะเริ่มต้นการสนทนาทางสายตรงเมื่อผู้ใช้เริ่มการสนทนา
ในกล่องโต้ตอบยินดีต้อนรับ ให้เพิ่มขั้นตอน ข้อความ ทักทาย (ไม่บังคับ)
เพิ่มขั้นตอน การดําเนินการ ด้วยประเภทการดําเนินการ Apex และชื่อการดําเนินการ เริ่มการสนทนา DirectLine (
DL_GetConversation)แมป รหัสการสนทนา ขาออกไปยังตัวแปร (ตัวอย่างเช่น
ConversationID) ตัวแปรนี้ถูกใช้โดยการดําเนินการที่ตามมาในกล่องโต้ตอบที่สับสนตั้งค่า ขั้นตอนถัดไป ไปยังเมนูหลักหรือกล่องโต้ตอบการสนทนาของคุณ
แผงคุณสมบัติขั้นตอนแสดงการแมปตัวแปรสําหรับการดําเนินการเริ่มการสนทนา DirectLine:
-
อินพุต: ข้อมูลประจําตัวที่มีชื่อ: ตั้งค่าเป็น
Directline(ข้อมูลประจําตัวที่มีชื่อจากขั้นตอนที่ 4) -
ผลลัพธ์:
-
ID การสนทนา:
ConversationID(ข้อความ): ใช้ในการดำเนินการของกล่องโต้ตอบ Confused -
รหัสการตอบสนอง:
responseCode(หมายเลข): รหัสสถานะ HTTP -
ข้อความแสดงข้อผิดพลาด:
errorMessage(ข้อความ): รายละเอียดข้อผิดพลาดถ้าการเรียกใช้ล้มเหลว
-
ID การสนทนา:
Tip
เพิ่มขั้นตอน เงื่อนไข หลังจากการดําเนินการนี้เพื่อตรวจสอบ responseCode ตัวแปร ถ้าค่าไม่ใช่ 200จะแสดงข้อความแสดงข้อผิดพลาดเพื่อช่วยในการวินิจฉัยปัญหาการเชื่อมต่อระหว่างการตั้งค่า
กำหนดค่ากล่องโต้ตอบ Confused
กล่องโต้ตอบที่สับสนจัดการข้อความผู้ใช้ใดๆ ที่ Einstein ไม่เข้าใจ ส่งต่อไปยัง Copilot Studio
เพิ่มขั้นตอน การดําเนินการ ด้วย ประเภทการดําเนินการ Apex และ ชื่อการดําเนินการ โพสต์ข้อความไปยัง Copilot Studio (
DL_PostActivity)-
ข้อมูลป้อนเข้า:
-
ข้อความของผู้ใช้:
[System] Last Customer Input(จําเป็น) -
ID การสนทนา:
ConversationIDตัวแปรจากกล่องโต้ตอบยินดีต้อนรับ (จําเป็น) - ชื่อผู้ใช้รหัสผู้ใช้ข้อมูลประจําตัวที่ตั้งชื่อ: ไม่บังคับ
-
ข้อความของผู้ใช้:
-
ผลลัพธ์:
-
รหัสการตอบสนอง (
responseCode) [หมายเลข] -
ข้อความแสดงข้อผิดพลาด (
errorMessage) [ข้อความ] -
ลายน้ํา (
watermark) [ข้อความ]: ส่งผ่านไปยังการดําเนินการถัดไป
-
รหัสการตอบสนอง (
-
ข้อมูลป้อนเข้า:
เพิ่มขั้นตอน การดําเนินการ ด้วย ประเภทการดําเนินการ Apex และ ชื่อการดําเนินการ รับ การตอบสนองของ Copilot Studio (
DL_GetActivity)-
ข้อมูลป้อนเข้า:
-
รหัสการสนทนา:
ConversationIDตัวแปร (จําเป็น) -
ลายน้ํา:
watermarkตัวแปรจากการดําเนินการก่อนหน้า -
การลองใหม่สูงสุด:
5(ค่าเริ่มต้น) -
การหน่วงเวลาเริ่มต้น (วินาที):
5(ค่าเริ่มต้น) -
ข้อมูลประจำตัวที่ระบุชื่อ:
Directline
-
รหัสการสนทนา:
-
ผลลัพธ์:
-
รหัสการตอบกลับ:
responseCode(ตัวเลข) -
ข้อความ:
mcsResponse(ข้อความ): การตอบสนองของตัวแทน Copilot Studio -
ข้อความแสดงข้อผิดพลาด:
errorMessage(ข้อความ) - ลายน้ำ: อัปเดตลายน้ำสําหรับการเรียกใช้ในภายหลัง
- มีข้อความเพิ่มเติม: (บูลีน): ระบุว่ามีข้อความเพิ่มเติมหรือไม่
- เป็นการเพิกถอนตัวแทน: (บูลีน): บ่งชี้ว่า Copilot Studio กําลังร้องขอการเพิกถอนตัวแทนหรือไม่
-
รหัสการตอบกลับ:
-
ข้อมูลป้อนเข้า:
Note
คลาส DL_GetActivity จะประกอบด้วยการหน่วงเวลาที่มีอยู่ภายในและลองตรรกะใหม่เพื่อจัดการการตอบสนองแบบอะซิงโครนัสจาก Copilot Studio ตามค่าเริ่มต้น จะรอ 5 วินาทีก่อนการพยายามครั้งแรกและลองอีกครั้งสูงสุดห้าครั้ง คุณสามารถกําหนดลักษณะการทํางานนี้ได้โดยใช้พารามิเตอร์ตัวเลือก delaySeconds และ maxRetries พารามิเตอร์การป้อนข้อมูล
- เพิ่มขั้นตอน ข้อความ เพื่อแสดงการตอบกลับไปยังผู้ใช้โดยใช้
mcsResponseตัวแปร - ตั้งค่า ขั้นตอนถัดไป เพื่อ รอให้ลูกค้าป้อนข้อมูล เพื่อให้ลูปการสนทนาดําเนินต่อ
โฟลว์กล่องโต้ตอบสับสนที่เสร็จสมบูรณ์มีลักษณะดังนี้:
ขั้นตอนที่ 8: จัดการการส่งต่อเอเจนต์
หากต้องการเปิดใช้งานการเลื่อนระดับของตัวแทนสด ให้กําหนดค่าทริกเกอร์การเลื่อนระดับโดยตรงใน Einstein Bot ของคุณ เมื่อใช้การกําหนดค่านี้ คุณสามารถกําหนดเส้นทางผู้ใช้ของคุณไปยังคิว Omni-Channel Salesforce ที่เหมาะสมเมื่อพวกเขาต้องการความช่วยเหลือของมนุษย์
สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือ Salesforce กำหนดเส้นทางการสนทนาจากบอทที่ได้รับการปรับปรุง