n8n Thai
by n8n Thai

ตั้งเวลา Workflow ด้วย Cron/Schedule ใน n8n

เรียนรู้วิธีตั้ง Schedule Trigger ใน n8n ทั้งแบบ Interval, เวลาที่กำหนด และ Cron Expression เพื่อให้ Workflow ทำงานอัตโนมัติตามเวลา

ตั้งเวลา Workflow ด้วย Cron/Schedule ใน n8n

Automation ที่ดีควรทำงานเองโดยไม่ต้องมีคนกดปุ่ม รายงานยอดขายควรส่งเองทุกเช้า Backup ข้อมูลควรทำเองทุกคืน ราคาสินค้าควร sync เองทุกชั่วโมง นี่คือสิ่งที่ Schedule Trigger ทำได้

Schedule Trigger คืออะไร

Schedule Trigger คือ Node ที่ทำหน้าที่เป็น “นาฬิกาปลุก” ให้ Workflow — มันไม่ต้องรอ Input จากภายนอก แต่ตรวจเวลาเองและ trigger Workflow เมื่อถึงเวลาที่กำหนด

n8n ใช้ระบบ Cron ที่รันอยู่ใน Instance จึงต้องมี Instance n8n ทำงานอยู่ตลอดเวลา ถ้า Instance หยุดทำงาน Schedule Trigger จะไม่ trigger จนกว่าจะ restart

ตั้งค่าแบบ Interval

วิธีง่ายที่สุดคือตั้งให้ทำงานทุกๆ X เวลา เหมาะกับงานที่ต้องทำซ้ำสม่ำเสมอโดยไม่สนใจเวลาที่แน่นอน

ตัวอย่าง:

  • ทุก 15 นาที — ดึง Order ใหม่จาก Shopee
  • ทุก 1 ชั่วโมง — sync ราคาสินค้าจาก Supplier
  • ทุก 6 ชั่วโมง — backup ข้อมูลลูกค้า

ตั้งค่า: เลือก Trigger Interval → กำหนด value และ unit (Minutes, Hours, Days)

ข้อควรระวัง: Interval เริ่มนับจากเวลาที่ activate Workflow ไม่ใช่เวลากลม เช่น activate ตอน 09:23 ตั้ง interval 1 ชั่วโมง จะ trigger ที่ 10:23, 11:23, … ไม่ใช่ 10:00, 11:00

ตั้งค่าแบบเวลาที่กำหนด

เลือก “On a Specific Time” เพื่อกำหนดว่าต้องการให้ทำงานวันละกี่ครั้ง เวลาอะไร วันไหนบ้าง

ตัวอย่าง:

  • 08:00 น. ทุกวันจันทร์-ศุกร์ — ส่งรายงานประจำวัน
  • 23:00 น. ทุกวัน — ส่งสรุปยอดขายประจำวัน
  • 06:00 น. ทุกวันอาทิตย์ — สรุปรายงานประจำสัปดาห์

ตั้งค่า: เลือก Day of Week ที่ต้องการ ใส่ Hour และ Minute

Cron Expression: ความยืดหยุ่นสูงสุด

สำหรับตารางเวลาที่ซับซ้อนกว่า ใช้ Cron Expression — สตริงที่กำหนดรูปแบบเวลาได้ละเอียดสูง

โครงสร้าง Cron Expression:

┌───────── นาที (0-59)
│ ┌─────── ชั่วโมง (0-23)
│ │ ┌───── วันที่ (1-31)
│ │ │ ┌─── เดือน (1-12)
│ │ │ │ ┌─ วันในสัปดาห์ (0-7, 0=อาทิตย์, 7=อาทิตย์)
│ │ │ │ │
* * * * *

ตัวอย่าง Cron Expression ที่ใช้บ่อย:

Expressionความหมาย
0 8 * * 1-5ทุกวันทำงาน เวลา 08:00
0 23 * * *ทุกคืน เวลา 23:00
0 */2 * * *ทุก 2 ชั่วโมง
0 8,12,18 * * *เวลา 08:00, 12:00 และ 18:00
0 9 * * 1ทุกวันจันทร์ เวลา 09:00
0 9 1 * *วันที่ 1 ของทุกเดือน เวลา 09:00
30 8 * * 1-5ทุกวันทำงาน เวลา 08:30
0 0 * * 0ทุกวันอาทิตย์ เที่ยงคืน

