ส่งข้อมูลเข้า LINE ผ่าน Make.com
EP2: ระบบรายงาน Leads ที่ยังไม่ได้ติดต่อ
ส่งข้อมูลเข้า LINE ผ่าน Make.com
EP2: ระบบรายงาน Leads ที่ยังไม่ได้ติดต่อ

📌 Connect with me and follow our journey: Linkedin, Facebook
หากใครพลาด EP1: “ระบบจัดการ Leads อัตโนมัติ” สามารถย้อนอ่านได้นะครับ และถ้าใครอยากศึกษาฉบับเต็ม สามารถไปรับชมได้ที่ Make.com Full Course
สำหรับ EP2 นี้ เราจะยกระดับความซับซ้อนขึ้นอีกขั้น ด้วยการสอนสร้างระบบ “รายงาน Leads ที่ยังไม่ได้ติดต่อ” แบบอัตโนมัติ พร้อมแนะนำแนวคิดใหม่ๆ ใน Make.com ที่คุณต้องรู้!
Project 2: สร้าง Daily Missed Call Report อัตโนมัติ
ใน EP นี้ เราจะพาไปรู้จักกับฟีเจอร์สำคัญของ Make.com อย่าง Set Variable, Array (List), Filter, และ Aggregator ผ่านโปรเจกต์จริงที่ช่วยสรุปรายชื่อ Leads ที่ยังไม่ได้รับการติดต่อแต่ละวัน พร้อมส่งรายงานไปยัง LINE Official Account หรือ Slack ของคุณโดยอัตโนมัติ
เป้าหมาย
- ค้นหา Leads ใน Google Sheet ที่เข้ามาในแต่ละวัน
- กรองเฉพาะ Leads ที่ยังไม่ได้ติดต่อ (Contacted = False)
- รวมรายชื่อ Leads เหล่านี้เป็นรายงานสั้นๆ (Text Aggregator)
- ส่งรายงานผ่าน LINE (หรือ Slack) เพื่อไม่พลาดโอกาสทางธุรกิจ
การตั้งค่า Trigger (การกระตุ้น)
- แตกต่างจาก Scenario แรกที่ทำงานแบบ Real-time, Scenario นี้จะถูกตั้งเวลา (Scheduled) ให้ทำงาน วันละครั้ง
- ผู้สอนแนะนำให้ตั้งเวลาตอน 21:00 น. (หลังเลิกงาน) เพื่อให้ได้รับรายงานสรุป Leads ที่ยังไม่ได้ติดต่อในวันนั้น
- การตั้งเวลานี้สำคัญสำหรับงานที่ต้องการสรุปข้อมูลเป็นช่วงเวลา ไม่ใช่ทุกครั้งที่มีข้อมูลใหม่เข้ามา
Step-by-Step: วางโครงสร้าง Scenario
1️⃣ Set Variable (กำหนดตัวแปร “Today”)
- เริ่มจาก Google Sheet ที่เราสร้างไว้ใน Project 1 มาแก้ไขให้มีเนื้อหาแบบนี้

- เลือก Tools → Set Variable

- สร้างตัวแปรชื่อ “Today” + ใช้ฟังก์ชัน formatDate เพื่อจัดรูปแบบวันที่ปัจจุบันให้เป็นรูปแบบที่ตรงกับข้อมูลใน Google Sheet (เช่น “MMM DD YYYY”) → Save

- กด Run once → Result

2️⃣ ค้นหา Leads ด้วย Google Sheets (Search Rows)
- Add another module → Google Sheets (Search Rows)

- เลือก Select from all → ใส่ ID (ข้อความที่อยู่ระหว่าง d/ กับ /edit) → เลือก Sheet Name

- ตั้งค่า Filter เพื่อค้นหาแถว (Rows) ที่คอลัมน์ “Initially Contacted” (วันที่ติดต่อครั้งแรก) ตรงกับค่าของตัวแปร “Today” ที่สร้างไว้

- มาที่ด้านล่างเพื่อ Set up Routine running ตามรูปแบบที่เราต้องการ

- กด Run once → ผลลัพธ์ที่ได้จะเป็น รายการ (Array) ของ Leads หลายรายการที่ตรงตามเงื่อนไข (Leads ที่เข้ามาในวันนี้)

