Zoho Sales IQ

Zoho Sales IQ

คุณสามารถเชื่อมต่อบริการ Agent เข้ากับ Zoho Sales IQ เพื่อให้ผู้ใช้ Zoho Sales IQ สามารถสื่อสารกับ Agent ผ่าน Zoho Sales IQ ได้

การเตรียมความพร้อม

ก่อนเริ่มการเชื่อมต่อ คุณจำเป็นต้องตั้งค่าพารามิเตอร์บางอย่างใน Zoho ซึ่งจะถูกนำมาใช้ในขั้นตอนการเชื่อมต่อกับ GPTBots

สร้าง Client ID

  1. เข้าสู่ระบบ Zoho API Console

    หมายเหตุ: หากบัญชีของคุณไม่ได้อยู่ในสหรัฐอเมริกา คุณต้องเปลี่ยนโดเมน ดูรายละเอียดได้ที่:

  2. หากคุณมี Application ที่พร้อมใช้งานอยู่แล้ว ให้เข้าไปที่ Application นั้น คลิกที่ Client Secret และคัดลอก Client ID และ Client Secret ที่เกี่ยวข้อง ข้อมูลนี้จะถูกนำไปใช้ในการตั้งค่าการเชื่อมต่อกับ GPTBots

    image-20250507153254209

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

    image-20250507153127149

    image-20250507153459912

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

    image-20250507160039517

หมายเหตุ: Client ID 1 ชุด สามารถอนุญาตได้พร้อมกันสูงสุด 20 ครั้ง หากเกิน 20 ครั้ง การอนุญาต Zoho ของบอทที่ได้รับอนุญาตครั้งแรกจะถูกยกเลิก

การตั้งค่าการเชื่อมต่อ

  1. เข้าสู่ระบบ GPTBots

  2. เลือกองค์กร เลือก Agent ที่ต้องการ บันทึกเวอร์ชัน แล้วคลิก Publish เมื่อเผยแพร่สำเร็จ ให้คลิก Integrations

    image-20250225121541516

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

    image-20250507163753173

  4. กรอกพารามิเตอร์ที่เกี่ยวข้องดังนี้

    • 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 ก่อน แล้วค่อยกลับมากรอก หากไม่ได้เปิดใช้งาน ไม่จำเป็นต้องกรอก

    image-20250507164140213

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

    image-20250507165858728

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

    image-20250507172323517

  7. เข้าไปที่ Workflows - Data Workflows ตามลำดับ แล้วคลิก Add(View) ที่มุมขวาบน

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

    alt text

    alt text

    alt text

  8. กรอกเนื้อหา 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

    alt text

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

  9. Secure your webhook: เป็นขั้นตอนเสริม คุณสามารถเลือกเปิดการตรวจสอบความปลอดภัยของ webhook (เพื่อยืนยันว่าเป็นคำขอจากแหล่งทางการ ไม่ใช่คำขอปลอม) หากเปิดใช้งาน ให้คลิกเพื่อสร้าง public key คัดลอก public key ที่มีเครื่องหมาย In Use แล้วนำไปกรอกในหน้าตั้งค่าการเชื่อมต่อ GPTBots

    image-20250507173308438

การสนทนากับบอทใน Zoho Sales IQ

หลังตั้งค่าการเชื่อมต่อสำเร็จแล้ว คุณสามารถสนทนากับบอทในบริการ Zoho ได้ทันที
image-20250507182819135

คำถามที่พบบ่อย

1. ไม่สามารถสร้างการสนทนาได้ โดยมีข้อความแจ้ง Live chat has been disabled