เว็บไซต์ crontab.guru ช่วย generate และ verify Cron Expression ได้สะดวก

Timezone

ค่า default ของ n8n คือ UTC (UTC+0) ซึ่งต่างจากเวลาไทย (UTC+7) ถึง 7 ชั่วโมง ถ้าต้องการให้ Workflow ทำงานตาม “เวลาไทย” ต้องตั้ง Timezone

วิธีตั้ง Timezone:

ระดับ Instance: ไปที่ Settings → Timezone → เลือก Asia/Bangkok นี่คือวิธีที่แนะนำที่สุด จะมีผลกับทุก Schedule ใน Instance

ระดับ Workflow: บาง n8n version อนุญาตให้ตั้ง Timezone ในแต่ละ Schedule Trigger เลือก Timezone → Asia/Bangkok

ตัวอย่างปัญหาที่พบบ่อย: ตั้ง Cron 0 8 * * * โดยคิดว่าคือ 08:00 น. ตามเวลาไทย แต่จริงๆ รันตอน 15:00 น. ไทย เพราะ n8n ใช้ UTC

การแก้: ถ้า Timezone เป็น UTC และต้องการรันตอน 08:00 น. ไทย ให้ใช้ 0 1 * * * (01:00 UTC = 08:00 TH)

Staggered Schedule: กระจาย Load

ถ้ามีหลาย Workflow ที่ทำงานพร้อมกัน เช่น 10 Workflow ทุกตัว trigger เวลา 09:00 น. Instance อาจรับ Load มากเกินไปในช่วง 09:00-09:05 น.

แก้ด้วยการ stagger (กระจาย) เวลาให้ไม่ตรงกัน:

Workflow A: 09:00
Workflow B: 09:03
Workflow C: 09:06
Workflow D: 09:09

ใช้ Cron Expression:

0 9 * * *       → 09:00
3 9 * * *       → 09:03
6 9 * * *       → 09:06
9 9 * * *       → 09:09

หยุด Schedule ชั่วคราว

เมื่อต้องการหยุด Schedule Trigger โดยไม่ลบ Workflow ให้ Deactivate Workflow (Toggle ที่ header ของ Workflow) แทนการลบ Schedule Trigger — Workflow จะไม่ trigger จนกว่าจะ activate กลับ

Schedule vs Webhook: เลือกอะไร

กรณีแนะนำ
ทำงานตามเวลาที่กำหนดSchedule Trigger
ทำงานเมื่อมี Event เกิดขึ้นWebhook Trigger
รายงานรายวัน/รายสัปดาห์Schedule Trigger
ตอบสนอง User ActionWebhook Trigger
Sync ข้อมูลเป็น BatchSchedule Trigger
Real-time notificationWebhook Trigger

บางงานต้องการทั้งสองอย่าง เช่น Sync ข้อมูลทุก 1 ชั่วโมง (Schedule) แต่ถ้ามี Order เร่งด่วนให้ sync ทันที (Webhook) สามารถมีทั้งสอง Trigger ในระบบเดียวกันได้โดยให้ไปเรียก Sub-Workflow เดียวกัน

ตัวอย่างจริง: ระบบรายงานยอดขายอัตโนมัติ

Schedule Trigger (Cron: 0 8 * * 1-5, Timezone: Asia/Bangkok)
  → Google Sheets (ดึงข้อมูลยอดขายเมื่อวาน)
  → Code Node (คำนวณสรุป: ยอดรวม, เปรียบเทียบกับวันก่อน, top products)
  → Google Sheets (บันทึก summary ลงชีตรายงาน)
  → LINE Notify (ส่งรายงานหาทีม)
  → Email (ส่งรายงาน PDF หาผู้จัดการ)

Workflow นี้รันตอน 08:00 น. ทุกวันทำงาน ทีมงานตื่นมาก็มีรายงานรออยู่แล้วใน LINE และอีเมล

Schedule Trigger เป็นสิ่งที่เปลี่ยน Workflow จาก “ทำงานได้” เป็น “ทำงานเองจริงๆ” — ไม่ต้องมีคนนั่งกดปุ่มทุกวัน ทุกชั่วโมง Automation ทำงานให้ตลอด 24 ชั่วโมง

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

Related posts