วันที่ Run คือวันที่ 10 July 2025
ความเข้าใจเรื่อง Bundles และ Iteration (การวนซ้ำ)
- Make.com จะมองแต่ละผลลัพธ์ที่ได้จากการค้นหาเป็น “Bundle” ซึ่งคล้ายกับ “Object” หรือ “Folder” ที่รวบรวมข้อมูลทั้งหมดของ Lead นั้นๆ (เช่น ชื่อ, อีเมล, งบประมาณ)
- เมื่อโมดูลส่งผลลัพธ์ออกมาเป็น Array (รายการ) Make.com จะทำการ Iterate (วนซ้ำ) โดยอัตโนมัติ กล่าวคือจะประมวลผลข้อมูลของแต่ละ Bundle ทีละรายการ (ในตัวอย่างหมายถึง Make.com จะ Run 3 รอบเพื่อให้ได้ข้อมูลครบ)
ข้อมูลเพิ่มเติมเกี่ยวกับ Data Type ใน Make.com
การเข้าใจประเภทข้อมูลเป็นสิ่งสำคัญในการจัดการข้อมูลอย่างมีประสิทธิภาพ:
- Text (ข้อความ): ข้อความปกติ เช่น ชื่อลูกค้า, ข้อความที่เขียน
- ตัวอย่าง: “Jane Doe”, “Hello there” - Number (ตัวเลข): ตัวเลข เช่น อายุ, งบประมาณที่เป็นตัวเลขล้วนๆ
- ตัวอย่าง: 50, 5000, 1.32 - Array (อาร์เรย์): คือ รายการ (List) ของสิ่งต่างๆ ที่เกี่ยวข้องกับข้อมูลนั้นๆ
- ตัวอย่าง: หากลูกค้าเลือกบริการหลายอย่าง เช่น “DJ Services”, “Photography Services” ข้อมูลเหล่านี้จะถูกเก็บเป็น Array
- เข้าใจง่ายๆ: เหมือนรายการของชำที่คุณต้องซื้อของหลายอย่าง - Collection (คอลเลกชัน): คือ รายละเอียดต่างๆ ที่ถูกรวมกันเป็นชุด เกี่ยวกับข้อมูลนั้นๆ
- เข้าใจง่ายๆ: เหมือน โฟลเดอร์ ใน Google Drive ที่มีไฟล์หลายประเภทอยู่ข้างใน (เช่น มีทั้ง Text, Number, Array อยู่รวมกัน)
- ความแตกต่างกับ Array: Array มักจะมีข้อมูลประเภทเดียวกันเป็นรายการ แต่ Collection จะรวมข้อมูลหลายประเภทเข้าด้วยกัน - Boolean (บูลีน): คือข้อมูลที่มีเพียง สองค่าที่เป็นไปได้ คือ True (จริง) หรือ False (เท็จ)
- ตัวอย่าง: “สนใจบริการพรีเมียมหรือไม่?” (True/False) - Date (วันที่): ข้อมูลวันที่ เช่น วันที่ลูกค้าส่งฟอร์ม
- Binary Data (ข้อมูลไบนารี): ข้อมูลในรูปแบบไฟล์ เช่น รูปภาพ (ไม่ค่อยได้ใช้บ่อยนัก)

3️⃣ Filter เฉพาะ Leads ที่ยังไม่ได้ติดต่อ
- หลังจากได้รายการ Leads ที่เข้ามาในวันนี้แล้ว จะมีการกรองข้อมูลอีกครั้ง
- เงื่อนไขคือ คอลัมน์ “Contacted” จะต้องมีค่าเป็น False (หมายถึงยังไม่ได้ติดต่อ)
- เราสมมุติว่า มี คนนึงเป็น True ละกัน

- Click “Add another module” → Tools (Text Aggregator)

- Click dot line ระหว่าง Google Sheets กับ Tools → ในช่อง Label ใส่ชื่อ → ในช่อง Condition เลือก Contracted และ ช่อง Operators ใส่ FALSE

4️⃣ รวมข้อมูล Leads เป็นข้อความเดียวด้วย Text Aggregator
ทำหน้าที่ ตรงกันข้ามกับ Iterator หาก Iterator แยกข้อมูลออกเป็นแต่ละ Bundle เพื่อประมวลผลทีละรายการ, Aggregator จะรวม Bundle หลายๆ อันให้กลับมาเป็นข้อมูลชุดเดียว (Text String)
- ในช่อง Tools → เลือก Source Module เป็น Google Sheets (Search Rows) และ Content ของข้อความที่ต้องการ เช่น “Name: [ชื่อ Lead], Email: [อีเมล Lead], Budget: [งบประมาณ Lead]” โดยใช้การ Mapping ข้อมูลจาก Bundle
- ตั้งค่า “Row Separator” เป็น “New Row” (\n) เพื่อให้ข้อมูลของแต่ละ Lead แสดงแยกบรรทัดกันในรายงาน ทำให้ง่ายต่อการอ่าน

