[Workshop] สร้างระบบแจ้งเตือน Telegram bot เมื่อใกล้กำหนดส่งงาน แบบ No-Code ด้วย Activepieces ใน 30 นาที

บทความนี้เป็นบทความประกอบ Video วิธีสร้างระบบแจ้งเตือน Telegram bot เมื่อใกล้กำหนดส่งงาน แบบ No-Code ด้วย Activepieces ใน 30 นาที

Activepieces คือเครื่องมือทำ Automation แบบ No-Code สามารถสร้างระบบอัติโนมัติของตัวเองเพื่อลดงานซ้ำซ้อนที่ทำซ้ำ ๆ แล้วอาจจะเกิดความผิดพลาดได้ง่าย โดยมีจุดเด่นที่โปรแกรมเป็น Open Source ใช้งานได้ฟรี และรองรับการเชื่อมต่อกับ Gen AI อย่าง ChatGPT, Claude และอื่น ๆ ดูวีดีโอแนะนำ Activepieces ได้ที่นี่

ปรึกษาปัญหา หรืออยากเห็นเคสตัวอย่างจากผู้ใช้จริง ให้เข้าร่วมกลุ่ม Facebook Activepieces Facebook Community

เลือกอ่านเฉพาะหัวข้อ -

ภาพรวม / Project Overview

แนะนำภาพรวมของ Project สร้างระบบแจ้งเตือน Telegram bot แบบ No-Code ด้วย Activepieces โดย Project นี้ระบบจะอ่านข้อมูล Due date ใน Google Sheet และแจ้งเตือนล่วงหน้า 2 วันก่อนเวลาเพื่อเตือนผู้ใช้งาน

ปัญหาและความต้องการ

แผนกผลิตเฟอร์นิเจอร์ที่มีกำหนดส่งงานเป็นประจำ

แผนกผลิตเฟอร์นิเจอร์มี Project เข้ามามากมาย โดยอัปเดต Task งานผ่าน Google Sheet และมีการดูข้อมูลประจำวันเพื่อดูว่า Project ไหนต้องทำก่อนตอนลำดับของ Deadline (งานไหนใกล้ส่งมากกว่า ก็ทำอันนั้นก่อน)

เป้าหมายของ Project

โครงสร้างระบบแจ้งเตือน Telegram bot เมื่อใกล้กำหนดส่งงาน

โดยปกติหากใช้โปรแกรมกลุ่ม Task Management เช่น ClickUp, Jira หรือ Monday จะมีฟีเจอร์แจ้งเตือนเมื่อถึงกำหนดเวลาให้อยู่แล้ว แต่หากธุรกิจยังไม่ได้วางแผนงานผ่านเครื่องมือเหล่านี้แต่ใช้ Google Sheet เป็นหลัก การทำ Automation รูปแบบนี้ก็สามารถช่วยให้สามารถทำงานต่อได้ทันทีโดยไม่ต้องย้าย Platform ไปเรียนรู้ใหม่

แผนกผลิตเฟอร์นิเจอร์อัปเดต Task งานผ่าน Google Sheet และเมื่อกำหนดส่งงานคืออีก 2 วันข้างหน้า ระบบ Activepieces จะส่งแจ้งเตือนกำหนดส่งให้ผ่าน Telegram Bot

ประโยชน์ที่คาดว่าจะได้รับ

  • เพิ่มความสะดวกในการทำงานผ่านการแจ้งเตือนก่อนถึงเวลานัดหมาย

การใช้ Telegram Bot ในการส่งแจ้งเตือน (Notification) มีข้อดีข้อเสียอย่างไร ?

Telegram Bot คือโปรแกรมอัตโนมัติที่ทำงานบนแพลตฟอร์ม Telegram (โปรแกรม Chat เหมือน LINE, Whatsapp) ซึ่งสามารถโต้ตอบกับผู้ใช้ได้เหมือนบัญชีผู้ใช้ทั่วไป โดยส่วนใหญ่ใช้เพื่อทำระบบแจ้งเตือนในองค์กรเล็ก ๆ (ทดแทนระบบ LINE Notify ที่เพิ่งปิดบริการไป)