เมื่อฟีเจอร์แชทสดของแบรนด์ที่เกี่ยวข้องฝั่ง Zoho ถูกปิดอยู่ Zoho จะปฏิเสธการสร้างการสนทนาและส่งกลับข้อผิดพลาดนี้ กรุณาตรวจสอบ:

  1. เข้าไปที่ Settings - Brands ตรวจสอบว่าสถานะของแบรนด์เป้าหมายเป็น Active (สวิตช์ด้านขวาสุดของรายการอยู่ในสถานะเปิด) หากแบรนด์ถูกปิดใช้งาน การสนทนาทั้งหมดภายใต้แบรนด์นั้นจะไม่สามารถสร้างได้;
  2. เข้าไปที่ Configurations - Channels ของแบรนด์นั้น ตรวจสอบว่าสวิตช์ Live chat เปิดอยู่;
  3. ตรวจสอบว่าแผนก (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 ไม่ถูกทริกเกอร์

  1. สวิตช์ด้านขวาสุดของ Workflow นั้นอยู่ในสถานะ ENABLED (สีเขียว);

  2. Brands ต้องรวมแบรนด์ที่ผู้เยี่ยมชมใช้งานจริง — เปิดการสนทนานั้น จะเห็นชื่อแบรนด์ที่การสนทนาสังกัดอยู่ด้านบนของหน้ารายละเอียดการสนทนา ให้ใช้ชื่อนี้เปรียบเทียบ นี่คือสาเหตุที่พบบ่อยที่สุด: วิดเจ็ตติดตั้งด้วยแบรนด์ A แต่ Workflow ผูกกับแบรนด์ B อีเวนต์จะไม่มีวันถูกทริกเกอร์;

  3. Module เป็น Conversation;

  4. Events รวมทั้ง conversation.created และ conversation.visitor.replied

    หมายเหตุ: Workflow ของสถานการณ์ "บริการเจ้าหน้าที่ - Other to Zoho Sales IQ" จะเลือก conversation.operator.replied / conversation.completed ซึ่งข้อความจากผู้เยี่ยมชมจะไม่ทริกเกอร์มัน การมี Workflow รายการนั้นอยู่แล้วไม่ได้หมายความว่าสถานการณ์การเชื่อมต่อจะใช้งานได้ ทั้งสองสถานการณ์ต้องมี Workflow ของตัวเองคนละรายการ

B. ฝั่ง GPTBots: ได้รับคำขอแล้วแต่ถูกทิ้ง

  1. ใช้ URL ผิดสถานการณ์: สถานการณ์การเชื่อมต่อคือ /api/console/bot/integration/chat/zoho/salesiq/{clientId} ส่วนสถานการณ์บริการเจ้าหน้าที่คือ /api/console/human/callback/zoho/salesiq/event หากกรอกสลับกัน ข้อความจะถูกทิ้งเพราะหาการตั้งค่าที่ตรงกันไม่พบ และฝั่ง Zoho ยังคงแสดงว่าสำเร็จ;
  2. URL ชี้ไปยังสภาพแวดล้อมอื่น: ตรวจสอบว่าโดเมนตรงกับสภาพแวดล้อมที่คุณใช้งานอยู่ในปัจจุบัน;
  3. เปิด Secure your webhook แต่ไม่ได้กรอก Public Key: เมื่อเปิดใช้งาน Zoho จะเซ็นลายเซ็นทุก callback หาก Public Key ฝั่ง GPTBots ว่างเปล่า การตรวจสอบจะล้มเหลวและคำขอถูกทิ้งแน่นอน ในขั้นตอนดีบักแนะนำให้ปิดตัวเลือกนี้ก่อน;
  4. บอทยังไม่ได้เผยแพร่: ช่องทางการเชื่อมต่ออ่านจากเวอร์ชันที่เผยแพร่แล้ว หาก Agent ไม่เคยเผยแพร่เวอร์ชันเลย ข้อความจะถูกทิ้ง กรุณาบันทึกเวอร์ชันแล้วคลิก Publish ก่อน;
  5. การสนทนาถูกเจ้าหน้าที่คนอื่นรับช่วงไป: สถานการณ์การเชื่อมต่อกำหนดให้การสนทนาต้องเป็นของบัญชี Zoho ที่ตรงกับ Email ที่กรอกในการตั้งค่าการเชื่อมต่อ หากการสนทนาถูกเจ้าหน้าที่คนอื่นรับช่วงด้วยตนเอง ข้อความถัดไปของผู้เยี่ยมชมจะไม่ถูกส่งต่อให้บอทอีก;
  6. การอนุญาตหมดอายุ: กลับไปที่หน้าตั้งค่าการเชื่อมต่อของ GPTBots เพื่อยืนยันว่าสถานะการอนุญาตปกติ Client ID เดียวกันเมื่ออนุญาตสำเร็จเกิน 20 ครั้ง บอทที่ได้รับอนุญาตเก่าที่สุดจะถูกยกเลิก (ดูคำเตือนด้านบน) ต้องทำการอนุญาตใหม่

3. ฝั่ง Zoho ได้รับข้อความ แต่คำตอบของเจ้าหน้าที่ส่งกลับมาไม่ได้

นี่คืออาการ "การสื่อสารทางเดียว" แบบทั่วไป สาเหตุคือ Webhook ยังไม่มีผล กรุณาตรวจสอบ:

  1. เข้าไปที่ Settings - Workflows - Data Workflows ตรวจสอบว่าสถานะของ Workflow ที่เกี่ยวข้องเป็น ENABLED;
  2. ตรวจสอบว่า Brands ที่เลือกใน Workflow ตรงกับแบรนด์ที่ใช้งานจริง;
  3. ตรวจสอบว่า Events ได้เลือกอีเวนต์ที่จำเป็นแล้ว และ URL กรอกที่อยู่ของสถานการณ์ที่ตรงกัน (ที่อยู่ของสถานการณ์การเชื่อมต่อกับสถานการณ์บริการเจ้าหน้าที่ไม่เหมือนกัน ดูรายละเอียดในคำเตือนของขั้นตอนที่ 8 ด้านบน);
  4. ดูคอลัมน์ Last Triggered ในรายการ หากว่างเปล่าตลอดหรือเวลาไม่ตรงกับการสนทนาครั้งนี้ แสดงว่าอีเวนต์ไม่เคยถูกทริกเกอร์ กรุณากลับไปตรวจสอบการตั้งค่าข้างต้น คอลัมน์ Failures ใช้เป็นเกณฑ์ตัดสินไม่ได้ (เหตุผลดูในคำถามที่พบบ่อยข้อก่อนหน้า)

4. เปิด Secure your webhook แล้ว callback ล้มเหลว

เมื่อเปิดตัวเลือกนี้ Zoho จะแนบลายเซ็นในทุก callback หากฝั่ง GPTBots ไม่ได้กรอก Public Key ที่ตรงกัน การตรวจสอบลายเซ็นจะล้มเหลวและคำขอถูกปฏิเสธ กรุณาคัดลอก public key ที่มีเครื่องหมาย In Use จาก Zoho ไปกรอกในหน้าตั้งค่าการเชื่อมต่อของ GPTBots ในขั้นตอนดีบักสามารถปิดตัวเลือกนี้ชั่วคราวเพื่อตรวจสอบความเชื่อมโยงของระบบก่อนได้