What you'll learn
- เข้าใจหลักการทำงานเบื้องต้นของ Line Bot และ n8n
- สร้าง Line Bot และตั้งค่าที่จำเป็นบน Line Developers Console
- สร้าง Node ใน n8n เพื่อเชื่อมต่อ Line Bot และส่งข้อความเข้า Line Group
- ประยุกต์ใช้เพื่อแจ้งเตือนข้อมูลต่างๆ ได้ตามต้องการ
ส่วนที่ 1: เตรียมความพร้อมก่อนเริ่มลุย!
1.1 สมัคร Line Developer Account
สิ่งแรกที่เราต้องมีคือบัญชี Line Developer ครับ ซึ่งจะใช้ในการสร้าง Line Bot ของเรา
- เข้าไปที่: https://developers.line.biz/en/
- คลิก “Log in to Console” และใช้บัญชี Line ของคุณเข้าสู่ระบบ
- ทำตามขั้นตอนการลงทะเบียน ให้เรียบร้อย (อาจมีการให้กรอกข้อมูลส่วนตัวเล็กน้อย)
1.2 สร้าง Messaging API Channel
เมื่อเข้าสู่ระบบ Line Developer ได้แล้ว และเห็นหน้าจอเหมือนในรูปภาพ (หน้า “Console home” ที่มี”Providers”) เราจะต้องสร้าง “Messaging API Channel” เพื่อเป็นตัวตนของ Line Bot ของเราครับ
- บนหน้าจอที่คุณเห็น (ดังรูปภาพ):
- สังเกตที่หัวข้อ “Providers” ที่อยู่ด้านล่างของหน้าจอ
- คลิกที่ปุ่มสีเขียว “Create” ที่อยู่ข้างๆ หัวข้อ “Providers”
- ระบบจะนำคุณไปสู่หน้าจอสำหรับเลือกประเภท Channel ที่จะสร้าง
- จากนั้น ให้เลือก ” Create a Messaging API channel” และคลิกที่ปุ่มสีเขียว “Create a LINE Official Account”
3. กรอกข้อมูลให้ครบถ้วน
4. อ่านและยอมรับข้อตกลงต่างๆ แล้ว คลิก “Create channel”
Provider เป็นเหมือนชื่อผู้ให้บริการ หรือชื่อองค์กรที่เป็นเจ้าของ Channel ต่างๆ ครับ ถ้าคุณเพิ่งเริ่มครั้งแรก คุณอาจจะต้องสร้าง Provider ขึ้นมาก่อน แล้วค่อยสร้าง Channel ภายใต้ Provider นั้นครับ
ส่วนที่ 2: ตั้งค่า Line Bot ของเราให้พร้อมใช้งาน
เมื่อสร้าง Channel เสร็จแล้ว เราจะได้ข้อมูลสำคัญที่จะใช้ในการเชื่อมต่อกับ n8n ครับ
2.1 ดึงข้อมูล Channel Access Token
Channel Access Token คือกุญแจสำคัญที่ n8n จะใช้ในการส่งข้อความผ่าน Line Bot ของเราครับ
- หลังจากสร้าง Channel เสร็จ ให้กลับไปที่ “Line Developer Console”
- มองหา Channel ของคุณที่ “Providers” ด้านซ้ายมือ แล้วคลิกชื่อ Provider ของคุณ (เช่น “2nd provider”) เพื่อเข้าถึง Channel ของคุณ
- เมื่อเจอแล้ว คลิกที่ชื่อ Channel ของคุณ เพื่อเข้าสู่หน้าการตั้งค่า
4. กดที่แท็บ “Messaging API”
5. มองหา “Channel access token (long-lived)”
6. คลิก “issue” เพื่อสร้าง Token ขึ้นมา
7. คัดลอก Token นี้เก็บไว้ ในที่ปลอดภัย (เช่น Notepad หรือ Notes) เพราะเราจะต้องใช้มันใน n8n ครับ
2.2 อนุญาตให้บอทเข้าร่วมกลุ่มหรือแชทแบบหลายคน (สำคัญมาก!)
เพื่อให้ Line Bot ของเราสามารถส่งข้อความใน Line Group ได้ คุณจะต้องไปเปิดใช้งานฟังก์ชันนี้ใน LINE Official Account Manager ด้วยนะครับ ซึ่งเป็นอีกเว็บไซต์หนึ่งของ LINE ไม่ใช่ Line Developers Console นะครับ!
- ไปที่เว็บไซต์: https://manager.line.biz/
- เข้าสู่ระบบ ด้วยบัญชี LINE เดียวกันกับที่คุณใช้ใน Line Developers Console (บัญชีที่ใช้สร้าง Line Bot นั่นแหละครับ)
- เลือกบัญชี LINE Official Account ของบอทที่คุณสร้างไว้
- เมื่อเข้ามาในหน้าจัดการบัญชี Line Official Account ของบอทแล้ว:
- มองหาเมนู “Settings” (ตั้งค่า) ซึ่งมักจะอยู่ด้านบนขวาหรือด้านซ้ายมือ (ไอคอนรูปฟันเฟือง)
- เปิดใช้งานตัวเลือกที่เกี่ยวกับ “Allow account to join groups and multi-person chats” หรือ “” ซึ่งจะอยู่ในส่วนการ ตั้งค่าบัญชี >การใช้ฟีเจอร์ (ถ้าไม่เปิด บอทจะเข้ากลุ่มไม่ได้!)
ส่วนที่ 3: เตรียม n8n ให้พร้อมทำงาน
3.1 วิธีติดตั้ง n8n
สำหรับการเริ่มต้นใช้งาน n8n นั้น มี 2 ทางเลือกหลักๆ ให้เพื่อนๆ เลือกได้ตามความถนัดเลยครับ:
-
ใช้งาน n8n Cloud (ง่ายที่สุดสำหรับมือใหม่): สำหรับเพื่อนๆ ที่อยากเริ่มต้นแบบง่ายที่สุด ไม่ต้องติดตั้งอะไรมากมาย ผมแนะนำให้ใช้ n8n Cloud ครับ เพราะคุณแค่สมัครสมาชิกและเริ่มต้นใช้งานได้ทันที (ซึ่งจะมีค่าใช้จ่ายเล็กน้อยหลังจากทดลองใช้ฟรีนะครับ)
- เข้าไปที่: https://n8n.io/cloud
- คลิก “Get Started for Free” และทำตามขั้นตอนเพื่อสร้าง Workspace ของคุณได้เลยครับ!
-
ติดตั้ง n8n บนเครื่องตัวเอง (Self-Host): ถ้าคุณเป็นสายที่ชอบควบคุมทุกอย่างเอง หรืออยากลองติดตั้ง n8n บนเซิร์ฟเวอร์หรือคอมพิวเตอร์ส่วนตัวของคุณเอง (Self-Host) ก็ทำได้เช่นกันครับ แม้วิธีนี้อาจจะดูมีเทคนิคขึ้นมาหน่อย แต่ไม่ต้องกังวลไปนะครับ! ผมได้เตรียมบทความสอนการติดตั้งแบบละเอียดทุกขั้นตอนไว้ให้แล้วครับ รับรองว่าทำตามได้แน่นอน! คุณสามารถเข้าไปดูวิธีทำได้ที่นี่เลย n8n Self-Host: ติดตั้งง่ายๆ ด้วย Docker และใช้ Ngrok ให้เข้าถึงจากภายนอกได้
3.2 ทำความรู้จักกับ n8n Workflow Editor
เมื่อเราติดตั้ง n8n และเข้าสู่ระบบ n8n แล้ว เราจะเห็นหน้าตาของ “Workflow Editor” นี่คือพื้นที่ที่เราจะสร้างเส้นทางการทำงาน (Workflow) ของ Line Bot ของเราครับ
- Workflow: เปรียบเสมือนแผนผังการทำงาน ที่เราจะลากและวาง Nodes ต่างๆ มาเชื่อมต่อกัน
- Nodes: คือกล่องฟังก์ชันแต่ละอย่าง เช่น กล่องรับข้อมูล, กล่องส่งข้อมูล, กล่องประมวลผลข้อมูล
- Connections: คือเส้นที่เชื่อม Nodes เข้าหากัน เพื่อกำหนดทิศทางการไหลของข้อมูล
ส่วนที่ 4: สร้าง Workflow ใน n8n เพื่อส่งข้อความเข้า Line Group!
4.1 ตั้งค่า Webhook ใน n8n และ Line Developers เพื่อรับ Group ID
เราจะใช้ Webhook เพื่อให้ Line “บอก” n8n เมื่อมีเหตุการณ์อะไรบางอย่างเกิดขึ้นในกลุ่มของเรา ซึ่งในที่นี้คือเมื่อมีข้อความถูกส่งเข้ามาในกลุ่มครับ ข้อมูลที่ Line ส่งมาให้ n8n จะมี Group ID ของกลุ่มนั้นๆ อยู่ด้วย!
4.1.1 สร้าง Webhook Node ใน n8n เพื่อรับข้อมูล
- เปิด Workflow ใหม่ใน n8n:
- ที่หน้า Workflow Editor ใน n8n คลิก “Create Workflow”
- คุณจะเห็น Workflow ว่างเปล่า มีแค่ Start Node เท่านั้น
- เพิ่ม Webhook Node:
- คลิกที่เครื่องหมาย
+เพื่อเพิ่ม Node ใหม่ - ในช่องค้นหา (Search nodes…) พิมพ์คำว่า “Webhook“
- เลือก “Webhook” Node
- คลิกที่เครื่องหมาย
- ตั้งค่า Webhook Node:
- HTTP Method: เลือก “POST”
- คุณจะเห็น “Webhook URLs” ปรากฏขึ้นมาในช่องสีเทาๆ
(เช่นhttps://your-n8n-instance.com/webhook-test/xxxx-xxxx-xxxx) - คัดลอก URL นี้เก็บไว้ใน Notepad หรือที่ปลอดภัย เพราะเราจะนำไปใช้ในขั้นตอนถัดไปใน Line Developers Console ครับ
- กดปุ่ม Listen for test event
4.1.2 ตั้งค่า Webhook ใน Line Developers Console
ตอนนี้เราจะนำ Webhook URL ที่ได้จาก n8n ไปบอก Line ให้รู้ว่าเวลาเกิดอะไรขึ้นในบอท ให้ส่งข้อมูลมาที่ URL นี้!
- กลับไปที่ Line Developers Console:
- ไปที่ Channel ของคุณ (โดยคลิกชื่อ Provider ของคุณ > คลิกชื่อ Channel ของบอทคุณ)
- ไปที่แท็บ “Messaging API”
- เปิดใช้งาน Webhooks:
- เลื่อนลงมาที่ส่วน “Webhook settings”
- กด Edit ในช่อง “Webhook URL” และ วาง Webhook URL ที่คุณคัดลอกมาจาก n8n ลงไป
- เปิด (Enable) “Use webhooks”
- คลิกปุ่ม “Verify” เพื่อทดสอบว่า Line สามารถเชื่อมต่อกับ Webhook ของ n8n ได้ถูกต้อง หากสำเร็จจะขึ้นข้อความ “Success”
4.2 ค้นหา Group ID ของ Line Group ของคุณ
เมื่อตั้งค่า Webhook เรียบร้อยแล้ว ตอนนี้เราจะมาทดสอบเพื่อดึง Group ID กันครับ!
- ส่งข้อความอะไรก็ได้ใน Line Group ของคุณ:
- ใน Line Application ของคุณ เพียงส่งข้อความใดๆ เข้าไปใน Line Group ที่ Bot ของคุณอยู่
(อย่าลืมเชิญเข้ากลุ่ม) ข้อมูลจะถูกบอทรับและส่งไปยัง Webhook ของ n8n ได้ทันที
- ใน Line Application ของคุณ เพียงส่งข้อความใดๆ เข้าไปใน Line Group ที่ Bot ของคุณอยู่
- ตรวจสอบข้อมูลใน n8n เพื่อหา Group ID:
- กลับมาที่หน้า Workflow ของ n8n
- ดูที่ Node “Webhook” คุณจะเห็นข้อมูล (Output) ปรากฏขึ้นมาทางด้านขวาของ Node
- ในข้อมูลที่แสดงออกมา ให้มองหาค่าที่ชื่อว่า
groupId(มักจะอยู่ภายใต้event->sourceหรือคล้ายๆ กัน) - คัดลอกค่า
groupIdนั้นเก็บไว้ Group ID มักจะขึ้นต้นด้วยCตามด้วยตัวอักษรและตัวเลขยาวๆ
4.3 สร้าง Node สำหรับตอบกลับข้อความใน Line Group
ตอนนี้เราได้ Group ID มาแล้ว และเข้าใจโครงสร้างของข้อมูลที่ Line ส่งมาผ่าน Webhook เราจะมาสร้าง Node เพิ่มเติมใน Workflow เดิม เพื่อให้ Line Bot ของเราสามารถ ส่งข้อความใหม่ เข้าไปใน Line Group ได้โดยอัตโนมัติ เมื่อได้รับข้อความจากกลุ่มนั้นๆ ครับ!
เพิ่ม Node “HTTP Request” สำหรับส่งข้อความเข้า Line Group:
- คลิกที่เครื่องหมาย
+ที่อยู่ด้านขวาของ Webhook Node (ต่อจาก Webhook Node ได้เลย) - ในช่องค้นหา พิมพ์คำว่า “HTTP Request” แล้วเลือก “HTTP Request” Node
- ตั้งค่า Node “HTTP Request”:
Authentication: เลือก “None”
Method: เลือก “POST”
URL: ใส่ URL ของ Line Messaging API สำหรับ ส่งข้อความแบบ Push (ส่งข้อความใหม่):
https://api.line.me/v2/bot/message/pushHeaders: เปิด (Enabled)
- Name:
Content-Type - Value: application/json
กด “Add Parameter” เเละใส่ค่าด้านล่างต่อ - Name:
Authorization - Value:
Bearer LINE_CHANNEL_ACCESS_TOKEN_HERE(ตรงนี้ให้ วาง Channel Access Token ของคุณ (ที่ได้จากส่วน 2.1) ต่อท้ายBearerโดยมีเว้นวรรค 1 ช่อง)
- Name:
Send Body: เปิด (Enabled)
Body Content: เลือก “JSON”
JSON Body: วางโครงสร้าง JSON สำหรับข้อความที่จะส่ง (Push Message) ตามนี้:
- คลิกที่เครื่องหมาย
{
"to": "{{$json.body.events[0].source.groupId}}",
"messages": [
{
"type": "text",
"text": "ข้อความของคุณ"
}
]
}
คำอธิบาย:
"to": "{{$json.body.events[0].source.groupId}}": นี่คือส่วนที่เราใช้ Group ID ที่ดึงมาจาก Output ของ Webhook Node เพื่อบอก Line ว่าจะส่งข้อความนี้ไปที่กลุ่มไหนครับtype: "text": บอกว่าเป็นข้อความปกติtext: "ข้อความของคุณ": นี่คือเนื้อหาข้อความที่จะส่ง
2. ทดสอบ Workflow ทั้งหมด:
- กด Execute workflow
- กลับไปที่ Line ของคุณ
- ส่งข้อความอะไรก็ได้ เข้าไปใน Line Group ที่บอทของคุณอยู่
- รอดูปฏิกิริยา: บอทของคุณจะ ส่งข้อความใหม่ เข้ามาในกลุ่มทันที โดยไม่ได้เป็นการ “ตอบกลับ” ข้อความของคุณโดยตรง แต่เป็นการส่งข้อความใหม่เข้ามาในแชทกลุ่มครับ
ข้อควรรู้เกี่ยวกับ Webhook URL (Test vs. Production):
Webhook URL ใน n8n มี 2 แบบคือ
- Test URL สำหรับทดสอบซึ่งจะเปลี่ยนแปลงได้
- Production URL ซึ่งคงที่สำหรับใช้งานจริงและจะปรากฏเมื่อคุณ “Activate” (เปิดใช้งาน) Workflow