Zoho Sales IQ
คุณสามารถเชื่อมต่อบริการ Agent เข้ากับ Zoho Sales IQ เพื่อให้ผู้ใช้ Zoho Sales IQ สามารถสื่อสารกับ Agent ผ่าน Zoho Sales IQ ได้
การเตรียมความพร้อม
ก่อนเริ่มการเชื่อมต่อ คุณจำเป็นต้องตั้งค่าพารามิเตอร์บางอย่างใน Zoho ซึ่งจะถูกนำมาใช้ในขั้นตอนการเชื่อมต่อกับ GPTBots
สร้าง Client ID
เข้าสู่ระบบ Zoho API Console
หมายเหตุ: หากบัญชีของคุณไม่ได้อยู่ในสหรัฐอเมริกา คุณต้องเปลี่ยนโดเมน ดูรายละเอียดได้ที่:
Data Center Developer Console US (United States) https://api-console.zoho.com/add EU(Europe) https://api-console.zoho.eu/add IN(India) http://api-console.zoho.in/add AU(Australia) http://api-console.zoho.com.au/add CN(China) http://api-console.zoho.com.cn/add JP(Japan) http://api-console.zoho.jp/add หากคุณมี Application ที่พร้อมใช้งานอยู่แล้ว ให้เข้าไปที่ Application นั้น คลิกที่ Client Secret และคัดลอก Client ID และ Client Secret ที่เกี่ยวข้อง ข้อมูลนี้จะถูกนำไปใช้ในการตั้งค่าการเชื่อมต่อกับ GPTBots

หากคุณยังไม่มี Application ให้คลิก ADD CLIENT ที่มุมขวาบน แล้วสร้าง Client ตามประเภทของแอปพลิเคชันที่ต้องการ


หากคุณสร้าง Application ใหม่ ให้กรอกชื่อโดเมนของบริการปัจจุบันในช่อง Homepage URL และในช่อง Authorized Redirect URIs ให้กรอกชื่อโดเมนของบริการปัจจุบัน + /api/console/bot/zoho/salesiq/redirect จากนั้นคลิก CREATE เมื่อสร้างสำเร็จ ระบบจะสร้าง Client ID และ Client Secret ให้โดยอัตโนมัติ กรุณาคัดลอก Client ID และ Client Secret เพื่อนำไปใช้ในการตั้งค่าการเชื่อมต่อกับ GPTBots

หมายเหตุ: Client ID 1 ชุด สามารถอนุญาตได้พร้อมกันสูงสุด 20 ครั้ง หากเกิน 20 ครั้ง การอนุญาต Zoho ของบอทที่ได้รับอนุญาตครั้งแรกจะถูกยกเลิก
การตั้งค่าการเชื่อมต่อ
เข้าสู่ระบบ GPTBots
เลือกองค์กร เลือก Agent ที่ต้องการ บันทึกเวอร์ชัน แล้วคลิก Publish เมื่อเผยแพร่สำเร็จ ให้คลิก Integrations

เลือก Zoho Sales IQ เป็นวิธีการเชื่อมต่อ

กรอกพารามิเตอร์ที่เกี่ยวข้องดังนี้
- Client ID และ Client Secret: จำเป็นต้องกรอก รับข้อมูลได้จากขั้นตอนการเตรียมความพร้อม
- Screen Name: จำเป็นต้องกรอก สามารถดูได้จากหน้าบัญชีที่เข้าสู่ระบบ ให้ใช้ path ตัวแรกหลังโดเมนเนม เช่น ในที่อยู่ https://salesiq.zoho.com/gptbos/mychats/000000000000003 Screen Name คือ gptbots
- Email: จำเป็นต้องกรอก คืออีเมลที่ผูกกับโปรไฟล์บัญชี Zoho
- Server Region: เลือกภูมิภาคของบัญชี Zoho
- Public Key: ไม่บังคับ หากคุณเปิดใช้งาน Secure your webhook ในการตั้งค่า webhook ภายหลัง ให้คลิก Integration ก่อน แล้วค่อยกลับมากรอก หากไม่ได้เปิดใช้งาน ไม่จำเป็นต้องกรอก

หลังจากคลิก Integration จะมีป๊อปอัพแสดงสถานะการอนุญาต ให้คลิก Accept

เมื่ออนุญาตสำเร็จ GPTBots จะสร้าง Webhook URL ให้โดยอัตโนมัติ จากนั้นให้ไปที่หน้า Setting