- จุดประสงค์หลักคือ เพื่อส่งข้อความสรุปเพียงฉบับเดียว แทนที่จะส่งข้อความหลายฉบับสำหรับแต่ละ Lead ที่ยังไม่ถูกติดต่อ (เช่น หากมี 700 Leads ก็จะได้รับ 1 ข้อความสรุป แทนที่จะเป็น 700 ข้อความแจ้งเตือน)
- Click Run once → Result

5️⃣ ส่งรายงานไปที่ LINE (Send a Push Message)
ต้องเริ่มจากการเข้าไปสร้าง Providers ใน LINE ก่อน
- เข้าไปที่ https://developers.line.biz/en/
- Click “Create”

- ใส่ชื่อที่ต้องการ

- เลือก Create a Messaging API channel

- เลือก Create a LINE Official Account

- กรอกข้อมูลให้ครบ → กด ตกลง → กด เสร็จสิ้น → กด ไปที่ Line Official Account

- เลือก Setting → Messaging API → Enable Messaging API

- เลือก Provider → Agree → OK

- OK

- เราจะได้รับข้อความจาก Line

- สิ่งที่ควรจำไว้คือ Channel ID และ Channel secret

- หรือเราจะดูที่ Line Developer ก็ได้ (มี Your user ID อีกอัน)

- กลับมาที่ make.com → สร้าง Connection โดยกด Add]

- ตั้งชื่อให้เรียบร้อย และ Channel Access Token สามารถหาได้จาก

- เลือก LINE (Send a Push Message)

- Result

(Optional) จัดการ Error Handling
ความสำคัญ: การจัดการข้อผิดพลาดมีความสำคัญอย่างยิ่งใน Make.com เพื่อป้องกันไม่ให้ Scenario หยุดทำงานทั้งหมดเมื่อเกิดข้อผิดพลาด (เช่น การจำกัดการเรียกใช้งาน API หรือ “Rate Limiting” ของ Google Sheets ที่จำกัดไว้ที่ 300 คำขอต่อนาที)
วิธีการตั้งค่า:
- คลิกขวาที่โมดูลที่อาจเกิดข้อผิดพลาด (เช่น Google Sheets) และเลือก “Add Error Handler”

- เลือกประเภท Error Handler ที่พบบ่อยที่สุดคือ “Break”
- “Break” หมายความว่า:
- ระบบจะ รอ 15 นาที และ พยายามใหม่ 3 ครั้ง
- หากยังคงล้มเหลวหลังจาก 3 ครั้ง จะทำการ “Ignore” ข้อผิดพลาดและหยุดการทำงานนั้นอย่างปลอดภัย

- ต้องเปิดใช้งาน “Allow storing of incomplete executions” ในการตั้งค่า Scenario เพื่อให้ Make.com เก็บข้อมูลของการทำงานที่ล้มเหลวไว้ชั่วคราว ทำให้สามารถลองทำงานซ้ำได้


- อาจจะลอง Clone LINE ขึ้นมา

- นำไปวางระหว่าง Google Sheets และ Break

- เปลี่ยนข้อความเพื่อแจ้งเตือน