ข้อดีของ Telegram Bot

  • ไม่มีค่าใช้จ่าย Telegram Bot ฟรีทั้งในการสร้างและใช้งาน ไม่มีข้อจำกัดในการส่งข้อความ ทำให้เหมาะกับโปรเจกต์ที่มีงบประมาณจำกัด
  • การส่งข้อความแบบ Real-time ข้อความจะถูกส่งถึงผู้ใช้ทันทีผ่าน push notification ของ Telegram ทำให้การแจ้งเตือนมีประสิทธิภาพสูง
  • รองรับมีเดียหลากหลาย สามารถส่งข้อความ รูปภาพ วิดีโอ ไฟล์ เอกสาร และข้อความแบบ HTML/Markdown ได้
  • สามารถตั้งค่าการเก็บ และการเคลียร์ข้อมูลได้ Telegram สามารถตั้งค่าการจัดเก็บ หรือดาวน์โหลดไฟล์ได้ ทำให้จัดการความจำบนเครื่องได้ดี ไม่เหมือน LINE ที่ยิ่งใช้ ยิ่งหนักเครื่อง

ข้อจำกัดของ Telegram Bot

  • การตั้งค่าต่าง ๆ ทำผ่าน BotFather การตั้งค่าการสร้าง Bot จะทำผ่าน Chat ซึ่งบางคนอาจจะคุ้นชินการตั้งค่า Bot ผ่านโปรแกรมแยกมากกว่า
  • ผู้ใช้ต้องใช้ Telegram หากผู้ใช้ไม่มี Telegram หรือไม่ต้องการใช้ จะไม่สามารถรับแจ้งเตือนได้ ซึ่งอาจจำกัดการเข้าถึง
  • ไม่สามารถส่งให้ผู้ที่ไม่ได้เริ่มการสนทนา ผู้ใช้ต้อง start bot ก่อน จึงจะสามารถรับข้อความได้
  • ขนาดไฟล์จำกัด ไฟล์ที่ส่งผ่าน Bot มีขนาดจำกัดไม่เกิน 50MB
  • ข้อจำกัดการส่งข้อความ จำนวนข้อความที่บอทสามารถส่งไปยังกลุ่มเดียวในช่วงเวลาที่กำหนดให้หลีกเลี่ยงการส่งเกิน 20 ข้อความต่อนาที และหากส่งเกินจะถูกจำกัดการใช้งานชั่วคราว

Telegram Bot เหมาะสำหรับ:

  • การแจ้งเตือนในทีมเล็กๆ หรือชุมชน
  • ระบบ Monitoring และ Alerting

ค่าใช้จ่ายที่อาจจะเกิดขึ้น / Cost Breakdown

1. Activepieces

ใน Project นี้เราจะใช้ Activepieces ในการรัน Automation ซึ่งมีค่าใช้จ่ายแล้วแต่วิธีการติดตั้ง โดยสามารถลองใช้งานได้ฟรี 1,000 tasks ต่อเดือนผ่านการใช้งานแบบ Cloud

แนวคิดการพัฒนา / Task Breakdown

ขั้นตอนในการลงมือทำไล่เป็นขั้นตอนจากง่ายไปยาก โดยหากทำตามขั้นตอนเหล่านี้จะสามารถเห็นภาพรวมของการพัฒนาได้ดียิ่งขึ้น

  1. เตรียมระบบ
    1. สมัครใช้งาน Telegram และเปิดการใช้งาน Bot
    2. เตรียมไฟล์ Google Sheet สำหรับเป็นตัวส่งข้อมูล
  2. พัฒนา Automation ด้วย Activepieces
    1. สร้าง Trigger เป็นการตั้งเวลาให้ระบบทำงานทุกวันตอน 7 โมงเช้า
    2. สร้าง Action ให้ระบบสร้างส่งข้อความผ่าน Telegram Bot ได้
    3. เพิ่มความสามารถให้ระบบส่งข้อความผ่านเงื่อนไขเวลา
      1. ดึงข้อมูลวันในอีก 2 วันข้างหน้า นับจากปัจจุบัน
      2. ค้นหา Due Date ใน Google Sheet ว่ามี Record ไหนบ้างที่มี Due Date คืออีก 2 วันข้างหน้า นับจากปัจจุบัน
    4. เพิ่มความสามารถให้ระบบส่งข้อความได้หลาย ๆ ครั้ง กรณีมีข้อมูลมากกว่า 1 ที่เข้าเงื่อนไข

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

  • Activepieces account
    สมัครเข้าใช้งานที่นี่ https://activepieces.com/
  • Telegram account
    สมัครเข้าใช้งานที่นี่ https://telegram.org/
  • Google account
    สำหรับสร้าง Google Form, Google Drive และ Google Sheet

ขั้นตอนการลงมือทำ / How to

1. สมัครใช้งาน Telegram

สมัครใช้งาน Telegram ให้เรียบร้อย โดยแนะนำให้สมัครผ่าน Mobile application เพื่อให้ตั้งค่าระบบได้อย่างเต็มที่