เข้าไปที่ Workflows - Data Workflows ตามลำดับ แล้วคลิก Add(View) ที่มุมขวาบน
คำอธิบาย: ในบัญชีบางเวอร์ชัน ทางเข้านี้จะแสดงเป็น Webhooks - Data modifications ซึ่งทำหน้าที่เหมือนกัน



กรอกเนื้อหา webhook ดังนี้
Brand: เลือกแบรนด์ที่จะรับ Workflows(Webhook)ต้องเป็นแบรนด์เดียวกับที่ผู้เยี่ยมชมใช้งานจริง ซึ่งก็คือแบรนด์เจ้าของโค้ดติดตั้งวิดเจ็ตที่คุณฝังไว้บนเว็บไซต์ หากเลือกแบรนด์ผิด อีเวนต์ที่เกิดจากการสนทนานั้นจะไม่ทริกเกอร์ Workflow นี้ ทำให้ GPTBots ไม่ได้รับข้อความเลย
Module: เลือก Conversation
URL to be invoked: กรอก Webhook URL ที่ได้จากหน้าตั้งค่าการเชื่อมต่อใน GPTBots กรุณาคัดลอกจากหน้าตั้งค่าการเชื่อมต่อโดยตรง อย่าคัดลอกที่อยู่จากสภาพแวดล้อมอื่น มิฉะนั้นข้อความจะถูกส่งไปยังอีกสภาพแวดล้อมหนึ่ง
Events: ต้องเลือกทั้ง
conversation.createdและconversation.visitor.repliedพร้อมกัน ขาดตัวใดตัวหนึ่งไม่ได้:conversation.created: แจ้ง GPTBots เมื่อมีการสร้างการสนทนาใหม่ GPTBots จะใช้อีเวนต์นี้ในการรับช่วง (pick up) การสนทนานั้นconversation.visitor.replied: การแจ้งเตือนสำหรับทุกข้อความถัดไปของผู้เยี่ยมชม เมื่อ GPTBots ประมวลผลอีเวนต์นี้จะตรวจสอบความเป็นเจ้าของการสนทนา หากยังไม่ได้รับช่วงการสนทนาเนื่องจากขาดconversation.createdข้อความถัดไปทั้งหมดของผู้เยี่ยมชมจะถูกทิ้ง
อีเวนต์ประเภทอื่น GPTBots จะไม่ประมวลผล ถึงเลือกไว้ก็ไม่มีผล
Action: เลือก Webhook
เมื่อกรอกเสร็จแล้วคลิก Create webhook

⚠️ หมายเหตุ: Webhook URL ในขั้นตอนนี้ต้องกรอก Webhook URL ที่สร้างจากหน้าตั้งค่าการเชื่อมต่อ เท่านั้น ซึ่งไม่ใช่ที่อยู่เดียวกันกับ callback URL ที่ใช้ในสถานการณ์ "บริการเจ้าหน้าที่ - Other to Zoho Sales IQ" (
/api/console/human/callback/zoho/salesiq/event) ทั้งสองมีวัตถุประสงค์ต่างกัน หากใช้สลับกันจะทำให้ข้อความถูกทิ้ง หากต้องใช้ทั้งสองสถานการณ์ กรุณาสร้าง Data Workflow แยกกันคนละรายการSecure your webhook: เป็นขั้นตอนเสริม คุณสามารถเลือกเปิดการตรวจสอบความปลอดภัยของ webhook (เพื่อยืนยันว่าเป็นคำขอจากแหล่งทางการ ไม่ใช่คำขอปลอม) หากเปิดใช้งาน ให้คลิกเพื่อสร้าง public key คัดลอก public key ที่มีเครื่องหมาย In Use แล้วนำไปกรอกในหน้าตั้งค่าการเชื่อมต่อ GPTBots

