n8n Thai
by n8n Thai

AI ตอบอีเมลอัตโนมัติด้วย n8n + ChatGPT

สร้างระบบ AI ตอบอีเมลอัตโนมัติด้วย n8n และ ChatGPT จำแนกประเภทอีเมล ร่างคำตอบ และส่งหรือรอ approve ตามที่ตั้งค่า

AI ตอบอีเมลอัตโนมัติด้วย n8n + ChatGPT

inbox เต็มทุกวัน อีเมลซ้ำๆ ถามเรื่องเดิมๆ ตอบแล้วตอบอีก ปัญหานี้แก้ได้ด้วย n8n + AI ที่อ่านอีเมล จำแนกประเภท ร่างคำตอบ แล้วส่งได้เลยสำหรับคำถามง่ายๆ หรือรอ human approve สำหรับเรื่องที่ซับซ้อน

ออกแบบ Workflow ก่อนสร้าง

ก่อน build ควรคิดให้ชัดว่า:

  1. อีเมลประเภทไหนให้ AI ตอบได้เลย? (เช่น tracking, FAQ, booking confirmation)
  2. อีเมลประเภทไหนต้องให้คนอนุมัติก่อน? (เช่น complaint, refund, ราคาพิเศษ)
  3. อีเมลประเภทไหนให้ forward ให้แผนกอื่น? (เช่น billing, legal, technical)

คำตอบนี้จะกำหนด routing logic ของ Workflow

ขั้นตอนที่ 1: Trigger เมื่อมีอีเมลใหม่

Gmail — เพิ่ม Gmail Trigger Node ตั้งค่าให้ trigger เมื่อมี email ใหม่ใน inbox กรองด้วย label ถ้าต้องการ เช่น เฉพาะอีเมลที่ติด label “Customer Support”

Outlook / Office 365 — ใช้ Microsoft Outlook Trigger Node วิธีตั้งค่าคล้ายกัน

Generic IMAP — ใช้ Email Trigger (IMAP) Node ใส่ host, port, username, password

ตั้ง polling interval ตามความต้องการ ทุก 1 นาที สำหรับ support ที่ต้องรวดเร็ว ทุก 15 นาที สำหรับงานทั่วไป

ขั้นตอนที่ 2: จำแนกประเภทอีเมล

เพิ่ม OpenAI Node สำหรับ classification System Prompt:

คุณเป็นระบบจำแนกประเภทอีเมลลูกค้า
จำแนกอีเมลเป็นหนึ่งใน category ต่อไปนี้เท่านั้น:
- FAQ: คำถามทั่วไปที่มีคำตอบมาตรฐาน
- ORDER: สอบถามสถานะออเดอร์
- COMPLAINT: ร้องเรียนหรือไม่พอใจ
- REFUND: ขอคืนเงินหรือเปลี่ยนสินค้า
- OTHER: อื่นๆ ที่ไม่เข้าหมวดข้างต้น

ตอบด้วย JSON: {"category": "...", "confidence": 0.0-1.0, "summary": "สรุปสั้นๆ"}

User Prompt ส่งเนื้อหาอีเมล:

จำแนกอีเมลนี้:
จาก: {{ $json.from }}
หัวข้อ: {{ $json.subject }}
เนื้อหา: {{ $json.text }}

ขั้นตอนที่ 3: Routing ตาม Category

เพิ่ม Switch Node แยก path ตาม category:

  • FAQ → ไปสร้างคำตอบอัตโนมัติ
  • ORDER → ไปดึงข้อมูลออเดอร์แล้วตอบ
  • COMPLAINT → ไปสร้าง draft + แจ้งเตือน human
  • REFUND → ไปสร้าง ticket ใน helpdesk
  • OTHER → forward ให้ทีมที่เกี่ยวข้อง

ขั้นตอนที่ 4: สร้างคำตอบสำหรับ FAQ

Path FAQ: เพิ่ม OpenAI Node อีกตัว System Prompt:

คุณเป็นฝ่ายบริการลูกค้าของ [ชื่อบริษัท]
ตอบเป็นภาษาไทย สุภาพ เป็นกันเอง กระชับ
ใช้ข้อมูลต่อไปนี้เป็นแหล่งอ้างอิง:
[ใส่ FAQ content ที่นี่]
ถ้าไม่พบคำตอบในข้อมูลที่ให้ ให้แจ้งว่าจะให้เจ้าหน้าที่ติดต่อกลับภายใน 24 ชั่วโมง

User Prompt ส่งคำถามของลูกค้า จากนั้น Gmail Node (Send Email) ส่งตอบกลับทันที

ขั้นตอนที่ 5: Human-in-the-Loop สำหรับ Complaint

Path COMPLAINT: ไม่ควรให้ AI ตอบเองโดยตรง แต่ให้:

  1. OpenAI Node — ร่างคำตอบที่เห็นอกเห็นใจและแก้ไขปัญหา
  2. Gmail Node — ส่ง email ไปให้ supervisor พร้อม draft
  3. Supervisor คลิก “Approve & Send” หรือ “Edit” ก่อนส่ง

วิธีทำ Approve Button อย่างง่าย: ส่ง email ที่มี link พิเศษ เมื่อคลิก link trigger n8n Webhook ให้ส่งอีเมลนั้น

ขั้นตอนที่ 6: ดึงข้อมูล Order อัตโนมัติ

Path ORDER: แทนที่จะตอบ template เฉยๆ ดึงข้อมูลจริงก่อน

  1. Code Node — Extract order number จาก email ด้วย regex
  2. HTTP Request Node — เรียก API ระบบของคุณเพื่อดึงสถานะออเดอร์
  3. OpenAI Node — สร้างคำตอบที่มีข้อมูล tracking จริง

ตัวอย่าง response ที่ได้: “ออเดอร์ #12345 ของคุณถูกส่งแล้วเมื่อวันที่ 8 เม.ย. คาดว่าจะถึงวันที่ 10-12 เม.ย. Tracking: TH123456789”

การ log และ Monitor

บันทึกทุก interaction ลง Google Sheets หรือ Database:

  • เวลาที่รับอีเมล
  • Category ที่ classify ได้
  • Confidence score
  • วิธีที่ handle (auto-reply / human-review / forwarded)
  • Response time

ข้อมูลนี้ช่วยปรับปรุงระบบในอนาคต เช่น ถ้า confidence ต่ำบ่อยในหมวดหนึ่งแสดงว่า classifier ต้องปรับ

ข้อควรระวัง

อย่า auto-reply ทุกอีเมล — กรอง automated email, newsletter, no-reply address ออกก่อน ไม่งั้นระบบจะวน loop ตอบ auto-reply ของอีเมลอื่น

ทดสอบด้วย test inbox ก่อน — สร้าง Gmail account ทดสอบแยกต่างหาก อย่า run กับ inbox จริงโดยตรงตอนยังไม่มั่นใจ

Confidence threshold — ถ้า AI confidence ต่ำกว่า 0.7 ให้ route ไป human review เสมอ แทนที่จะเดาแล้วตอบผิด

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts