Auto Reply (ตอบกลับอัตโนมัติ)
หน้า "Auto Reply" ("Configure automated responses for LINE") เลือกโหมดการตอบกลับได้ 3 แบบ:
- Off: ปิดการตอบกลับอัตโนมัติ
- AI Chatbot: ตอบด้วย AI
- Static Flows: ตอบด้วย Flow/กฎที่ออกแบบเอง
โหมด Static Flows:
- กดปุ่ม "New Flow" เพื่อสร้าง Flow ใหม่ (เลือกจากเทมเพลต หรือ "Start from scratch")
- กำหนดชนิดทริกเกอร์ (Trigger): Keyword, Follow, Postback, Beacon, Rich Menu
- ค้นหา/กรอง Flow ได้ด้วยช่องค้นหาและปุ่ม "Filters" (Status / Trigger type / Tags)
- เมนู (⋯) บนการ์ด Flow: Edit, Activate/Deactivate, Duplicate, Export JSON, Manage Tags, Delete
ระบบจับคู่ข้อความเป็นลำดับชั้น: (1) Keyword ตรงตัว → (2) Fuzzy (สะกดผิด) → (3) Semantic (ความหมาย) → (4) Node-level → (5) AI Fallback ตั้งค่าได้ที่ส่วน "AI Fallback (Layer 3)" เช่น Classification Model, Confidence Threshold, Batch Window
หากไม่มี Flow ที่เปิดใช้งาน จะมีคำเตือน "No active flows. Create and publish a flow for auto-replies to work."

Flow Editor (ออกแบบ Flow)
เมื่อเปิด Flow จะเข้าสู่ตัวแก้ไขแบบ Node-based (ลากเชื่อมโหนด)
- แถบบน: แก้ชื่อ Flow ได้โดยคลิก, ป้ายสถานะ (active/inactive/draft), ปุ่ม Schedule, Import, Export, Save, และ Publish (สีเขียว) / Deactivate
- Schedule Panel: กำหนดช่วงแคมเปญ (From/To), Timezone, ช่วงเวลาในวัน (Active hours) และวันในสัปดาห์ (Mon–Sun)
- Canvas: เพิ่มโหนดจากแผง (Message, Condition, Action, Input, API Call, Integration, AI Agent, Go To Flow) แล้วลากเส้นเชื่อม คลิกโหนดเพื่อแก้ไขค่าในแผงด้านขวา
- บันทึกด้วย Save แล้ว Publish เพื่อเปิดใช้งาน

Trigger log (บันทึกการทำงาน)
หน้า "Trigger event log" ใช้ตรวจสอบเหตุการณ์การตอบกลับอัตโนมัติ (debug/audit)
- ปุ่ม "Refresh" รีเฟรชรายการ
- ตัวกรอง: Flow, Layer (
L1 keyword/L2 semantic/L3 AI fallback), Event type (Triggered/Completed/Expired/Cancelled/Escalated), Line User ID - ตาราง: Time | Flow | Event | Layer | Confidence | Decided by | Entry node | Bot reply | User | Nodes | Duration
- คลิกที่แถวเพื่อดูรายละเอียดด้านขวา (ข้อความผู้ใช้, โหนดที่เข้า, ผู้ตัดสิน, คำตอบบอท ฯลฯ)

Test / Sandbox (ทดสอบการตอบกลับ)
หน้า "Test / Sandbox" ใช้ทดลองการตอบกลับอัตโนมัติแบบ dry-run ("Type a sample customer message to dry-run the auto-reply cascade. Nothing is sent to a real user."): ไม่มีการส่งข้อความถึงผู้ใช้จริง
ทดสอบทีละข้อความ:
- พิมพ์ข้อความลูกค้าตัวอย่างในช่อง "พิมพ์ข้อความลูกค้าตัวอย่าง..." (หรือกดข้อความตัวอย่างหลัง "Try:")
- กดปุ่ม "Simulate" ระบบจะแสดงว่าข้อความนี้ตรงกับ Layer/Flow ใด
ทดสอบเป็นชุด (Batch dry-run):
- ในกล่อง "Batch dry-run" พิมพ์ข้อความ 1 บรรทัดต่อ 1 ข้อความ (หรือกด "Seed from low-confidence" เพื่อดึงข้อความที่บอทเคยไม่มั่นใจมาทดสอบ)
- กดปุ่ม "Run batch (decision-only)" เพื่อดูว่าข้อความแต่ละบรรทัดเข้า Layer/Flow ใด (โหมด decision-only ฟรี ไม่เรียก LLM)
- ติ๊ก "Run full LLM/RAG (generate replies)" หากต้องการให้สร้างคำตอบจริงด้วย AI
หมายเหตุ: Sandbox จำลองการทักครั้งแรก (first-contact) ของผู้ใช้ใหม่ ผู้ใช้ที่กำลังสนทนาอยู่จริงอาจได้คำตอบต่างออกไป