เข้าไปที่ https://telegram.org/ เพื่อดาวน์โหลดโปรแกรม เพื่อสมัครเข้าใช้งาน
เข้าไปที่ https://telegram.org/ เพื่อดาวน์โหลดโปรแกรม เพื่อสมัครเข้าใช้งาน
กรณีที่ไม่อยากลงโปรแกรมเพิ่มเติม (ใช้งานผ่าน Web Browser) ทาง Telegram มี Web apps ให้ โดยเข้าไปที่ https://web.telegram.org/k/ (แนะนำให้สมัครสมาชิกให้เรียบร้อยก่อนใช้งานผ่าน Web apps)
กรณีที่ไม่อยากลงโปรแกรมเพิ่มเติม (ใช้งานผ่าน Web Browser) ทาง Telegram มี Web apps ให้ โดยเข้าไปที่ https://web.telegram.org/k/ (แนะนำให้สมัครสมาชิกให้เรียบร้อยก่อนใช้งานผ่าน Web apps)

อย่าลืมกดยอมรับ Notification ใน Telegram ด้วยไม่งั้นคุณจะไม่ได้รับแจ้งเตือนจาก Telegram Bot

2. เปิดใช้งาน Telegram Bot ผ่าน BotFather

เข้าไปที่โปรแกรม Telegram และมองหา @BotFather ซึ่งเป็น Bot สำหรับสร้าง Telegram Bot ตามภาพ และเริ่มสร้าง Bot โดยพิมคำสั่ง /start ตามด้วย /newbot

เสริชหา @BotFather (ระวังของปลอม)
เสริชหา @BotFather (ระวังของปลอม)
รายชื่อคำสั่งทั้งหมดที่รองรับในการสร้าง Bot ใน @BotFather
รายชื่อคำสั่งทั้งหมดที่รองรับในการสร้าง Bot ใน @BotFather

รายชื่อคำสั่งทั้งหมดที่รองรับในการสร้าง Bot อย่าง

  • การสร้าง bot จะใช้ /newbot
  • การตรวจสอบ bot ของตัวเองจะใช้ /mybots

เมื่อเริ่มสร้าง Bot เราจะให้ตั้ง Name และ Username ของ Bot (โดย Username <@USERNAME> จะใช้เป็นชื่อให้ผู้ค้นหา และอ้างอิงถึง Bot จึงเปลี่ยนแปลงภายหลังไม่ได้)

โดยหลังจากสร้าง Bot เสร็จเรียบร้อยแล้ว ระบบจะให้ Access Token ซึ่งเปรียบเสมือนกุญแจในการเข้าใช้งาน Bot ตัวนี้

Access Token เป็นรหัสที่ห้ามเปิดเผยให้ใครเห็นโดยเด็ดขาด เพราะจะทำให้เขาสามารถใช้งานระบบนี้แทนตัวเราได้เลย หากสงสัยว่าถูกแฮก เราสามารถใช้คำสั่ง /revoke เพื่อให้ระบบสร้าง Access Token อันใหม่ให้ (อันเก่าจะใช้งานไม่ได้อีกต่อไป)

3. สร้าง Flow ใน Activepieces

เปิด Flow / Project ใหม่ใน Activepieces

เปิด Flow / Project ใหม่ใน Activepieces

  • เข้าสู่ระบบ Activepieces
  • ไปที่ Menu Flows และกด New Flow
  • กดสร้าง + From scratch
  • ตั้งชื่อ Flow เป็น Telegram Bot Notify

4. เลือก Trigger เป็น Schedule | Everyday

ใน Activepieces ให้เลือก Trigger เป็น Schedule | Everyday

ในขั้นตอนนี้เราจะตั้งค่าให้ระบบนี้ทำงานทุกวันตอนเช้าผ่านการใช้ Trigger Schedule | Everyday โดยตั้งค่าดังนี้

  • Hour of the day: 7am
  • Timezone: Asia, Bangkok

5. เลือก Action เป็น Telegram Bot | Send Text Message

ในขั้นตอนนี้เราจะเชื่อมต่อ Telegram Bot เข้ามาใน Activepieces โดย เลือก Action เป็น Telegram Bot | Send Text Message และตั้งค่าดังนี้

  • Bot Token: ใส่ข้อความ Access token
  • Chat ID: ID ของผู้รับไม่ว่าจะเป็น User หรือ Group ในที่นี้ถ้าผู้รับเป็น User ให้เราเพิ่มเพื่อนเป็น Bot @getmyid_bot เพื่อหา Chat ID ของตัวเอง
  • Format: Markdown
  • Message: ใส่ข้อความสำหรับส่งใน Bot เช่น “Hello World”
  • Reply Markup: (ส่วนนี้กรณีที่ต้องการแสดงผลแบบ Rich Text เหมือนใน LINE แต่ต้องใส่ข้อมูลเป็น JSON เอง)