การใช้ Webhook & HTTP Modules
Scenario ที่สามนี้มุ่งเน้นไปที่การเชื่อมต่อ Make.com กับแอปพลิเคชันที่ ไม่มีการเชื่อมต่อแบบ Native (Built-in Integration) กับ Make.com โดยใช้ Webhooks สำหรับการรับข้อมูล และ HTTP Modules สำหรับการส่งหรือขอข้อมูล
- Make.com มี Native Integrations ประมาณ 2,000 แอปพลิเคชัน แต่มีแอปพลิเคชันอื่นๆ อีกหลายหมื่นที่ไม่มี
- Webhooks และ HTTP Modules เป็นวิธีที่ช่วยให้ Make.com สามารถสื่อสารแบบสองทางกับแอปพลิเคชันเหล่านี้ได้
Webhooks (การรับข้อมูล — Receiving Data):
- คืออะไร: Webhook ใน Make.com คือ URL ที่กำหนดเอง ที่ Make.com สร้างขึ้นเพื่อ รอรับข้อมูล จากแอปพลิเคชันภายนอก
- ตัวอย่างการใช้งาน: รับข้อมูลการส่งแบบฟอร์มจาก JotForm (หรือ Form Builder อื่นๆ), หรือรับข้อมูลจาก CRM (เช่น GoHighLevel) เมื่อมีเหตุการณ์บางอย่างเกิดขึ้น
ขั้นตอนการใช้งาน:
- เพิ่มโมดูล “Webhook” และเลือก “Custom Webhook” ใน Make.com
- Make.com จะสร้าง URL ที่เป็นเอกลักษณ์ขึ้นมา
- นำ URL นี้ไป คัดลอกและวาง ในการตั้งค่า Webhook ของแอปพลิเคชันภายนอกที่คุณต้องการให้ส่งข้อมูลมา
- เมื่อมีข้อมูลถูกส่งจากแอปพลิเคชันภายนอก (เช่น มีคนกรอกฟอร์ม) ข้อมูลนั้นจะถูก “POST” ไปยัง URL ของ Webhook ที่ Make.com และ Make.com จะรับข้อมูลนั้นเข้ามาใน Scenario
- การ Parse JSON: บางครั้งข้อมูลที่รับผ่าน Webhook อาจมาในรูปแบบ “Raw Request File” (ข้อความดิบ) จำเป็นต้องใช้โมดูล “Parse JSON” เพื่อแปลงข้อมูลให้อยู่ในรูปแบบที่ Make.com สามารถอ่านและนำไปใช้ต่อได้ (เช่น แยก First Name, Last Name, Email ออกมา)
HTTP Modules (การส่งและขอข้อมูล — Sending/Requesting Data)
คืออะไร: เป็นโมดูลที่ช่วยให้ Make.com สามารถ ส่งคำขอ (Requests) ไปยัง API ของแอปพลิเคชันภายนอก หรือ รับข้อมูล (Responses) กลับมาได้
โมดูลที่ใช้บ่อยที่สุดคือ “Make a Request”:
- URL: คือ “API Endpoint” หรือปลายทางที่ Make.com จะสื่อสารด้วย
- Method (ภาษาของการเขียนโค้ด):
- POST: ใช้สำหรับ ส่งข้อมูลใหม่ เพื่อสร้างสิ่งใหม่ (อยู่ฝั่ง App ที่เป็นฝั่งส่งข้อมูล)
- GET: ใช้สำหรับ ขอหรือรับข้อมูล (เช่น ดึงข้อมูล Contact, หรือตรวจสอบความถูกต้องของเบอร์โทรศัพท์)
- PUT: ใช้สำหรับอัปเดตข้อมูล
- DELETE: ใช้สำหรับลบข้อมูล▪
API Documentation: หากติดขัดในการใช้ HTTP Modules ให้ศึกษาจาก API Documentation ของแอปพลิเคชันนั้นๆ หรือใช้ ChatGPT เพื่อขอความช่วยเหลือในการสร้างรูปแบบคำขอที่ถูกต้อง
สรุปท้าย EP2
- ตอนนี้คุณสามารถสร้างระบบสรุปรายงาน Leads ที่ยังไม่ได้ติดต่อในแต่ละวัน และส่งแจ้งเตือนอัตโนมัติได้แล้ว
- คุณได้เรียนรู้การใช้ Set Variable, Array, Filter, Aggregator และเทคนิคสำคัญในการเชื่อมต่อ LINE
- แนวคิดเหล่านี้สามารถต่อยอดไปสร้างระบบ Automation ที่ซับซ้อนได้อีกมาก
ถ้าคุณชอบคอนเทนต์แบบนี้ อย่าลืมกดติดตาม! ด้วยนะครับ ขอบคุณมากๆครับ
Data Science Explore the world of data science with Donato_Story
ashboard Discover the power of data visualization with Donato_Story
Donato_Journey Join me on my journey (Thai version)
Course_Review Discover the training courses with Donato_Story (Thai version)
Let’s Connect!
Your thoughts and feedback are invaluable. Feel free to share them in the comments or connect with me on
- 🌐 Medium: medium.com/donato-story
- 📘Facebook: web.facebook.com/DonatoStory
- 💼 Linkedin: linkedin.com/in/nattapong-thanngam
Originally published on Medium
Related
10 เรื่องเกี่ยวกับ Claude ที่น่าเอาไปใช้ต่อ — EP.1
รวมแนวคิดจากหลายบทความและ Open Source Project สำหรับคนที่อยากใช้ AI ให้เก่งกว่าแค่ถาม-ตอบ
20 AI Use Cases สนุก ๆ ที่ผมลองแล้วอยากบอกต่อ — EP1
Prompt และเทคนิคเล็ก ๆ ที่ช่วยให้เราใช้ Generative AI ได้มากกว่าการคุยกับ Chatbot
AI in the Enterprise โดย OpenAI
ถอดรหัสเคล็ดลับองค์กรระดับโลก ปลดล็อกศักยภาพ AI สร้างความได้เปรียบทางธุรกิจ
Chat with Document: Basics and Demonstrations
Data Mastery Series — Episode 20: The Chat with Document and Langchain Series (Part 1)