Knowledge Base (คลังความรู้)
หน้า "Knowledge Base" ("อัปโหลดเอกสารเพื่อให้ AI Agent ใช้ตอบคำถาม")
- กดปุ่ม "อัปโหลดเอกสาร" เพื่อเปิดหน้าต่างอัปโหลด
- ลากไฟล์มาวาง หรือคลิก "คลิกเพื่อเลือกไฟล์ (เลือกได้หลายไฟล์)"
- รองรับ PDF, DOCX, TXT ขนาดสูงสุด 20 MB ต่อไฟล์ (อัปโหลดพร้อมกันได้สูงสุด 3 ไฟล์)
- ตรวจรายการไฟล์ที่เลือก (ระบบแสดงข้อผิดพลาดหากชนิดไฟล์ไม่รองรับหรือไฟล์ใหญ่เกิน) แล้วกด "อัปโหลด"
- เอกสารจะปรากฏในรายการพร้อมสถานะ:
- กำลังประมวลผล... (เหลือง)
- พร้อมใช้งาน · N chunks (เขียว)
- เกิดข้อผิดพลาด (แดง)
ลบเอกสารได้จากไอคอนถังขยะ (มีหน้าต่างยืนยัน "ลบเอกสาร")

Agent Queue (คิวส่งต่อเจ้าหน้าที่)
หน้า "Agent Queue" ("Customers waiting for a human agent") แสดงลูกค้าที่ถูกส่งต่อจากบอทเพื่อรอเจ้าหน้าที่
- ปุ่ม "Refresh" และเวลาอัปเดตล่าสุด
- แต่ละรายการมีปุ่ม "Took Over" (รับเรื่องโดยเจ้าหน้าที่) และ "Resume" (ให้บอททำงานต่อ)

Feedback Review (ตรวจ Feedback บอท)
หน้า "Feedback Review" ("Review chatbot feedback: accept to teach the bot, or reject") ใช้ตรวจสอบ feedback ที่เกิดจากการตอบของบอท เพื่อยอมรับ (สอนบอทเพิ่ม) หรือปฏิเสธ
- แท็บกรองสถานะ: Pending (รอตรวจ) / Accepted (ยอมรับแล้ว) / Rejected (ปฏิเสธ): มีตัวเลขจำนวนกำกับ
- ปุ่ม "Refresh" รีเฟรชรายการ พร้อมเวลาอัปเดตล่าสุด
- หากไม่มีรายการค้าง จะแสดง "No pending feedback"

Broadcasts (บรอดแคสต์)
หน้า Broadcasts ใช้ส่งข้อความหาผู้ติดตามจำนวนมาก
- กดปุ่ม Create / New Broadcast เพื่อเข้าสู่ตัวช่วยสร้าง (Broadcast Wizard)
- กรอกข้อมูลตามขั้นตอน (ชื่อแคมเปญ, เนื้อหาข้อความ, กลุ่มผู้รับ/Segment, การตั้งเวลา)
- บันทึก/ส่ง:
- บันทึกเป็น Draft, หรือ
- ตั้งเวลาส่ง (กำหนด Scheduled date), หรือ
- ส่งทันที
- กด "Cancel" เพื่อกลับหน้ารายการ

Segments (กลุ่มเป้าหมาย)
หน้า "Audience Groups" ("Create and manage audience segments for targeted campaigns.")
- กดปุ่ม "Create Group" เพื่อสร้างกลุ่มใหม่
- กำหนดเงื่อนไข เช่น แท็กที่ต้องมี (mustHaveTags): กลุ่มมี 2 ชนิด: DYNAMIC (อัปเดตอัตโนมัติ) หรือ STATIC
- ค้นหาด้วย "Search groups…"
- แต่ละการ์ดแสดงชื่อ, ชนิด, คำอธิบาย, จำนวนสมาชิก และปุ่มแก้ไข/ลบ
หากยังไม่มีกลุ่ม จะแสดง "No audience groups yet"

Analytics (วิเคราะห์ผล)
หน้า Analytics แสดงสถิติการตอบกลับและการมีส่วนร่วม
- ตัวเลือกช่วงเวลา: 7d / 30d / 90d
- กราฟแนวโน้ม (Area chart): จำนวนข้อความ/การตอบกลับตามช่วงเวลา
- สัดส่วน Layer (Pie): L1 keyword / L2 semantic / L3 AI fallback
- สัดส่วนผู้ตัดสิน (Pie): Embedding / LLM pick / LLM → AI gen / AI fallback
- Heatmap รายชั่วโมง: กิจกรรมตามชั่วโมง (0–23) × วันในสัปดาห์
- ตัวชี้วัด: จำนวนการตอบกลับรวม, ระยะเวลาสนทนาเฉลี่ย, อัตราการทำสำเร็จ (Completed), อัตราส่งต่อเจ้าหน้าที่ (Escalated) พร้อมเปรียบเทียบ % กับช่วงก่อนหน้า (↑/↓)
