บันทึกข้อมูลจาก LINE ลง Google Sheets อัตโนมัติ
เชื่อม LINE Messaging API กับ Google Sheets ผ่าน n8n บันทึกข้อความ ชื่อผู้ใช้ และข้อมูลลูกค้าลงชีทอัตโนมัติ
การบันทึกข้อมูลจาก LINE ลง Google Sheets ช่วยให้ธุรกิจมีข้อมูลลูกค้าที่พร้อมวิเคราะห์โดยไม่ต้องพิมพ์เองทุกครั้ง n8n ทำหน้าที่เป็นตัวกลางรับข้อมูลจาก LINE และส่งต่อไปยัง Sheets โดยอัตโนมัติ
Use Case ที่เหมาะกับ Workflow นี้
- บันทึก lead จากลูกค้าที่ทัก LINE OA
- เก็บประวัติการสั่งซื้อผ่าน LINE
- รวบรวม feedback หรือแบบสอบถาม
- log ข้อความสำหรับ audit หรือ training AI
สิ่งที่ต้องเตรียม
- LINE OA พร้อม Channel Access Token
- Google Account ที่มีสิทธิ์แก้ไข Google Sheets
- n8n instance พร้อม Public URL
- Google Sheets ที่ตั้งค่า header แล้ว
ขั้นตอนที่ 1: เตรียม Google Sheets
สร้างชีทใหม่หรือเปิดชีทที่มีอยู่ แล้วตั้ง header ในแถวแรก:
| Timestamp | User ID | Display Name | Message | Type |
|---|
คอลัมน์สามารถปรับเพิ่มตามความต้องการ เช่น เพิ่ม Phone, Email หรือ Order ID
ขั้นตอนที่ 2: ตั้งค่า Google Sheets Credentials ใน n8n
- ใน n8n ไปที่ Settings > Credentials
- เพิ่ม Credential ใหม่ประเภท Google Sheets OAuth2
- ทำตามขั้นตอน OAuth เพื่อให้ n8n เข้าถึง Google Sheets ได้
ดูการตั้งค่า Credentials แบบละเอียดได้ที่ คู่มือ Credentials
ขั้นตอนที่ 3: สร้าง Workflow
โครงสร้าง workflow:
Webhook (รับ event จาก LINE)
→ Set Node (ดึงข้อมูลที่ต้องการ)
→ Google Sheets Node (บันทึกลงชีท)
→ HTTP Request Node (ตอบกลับ LINE — optional)
Webhook Node
- เพิ่ม Webhook Node เป็น Trigger
- Method: POST
- คัดลอก URL ไปใส่ใน LINE Developers Console ตามขั้นตอนใน บทความ Messaging API
Set Node — ดึงข้อมูลจาก LINE Event
LINE ส่ง payload มาในรูปแบบ JSON ข้อมูลที่ต้องการอยู่ใน events[0]:
userId = {{ $json.body.events[0].source.userId }}
messageText = {{ $json.body.events[0].message.text }}
messageType = {{ $json.body.events[0].message.type }}
timestamp = {{ new Date($json.body.events[0].timestamp).toISOString() }}
ขั้นตอนที่ 4: ดึงชื่อผู้ใช้จาก LINE
User ID ไม่ใช่ชื่อที่อ่านง่าย หากต้องการชื่อ display name ของผู้ใช้ให้เพิ่ม HTTP Request Node เพื่อ call LINE Profile API:
- URL:
https://api.line.me/v2/bot/profile/{{ $json.userId }} - Method: GET
- Headers:
Authorization: Bearer YOUR_TOKEN
Response จะมี displayName และ pictureUrl ให้ใช้ต่อได้
ขั้นตอนที่ 5: บันทึกลง Google Sheets
เพิ่ม Google Sheets Node:
- เลือก operation: Append or Update Row
- เลือก Spreadsheet และ Sheet ที่เตรียมไว้
- Map ข้อมูลตาม column:
- Column A (Timestamp):
{{ $json.timestamp }} - Column B (User ID):
{{ $json.userId }} - Column C (Display Name):
{{ $json.displayName }} - Column D (Message):
{{ $json.messageText }} - Column E (Type):
{{ $json.messageType }}
- Column A (Timestamp):
กรองประเภทข้อความก่อนบันทึก
ถ้าต้องการบันทึกเฉพาะข้อความ text ไม่บันทึก sticker หรือรูปภาพ เพิ่ม IF Node ระหว่าง Set Node กับ Google Sheets:
- Condition:
{{ $json.messageType }}equalstext - True branch: บันทึกลง Sheets
- False branch: ไม่ทำอะไร หรือ log ไว้ที่อื่น
สร้าง Dashboard จากข้อมูลใน Sheets
เมื่อมีข้อมูลสะสมแล้ว ใช้ Google Sheets built-in chart หรือ Looker Studio เพื่อ visualize จำนวนข้อความต่อวัน, ลูกค้าที่ active ที่สุด หรือ peak time ที่ลูกค้าทักมาบ่อย
ต่อยอด: ส่งข้อมูลกลับจาก Sheets ไป LINE
Workflow สามารถทำงานย้อนกลับได้ด้วย — ใช้ Google Sheets Trigger เพื่อส่งข้อความ Push Message ไปหาลูกค้าเมื่อมีการอัปเดตสถานะในชีท เช่น เมื่อสถานะออเดอร์เปลี่ยนเป็น “จัดส่งแล้ว”
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
n8n x Gmail: อ่าน ส่ง จัดการอีเมลอัตโนมัติ
ใช้ n8n กับ Gmail อ่านอีเมลเข้าใหม่ ส่งอีเมลอัตโนมัติ แนบไฟล์ และจัดการ Label ครบในกระบวนการ Workflow เดียว
n8n x Google Sheets: อ่าน เขียน อัปเดต อัตโนมัติ
คู่มือครบใช้ n8n กับ Google Sheets ตั้งแต่ตั้งค่า Credentials จนถึงอ่าน เขียน อัปเดต และลบข้อมูลอัตโนมัติ
n8n x LINE: คู่มือเชื่อมต่อ LINE ทำ Automation ครบทุกวิธี
รวมทุกวิธีเชื่อมต่อ LINE กับ n8n ตั้งแต่ LINE Notify, Messaging API, Flex Message ไปจนถึง Rich Menu และ AI Chatbot