6. ทดลองส่ง Message ด้วย Activepieces

ในขั้นตอนนี้เราจะลองทดสอบการส่งข้อมูลใน Activepieces ด้วยการกด Test result ใน Telegram Bot Action

หากในขั้นตอนนี้ส่งข้อมูลไม่สำเร็จเพราะเรายังไม่ได้เพิ่ม Bot เป็นเพื่อน วิธีแก้ให้เพิ่ม Bot เป็นเพื่อน และพิม /start และลองส่งใหม่อีกรอบ

7. สร้าง Google Sheet เพื่อใส่ข้อมูลการแจ้งเตือนตามเงื่อนไขเวลา

ตัวอย่างไฟล์ Google Sheet
ตัวอย่างไฟล์ Google Sheet

ในขั้นตอนนี้ เราจะสร้างไฟล์ Google Sheet ใหม่ (ตั้งค่า Locale ให้บันทึกเป็น DD/MM/YYYY) หรือก็อปปี้จากตัวอย่างด้านล่าง เพื่อใช้เป็นส่วนที่ Trigger การส่ง Telegram Bot ด้วยเงื่อนไขที่ว่า

เงื่อนไขคือ หาก Due Date ของ Project ใด ๆ เป็นอีก 2 วันข้างหน้านับจากวันนี้ให้ส่งแจ้งเตือนไปที่ Telegram

โดยอย่างถ้าวันนี้เป็นวันที่ 07/06/2025 ส่วน Due Date ที่จะเข้าเงื่อนไขคือ 09/06/2025 หรือ Project ID ที่ 1 กับ 3 นั่นเอง

ตัวอย่าง Google Sheet ที่ใช้ใน Project นี้

8. เลือก Action Date Helper เพื่อหาเวลาในอีก 2 วันข้างหน้า

การใช้ Date Helper ในการดึงเวลาสำหรับการตรวจสอบเงื่อนไข
การใช้ Date Helper ในการดึงเวลาสำหรับการตรวจสอบเงื่อนไข

ขั้นตอนนี้จะเป็นการใช้ Action ดังต่อไปนี้

  1. เลือก Date Helper | Get Current Date และ ตั้งค่าดังนี้
    1. Time Format: (DD/MM/YYYY)
    2. Time Zone: (Asia, Bangkok)
  2. เลือก Date Helper | Add / Subtract Time และ ตั้งค่าดังนี้
    1. Input Date: ให้เอามาจาก Get Current Date
    2. From Time Format: (DD/MM/YYYY)
    3. To Time Format: (DD/MM/YYYY)
    4. Expression: +2 day

9. ดึงข้อมูลใน Google Sheet ตามเงื่อนไขเวลาด้วย Action Google Sheet | Find Rows

การใช้ Action เพื่อหา Record ตามเงื่อนไขที่กำหนด
การใช้ Action เพื่อหา Record ตามเงื่อนไขที่กำหนด

ในขั้นตอนนี้ เราจะเอา วันที่ ในอีก 2 วันข้างหน้า ที่คำนวนมาแล้ว มาค้นหาใน Google Sheet โดยใช้ Find Rows | Google Sheets และตั้งค่าดังนี้

  • Connection: เลือก Account ของตัวเอง
  • Spreadsheet: เลือกข้อมูลของตัวเอง
  • Sheet: เลือกข้อมูลของตัวเอง
  • The name of the column to search in: เลือก Due Date
  • Search Value: เลือกข้อมูลจากขั้นตอนก่อนหน้า
  • Exact match: เลือก Exact match
  • Starting Row: เลือก 1 (แถวที่ 1 โดยแถวที่ 0 คือหัวข้อของข้อมูล)
  • Number of Rows: จำนวนแถวสูงสุดที่จะเข้าเงื่อนไขตั้งไว้ที่ 100 ก่อน

เมื่อตั้งค่าเสร็จแล้ว ลองกดทดสอบเพื่อเช็คว่ามี Record ไหนเข้าเงื่อนไขบ้าง

10. สร้าง Action Loop on Items เพื่อใช้งานกับ Telegram Bot

