n8n Thai
by n8n Thai

สรุปข้อความกลุ่ม LINE ด้วย AI + n8n

สร้าง workflow ดึงข้อความจากกลุ่ม LINE แล้วให้ AI สรุปประเด็นสำคัญอัตโนมัติ เหมาะสำหรับกลุ่มทีมงานและการประชุม

สรุปข้อความกลุ่ม LINE ด้วย AI + n8n

กลุ่ม LINE ที่มีสมาชิกเยอะมักมีข้อความท่วม ทำให้พลาดประเด็นสำคัญ workflow นี้ใช้ n8n รับข้อความจากกลุ่ม LINE สะสมไว้ แล้วส่งให้ AI สรุปเป็นประเด็นสำคัญตามช่วงเวลา เช่น ทุกวัน หรือทุกครั้งที่มีคนพิมพ์คำว่า “สรุป”

Use Case ที่เหมาะกับ Workflow นี้

  • กลุ่มทีมงาน: สรุปการอัปเดตงานรายวัน
  • กลุ่มประชุม: สรุป action items หลังประชุม
  • กลุ่มข่าวสาร: สรุปข่าวสำคัญที่แชร์ในกลุ่ม
  • กลุ่มลูกค้า: สรุปคำถามหรือปัญหาที่พบบ่อย

สิ่งที่ต้องเตรียม

  • LINE OA ที่เพิ่มเข้ากลุ่ม LINE แล้ว
  • Channel Access Token จาก LINE Developers
  • OpenAI API Key หรือ AI service อื่น
  • n8n instance พร้อม Public URL

หมายเหตุ: LINE Messaging API จะรับข้อความจากกลุ่มได้ก็ต่อเมื่อ LINE OA ถูกเพิ่มเข้ากลุ่มนั้นแล้ว และต้องตั้งค่า “Allow bot to join group chats” ใน LINE Developers Console

ภาพรวม Workflow

โหมด 1: สรุปทุกวัน (Scheduled)

Schedule Trigger (ทุกวัน 17.00)
  → Google Sheets Node (ดึงข้อความที่สะสมไว้วันนี้)
  → OpenAI Node (สรุปเป็น bullet points)
  → HTTP Request (ส่งสรุปกลับเข้ากลุ่ม LINE)

โหมด 2: สรุปตามคำสั่ง (On-demand)

Webhook (รับทุกข้อความจากกลุ่ม)
  → IF Node (ตรวจว่าข้อความคือ "สรุป" หรือไม่)
  → Google Sheets Node (ดึงข้อความย้อนหลัง 24 ชั่วโมง)
  → OpenAI Node (สรุป)
  → HTTP Request (ตอบกลับในกลุ่ม)

ขั้นตอนที่ 1: บันทึกข้อความลงชีทก่อน

Workflow นี้ต้องการ 2 ส่วน ส่วนแรกคือ pipeline ที่รับและบันทึกข้อความทุกข้อความ:

Webhook (รับทุก event จาก LINE group)
  → IF Node (กรองเฉพาะ message type = text)
  → Google Sheets Node (append แถวใหม่)

Column ในชีท: timestamp, userId, displayName, groupId, message

ดูรายละเอียดการบันทึกข้อมูล LINE ลง Google Sheets ได้ที่ บทความนี้

ขั้นตอนที่ 2: ดึงข้อความและส่งให้ AI

เพิ่ม Google Sheets Node ตั้งค่า:

  • Operation: Get Many Rows
  • Filter: timestamp มากกว่า 24 ชั่วโมงที่แล้ว

จากนั้นใช้ Code Node รวมข้อความทั้งหมดเป็น string เดียวที่ส่งให้ AI:

const rows = $input.all();
const messages = rows
  .map(r => `[${r.json.displayName}]: ${r.json.message}`)
  .join('\n');

return [{ json: { chatLog: messages } }];

ขั้นตอนที่ 3: สรุปด้วย AI

เพิ่ม OpenAI Node (หรือ HTTP Request ไปยัง OpenAI API):

System Prompt:

คุณเป็นผู้ช่วยสรุปการสนทนา สรุปเป็นภาษาไทยที่กระชับและชัดเจน
โดยระบุ:
1. ประเด็นหลักที่พูดถึง
2. การตัดสินใจหรือข้อสรุปที่ได้
3. งานหรือ action items ที่ต้องทำ (ถ้ามี)
ใช้รูปแบบ bullet point

User Message:

สรุปการสนทนาต่อไปนี้:
{{ $json.chatLog }}

ขั้นตอนที่ 4: ส่งสรุปกลับ LINE

เพิ่ม HTTP Request Node ส่ง Push Message เข้ากลุ่ม:

  • URL: https://api.line.me/v2/bot/message/push
  • Body:
{
  "to": "GROUP_ID_HERE",
  "messages": [
    {
      "type": "text",
      "text": "สรุปการสนทนาวันนี้:\n\n{{ $json.choices[0].message.content }}"
    }
  ]
}

วิธีหา Group ID: ดูจาก Webhook payload ที่รับมาจากกลุ่ม ในส่วน source.groupId

เพิ่มตัวกรองก่อนส่งให้ AI

ถ้ากลุ่มมีข้อความเยอะมาก ควรกรองก่อน:

  • กรองข้อความสั้นเกินไป: IF message.length > 5
  • กรองออก sticker และรูปภาพ: IF messageType == text
  • กรองข้อความบางหัวข้อ: เช่น ข้อความที่ขึ้นต้นด้วย ”/” (คำสั่ง bot)

ส่งสรุปทางอีเมลด้วย

เพิ่ม branch แยก เพื่อส่งสรุปทาง Email พร้อมกันกับ LINE:

OpenAI Node
  → HTTP Request (ส่งเข้า LINE group)
  → Email Node (ส่งสรุปทาง email ให้หัวหน้าทีม)

ปรับแต่งเพิ่มเติม

  • สรุปตามหัวข้อ: ใส่ tag ในข้อความ เช่น #งาน #ไอเดีย แล้วให้ AI แยกสรุปตาม tag
  • เก็บประวัติสรุป: บันทึก AI summary ลงชีทอีกแผ่นเพื่อเปรียบเทียบระหว่างวัน
  • Multi-language: ถ้ากลุ่มมีทั้งภาษาไทยและอังกฤษ ระบุใน prompt ให้ AI จัดการ

บทความที่เกี่ยวข้อง: บันทึกข้อมูล LINE ลง Google Sheets | คู่มือ LINE Automation ครบทุกวิธี

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

Related posts