การสนทนากับบอทใน Zoho Sales IQ
หลังตั้งค่าการเชื่อมต่อสำเร็จแล้ว คุณสามารถสนทนากับบอทในบริการ Zoho ได้ทันที
คำถามที่พบบ่อย
1. ไม่สามารถสร้างการสนทนาได้ โดยมีข้อความแจ้ง Live chat has been disabled
เมื่อฟีเจอร์แชทสดของแบรนด์ที่เกี่ยวข้องฝั่ง Zoho ถูกปิดอยู่ Zoho จะปฏิเสธการสร้างการสนทนาและส่งกลับข้อผิดพลาดนี้ กรุณาตรวจสอบ:
- เข้าไปที่ Settings - Brands ตรวจสอบว่าสถานะของแบรนด์เป้าหมายเป็น Active (สวิตช์ด้านขวาสุดของรายการอยู่ในสถานะเปิด) หากแบรนด์ถูกปิดใช้งาน การสนทนาทั้งหมดภายใต้แบรนด์นั้นจะไม่สามารถสร้างได้;
- เข้าไปที่ Configurations - Channels ของแบรนด์นั้น ตรวจสอบว่าสวิตช์ Live chat เปิดอยู่;
- ตรวจสอบว่าแผนก (Department) ที่เลือกไม่ได้ถูกปิดใช้งาน
หากไม่พบสวิตช์ Live chat ใน Configurations โดยทั่วไปหมายความว่าความสามารถนี้ถูกปิดในระดับแพ็กเกจของบัญชี Zoho ต้องติดต่อฝ่ายสนับสนุนอย่างเป็นทางการของ Zoho เพื่อดำเนินการ
2. ส่งข้อความในวิดเจ็ต Zoho แล้วฝั่งคอนโซลเจ้าหน้าที่ Zoho ได้รับ แต่บอทไม่ตอบเลย
ทำความเข้าใจข้อเท็จจริงนี้ก่อน: เมื่อ GPTBots ได้รับ webhook จาก Zoho จะตอบกลับสำเร็จทันที แล้วค่อยประมวลผลแบบอะซิงโครนัส ดังนั้นแม้ข้อความจะถูกทิ้งในฝั่ง GPTBots ค่า Failures ในรายการ Data Workflows ของ Zoho ก็ยังคงเป็น 0 จึงใช้ Failures ตัดสินว่ามีปัญหาหรือไม่ไม่ได้ หลักฐานเดียวที่ใช้ตัดสินได้คือคอลัมน์ Last Triggered
ขั้นตอนที่ 1: ใช้ Last Triggered แยกแยะว่าปัญหาอยู่ฝั่งใด
เข้าไปที่ Settings - Workflows - Data Workflows หารายการที่ชี้ไปยัง Webhook URL ของการเชื่อมต่อ แล้วดูค่า Last Triggered โปรดทราบว่าคอลัมน์นี้แสดง เวลาตามโซนเวลาของบัญชี Zoho ซึ่งอาจต่างจากเวลาท้องถิ่นของคุณหลายชั่วโมง กรุณาแปลงเวลาก่อนเปรียบเทียบ
- ว่างเปล่า หรือไม่ตรงกับเวลาที่คุณเพิ่งส่งข้อความ → Zoho ไม่ได้ส่งคำขอออกมาเลย ปัญหาอยู่ฝั่ง Zoho (ดูข้อ A ด้านล่าง);
- ตรงกับเวลาที่เพิ่งส่งข้อความพอดี → คำขอถูกส่งออกแล้ว ปัญหาอยู่ที่เงื่อนไขการประมวลผลฝั่ง GPTBots (ดูข้อ B ด้านล่าง)
A. ฝั่ง Zoho: Workflow ไม่ถูกทริกเกอร์
สวิตช์ด้านขวาสุดของ Workflow นั้นอยู่ในสถานะ ENABLED (สีเขียว);
Brands ต้องรวมแบรนด์ที่ผู้เยี่ยมชมใช้งานจริง — เปิดการสนทนานั้น จะเห็นชื่อแบรนด์ที่การสนทนาสังกัดอยู่ด้านบนของหน้ารายละเอียดการสนทนา ให้ใช้ชื่อนี้เปรียบเทียบ นี่คือสาเหตุที่พบบ่อยที่สุด: วิดเจ็ตติดตั้งด้วยแบรนด์ A แต่ Workflow ผูกกับแบรนด์ B อีเวนต์จะไม่มีวันถูกทริกเกอร์;
Module เป็น
Conversation;Events รวมทั้ง
conversation.createdและconversation.visitor.repliedหมายเหตุ: Workflow ของสถานการณ์ "บริการเจ้าหน้าที่ - Other to Zoho Sales IQ" จะเลือก
conversation.operator.replied/conversation.completedซึ่งข้อความจากผู้เยี่ยมชมจะไม่ทริกเกอร์มัน การมี Workflow รายการนั้นอยู่แล้วไม่ได้หมายความว่าสถานการณ์การเชื่อมต่อจะใช้งานได้ ทั้งสองสถานการณ์ต้องมี Workflow ของตัวเองคนละรายการ
B. ฝั่ง GPTBots: ได้รับคำขอแล้วแต่ถูกทิ้ง
- ใช้ URL ผิดสถานการณ์: สถานการณ์การเชื่อมต่อคือ
/api/console/bot/integration/chat/zoho/salesiq/{clientId}ส่วนสถานการณ์บริการเจ้าหน้าที่คือ/api/console/human/callback/zoho/salesiq/eventหากกรอกสลับกัน ข้อความจะถูกทิ้งเพราะหาการตั้งค่าที่ตรงกันไม่พบ และฝั่ง Zoho ยังคงแสดงว่าสำเร็จ; - URL ชี้ไปยังสภาพแวดล้อมอื่น: ตรวจสอบว่าโดเมนตรงกับสภาพแวดล้อมที่คุณใช้งานอยู่ในปัจจุบัน;
- เปิด Secure your webhook แต่ไม่ได้กรอก Public Key: เมื่อเปิดใช้งาน Zoho จะเซ็นลายเซ็นทุก callback หาก Public Key ฝั่ง GPTBots ว่างเปล่า การตรวจสอบจะล้มเหลวและคำขอถูกทิ้งแน่นอน ในขั้นตอนดีบักแนะนำให้ปิดตัวเลือกนี้ก่อน;
- บอทยังไม่ได้เผยแพร่: ช่องทางการเชื่อมต่ออ่านจากเวอร์ชันที่เผยแพร่แล้ว หาก Agent ไม่เคยเผยแพร่เวอร์ชันเลย ข้อความจะถูกทิ้ง กรุณาบันทึกเวอร์ชันแล้วคลิก Publish ก่อน;
- การสนทนาถูกเจ้าหน้าที่คนอื่นรับช่วงไป: สถานการณ์การเชื่อมต่อกำหนดให้การสนทนาต้องเป็นของบัญชี Zoho ที่ตรงกับ Email ที่กรอกในการตั้งค่าการเชื่อมต่อ หากการสนทนาถูกเจ้าหน้าที่คนอื่นรับช่วงด้วยตนเอง ข้อความถัดไปของผู้เยี่ยมชมจะไม่ถูกส่งต่อให้บอทอีก;
- การอนุญาตหมดอายุ: กลับไปที่หน้าตั้งค่าการเชื่อมต่อของ GPTBots เพื่อยืนยันว่าสถานะการอนุญาตปกติ Client ID เดียวกันเมื่ออนุญาตสำเร็จเกิน 20 ครั้ง บอทที่ได้รับอนุญาตเก่าที่สุดจะถูกยกเลิก (ดูคำเตือนด้านบน) ต้องทำการอนุญาตใหม่
3. ฝั่ง Zoho ได้รับข้อความ แต่คำตอบของเจ้าหน้าที่ส่งกลับมาไม่ได้
นี่คืออาการ "การสื่อสารทางเดียว" แบบทั่วไป สาเหตุคือ Webhook ยังไม่มีผล กรุณาตรวจสอบ:
- เข้าไปที่ Settings - Workflows - Data Workflows ตรวจสอบว่าสถานะของ Workflow ที่เกี่ยวข้องเป็น ENABLED;
- ตรวจสอบว่า Brands ที่เลือกใน Workflow ตรงกับแบรนด์ที่ใช้งานจริง;
- ตรวจสอบว่า Events ได้เลือกอีเวนต์ที่จำเป็นแล้ว และ URL กรอกที่อยู่ของสถานการณ์ที่ตรงกัน (ที่อยู่ของสถานการณ์การเชื่อมต่อกับสถานการณ์บริการเจ้าหน้าที่ไม่เหมือนกัน ดูรายละเอียดในคำเตือนของขั้นตอนที่ 8 ด้านบน);
- ดูคอลัมน์ Last Triggered ในรายการ หากว่างเปล่าตลอดหรือเวลาไม่ตรงกับการสนทนาครั้งนี้ แสดงว่าอีเวนต์ไม่เคยถูกทริกเกอร์ กรุณากลับไปตรวจสอบการตั้งค่าข้างต้น คอลัมน์ Failures ใช้เป็นเกณฑ์ตัดสินไม่ได้ (เหตุผลดูในคำถามที่พบบ่อยข้อก่อนหน้า)
4. เปิด Secure your webhook แล้ว callback ล้มเหลว
เมื่อเปิดตัวเลือกนี้ Zoho จะแนบลายเซ็นในทุก callback หากฝั่ง GPTBots ไม่ได้กรอก Public Key ที่ตรงกัน การตรวจสอบลายเซ็นจะล้มเหลวและคำขอถูกปฏิเสธ กรุณาคัดลอก public key ที่มีเครื่องหมาย In Use จาก Zoho ไปกรอกในหน้าตั้งค่าการเชื่อมต่อของ GPTBots ในขั้นตอนดีบักสามารถปิดตัวเลือกนี้ชั่วคราวเพื่อตรวจสอบความเชื่อมโยงของระบบก่อนได้