ในส่วนนี้ เราจะใช้ Action Loop on Items โดยภายใต้ Loop จะมี Action ของ Telegram Bot ตามภาพ

การใช้งาน Loop on Items เพื่อทำงานตามจำนวน Result ในขั้นตอนก่อนหน้า
การใช้งาน Loop on Items เพื่อทำงานตามจำนวน Result ในขั้นตอนก่อนหน้า

ส่วนของ Loop on Items ให้เราตั้งค่าดังนี้

  • Items: ให้เอา Result จาก Find Rows ใน Google Sheet มาใส่
  • กด Test Result เพื่อทดสอบการทำงาน

ต่อไปจะเป็นส่วนที่เราแก้ไข Telegram Bot ให้ส่งข้อมูลตามข้อมูลใน Google Sheet

การตั้งค่า Telegram Bot ใหม่
การตั้งค่า Telegram Bot ใหม่

ในส่วนของ Telegram Bot ให้ตั้งค่าไว้คงเดิม โดยเปลี่ยน Message ให้เอาค่าจากการ Loop on Items ตาม Template นี้

<<Project Name>> จะถึงกำหนดส่งภายใน <<Due Date>>

11. ทดสอบ และ กด Publish เพื่อใช้งานจริง

ตัวอย่างการใส่ข้อมูลตามเงื่อนไขจาก Google Sheet เข้าไปใน Telegram chat
ตัวอย่างการใส่ข้อมูลตามเงื่อนไขจาก Google Sheet เข้าไปใน Telegram chat

เมื่อตั้งค่าเสร็จทั้งหมดแล้ว ให้ลองกด Test Flow เพื่อลองรัน Flow ทั้งหมดเพื่อดูผลลัพธ์ และกด Publish เพื่อรันการใช้งานจริงได้เลย

ไฟล์สำเร็จรูป และแหล่งอ้างอิงอื่น ๆ

ศึกษาการปรับแต่ง Telegram Bot เพิ่มเติมได้ที่นี่

แนวทางการต่อยอดเพิ่มเติม และข้อจำกัดใน Project นี้

การตั้งค่าการส่งและลบข้อความใน Telegram

โดยปกติแล้ว Telegram ชูจุดเด่นเรื่องความเป็นส่วนตัว ทำให้มีบางฟีเจอร์ที่เราต้องไปปิดการตั้งค่าเริ่มต้นก่อน (ทำผ่าน Application เท่านั้น ทำใน Web App ไม่ได้) เช่น

  • ปิดการ Auto delete message
  • ปิดการ Delete account เมื่อไม่ใช้งานเกิน 6 เดือน

กรณีที่ Access token ของ Telegram bot ถูกเปิดเผย หรือถูกแฮกจะทำอย่างไร ?

เมื่อ Access token ของ Telegram Bot ถูกลักลอบนำไปใช้ต่อไม่ว่าวิธีไหนก็ตาม เราจะยังสามารถตัดสิทธิการใช้งานได้ผ่านการใช้คำสั่ง /revoke ใน @BotFather เพื่อทำให้ Access token เดิมไม่สามารถใช้งานได้ แล้วมาใช้อันใหม่แทน

ให้ Telegram Bot ส่งข้อมูลไปที่ Group Chat แทนต้องทำอย่างไร ?

ตัวอย่างการส่ง Message ของ Telegram bot ใน Group
ตัวอย่างการส่ง Message ของ Telegram bot ใน Group

หากต้องการให้ Telegram Bot ส่งแจ้งเตือนไปที่ Group Chat นั้น เราต้องหา Chat ID ของ Group Chat เอง ผ่านการไปเช็คประวัติการส่งข้อความของ Bot โดยมีขั้นตอนดังนี้

  • สร้าง Group ใน Telegram และเพิ่ม Bot เข้าไป
  • ตั้งค่าให้ Bot เป็น Admin ใน Group ผ่านการ Settings → Administration (การทำแบบนี้จะทำให้ Group เปลี่ยนเป็น supergroup)
  • พิมพ์ข้อความอะไรก็ได้ เข้าไปใน Group
  • วิธีการหา ChatID ของ Group (ตัวอย่าง ChatID เช่น -12345)
    • เพิ่ม @getidsbot เข้าไปใน Group
    • หรือหาประวัติการส่งข้อความของ Bot เพื่อหา Chat ID ของ Group https://api.telegram.org/bot<TOKEN>/getUpdates
  • นำ Chat ID ไปแทน Chat ID เดิม

คำถามที่พบบ่อยเกี่ยวกับ Project นี้

ยังไม่มี