Development

Novu 2026: Open-Source Notification Infrastructure สำหรับ SME ไทย (Multi-Channel)

คู่มือ Novu Open-Source Notification Infrastructure 2026 — รวม Email, SMS, Push, In-App Inbox, Slack, LINE LIFF ไว้ใน API เดียว Workflow แบบ Code-First รองรับ SME ไทย ลด Dev Time 60% และลด Vendor Lock-in จาก SaaS

AF
ADS FIT Team
·8 นาที
Share:

# Novu 2026: Open-Source Notification Infrastructure สำหรับ SME ไทย (Multi-Channel)

ระบบ Notification คือ "ทางออก" ของแอปพลิเคชันสมัยใหม่ ไม่ว่าจะเป็น OTP สมัครสมาชิก, แจ้งเตือนคำสั่งซื้อใหม่ใน Slack ของฝ่ายขาย, ส่ง LINE Push หาลูกค้า, อีเมลรายงานยอดขายรายวัน หรือ In-App Inbox ในแดชบอร์ด — ปัญหาที่ SME ไทยพบคือต้องเชื่อม SendGrid, Twilio, Firebase, Pusher, LINE Messaging แยกกันคนละบริการ ทำให้ Codebase เละและสลับ Vendor ยาก

Novu คือ Open-Source Notification Infrastructure (License Apache 2.0) ที่รวบรวมทุก Channel ไว้ใน API เดียว มาพร้อม Workflow แบบ Code-First, In-App Inbox Component สำเร็จรูป, และ Provider Abstraction กว่า 30 รายให้สลับใช้ได้ทันที

บทความนี้สรุปทุกอย่างที่ PM และ Tech Lead SME ไทยต้องรู้ — ตั้งแต่สถาปัตยกรรม, การเปรียบเทียบกับ Knock / Courier / Engagespot, Use Case จริง, ไปจนถึงวิธี Self-Host บน Docker

Novu คืออะไร? โครงสร้างที่ Dev ไทยควรเข้าใจ

Novu เป็น Notification Layer ที่นั่งระหว่าง Backend ของคุณกับผู้ให้บริการส่งข้อความ (Provider) ทีมเพียงเขียน Workflow ครั้งเดียวด้วย TypeScript SDK แล้ว Trigger ผ่าน API — ระบบจะตัดสินใจเองว่าจะส่งช่องทางไหน ตามเงื่อนไข Subscriber Preference, Quiet Hours, และ Digest

องค์ประกอบหลัก:

  • **Workflow Engine** — Step-based DAG (Email → wait 1h → Push → wait 1d → SMS) เขียนเป็น Code
  • **Subscriber Management** — บริหารผู้รับ Notification รวมถึง Channel Preference ของแต่ละคน
  • **Provider Abstraction** — เปลี่ยนจาก SendGrid → Mailgun ไม่ต้องแก้ Business Logic
  • **In-App Inbox** — React Component (`<Inbox />`) ที่ Drop-in ในแดชบอร์ดได้ทันที
  • **Topics** — Group ผู้รับได้ เช่น "all-admins" สำหรับ Broadcast
  • **Tenant Isolation** — Multi-tenant ในตัว เหมาะกับ SaaS ของไทยที่ขายแบบ B2B
  • เปรียบเทียบ Novu vs Knock vs Courier vs Engagespot

    | คุณสมบัติ | Novu | Knock | Courier | Engagespot |

    |-----------|------|-------|---------|------------|

    | License | Apache 2.0 (Open Source) | Proprietary | Proprietary | Source-Available |

    | Self-Hosted | ✓ ฟรี | ✗ | ✗ | ✓ จำกัด |

    | Free Tier (Cloud) | 30,000 events/เดือน | 10,000 | 10,000 | 10,000 |

    | Channels Built-in | Email, SMS, Push, Chat, In-App | ครบทุก channel | ครบทุก channel | ครบทุก channel |

    | Provider จำนวน | 30+ | 50+ | 70+ | 20+ |

    | Workflow Editor | Code + Visual | Visual + Code | Visual + Code | Visual |

    | In-App Inbox Component | ✓ React/Vue/Angular | ✓ | ✓ | ✓ |

    | MAU Pricing | ✗ (Pay per event) | ✓ | ✓ | ✓ |

    | Vendor Lock-in | ต่ำมาก | ปานกลาง-สูง | สูง | ปานกลาง |

    | ภาษาไทยใน Email | ✓ Native | ✓ | ✓ | ✓ |

    สรุปสำหรับ SME ไทย: ถ้าต้องการ Self-Host เพื่อปฏิบัติตาม PDPA และไม่ต้องการจ่าย SaaS ต่อหัว → Novu ชนะขาด ส่วน Knock/Courier เหมาะกับองค์กรใหญ่ที่ยอมจ่ายเพื่อความสะดวก

    วิธีติดตั้ง Novu บน SME ไทย (Self-Host, 10 นาที)

    Step 1: เตรียม Server

    แนะนำ:

  • **VPS 2 vCPU + 4GB RAM** (DigitalOcean, Vultr, AWS Lightsail) เพียงพอสำหรับ 100,000 notifications/เดือน
  • ติดตั้ง Docker และ Docker Compose
  • Step 2: Clone และ Run

    ```bash

    git clone https://github.com/novuhq/novu.git

    cd novu/docker

    cp .env.example .env

    # แก้ไข .env: HOST_NAME, NEW_RELIC_LICENSE_KEY (option), JWT_SECRET, MONGO_URL

    docker compose up -d

    ```

    จากนั้นเปิด `http://your-domain:4200` เพื่อเข้า Web Dashboard

    Step 3: เขียน Workflow แรก (Order Confirmation)

    ```typescript

    import { workflow } from '@novu/framework';

    import { z } from 'zod';

    export const orderConfirmation = workflow(

    'order-confirmation',

    async ({ step, payload }) => {

    await step.email('email-confirm', async () => ({

    subject: `ขอบคุณสำหรับคำสั่งซื้อ #${payload.orderId}`,

    body: `ยอดรวม ${payload.total.toLocaleString()} บาท`,

    }));

    await step.delay('wait-1d', { amount: 1, unit: 'days' });

    await step.sms('shipping-update', async () => ({

    body: `คำสั่งซื้อ #${payload.orderId} กำลังจัดส่ง`,

    }));

    },

    {

    payloadSchema: z.object({

    orderId: z.string(),

    total: z.number(),

    }),

    }

    );

    ```

    Step 4: Trigger จาก Backend

    ```typescript

    import { Novu } from '@novu/api';

    const novu = new Novu({ secretKey: process.env.NOVU_SECRET_KEY });

    await novu.trigger({

    workflowId: 'order-confirmation',

    to: { subscriberId: customer.id, email: customer.email, phone: customer.phone },

    payload: { orderId: 'ORD-2026-0042', total: 1250 },

    });

    ```

    Step 5: เพิ่ม In-App Inbox ใน React Dashboard

    ```tsx

    import { Inbox } from '@novu/react';

    <Inbox

    applicationIdentifier={process.env.NEXT_PUBLIC_NOVU_APP_ID}

    subscriberId={user.id}

    appearance={{ baseTheme: 'light', variables: { colorPrimary: '#8b5cf6' } }}

    />

    ```

    Use Cases สำหรับ SME ไทย

    E-commerce / Marketplace

  • Order Confirmation Email + SMS + LINE Push 3 ช่องทางใน Workflow เดียว
  • Cart Abandonment ส่ง Email หลัง 1 ชั่วโมง + SMS หลัง 24 ชั่วโมง
  • Shipping Update ผ่าน LINE LIFF
  • SaaS / B2B Platform

  • In-App Inbox สำหรับแจ้ง Mention, Comment, Activity
  • Daily Digest Email สรุปกิจกรรมใน Workspace
  • Slack Notification เมื่อ Customer ส่ง Support Ticket ใหม่
  • HRTech / EdTech

  • แจ้งเตือนการ Approve Leave ผ่าน Email + Microsoft Teams
  • Push Notification เตือนนักเรียนเรื่อง Assignment Due Date
  • SMS OTP สำหรับ Login ระบบ HR
  • ความปลอดภัย, PDPA และข้อควรระวัง

  • Subscriber PII — เก็บเฉพาะข้อมูลที่จำเป็น (email, phone) และเปิด Encryption at Rest บน MongoDB
  • Webhook Security — ใช้ HMAC Signature เมื่อ Trigger จาก External Service
  • Quiet Hours — ตั้ง Subscriber Preference ห้ามส่ง SMS หลัง 21:00 เพื่อ UX และเลี่ยง คคบ. ร้องเรียน
  • Provider Failover — กำหนด Primary + Fallback Provider เช่น SendGrid → Mailgun ป้องกันงานล่ม
  • Rate Limiting — ตั้ง Rate Limit ต่อ Subscriber กัน Spam และค่าใช้จ่ายบาน
  • Consent Management — บันทึก Consent ของ Subscriber ตามข้อกำหนด PDPA มาตรา 19
  • สรุป + Call to Action

    Novu ช่วยให้ SME ไทยลดเวลาพัฒนาระบบ Notification ได้สูงสุด 60% เปลี่ยนจากการ Maintain Code ส่ง Email/SMS/Push หลายค่ายเป็น Workflow ที่จัดการที่เดียว พร้อมความสามารถระดับ Enterprise (Tenant, Topic, Digest, Failover) ที่เคยมีเฉพาะใน SaaS ราคาสูง

    Key Takeaways:

  • License Apache 2.0 = Self-Host ฟรี ไม่มี Vendor Lock-in
  • Workflow แบบ Code-First เข้ากับ Git, CI/CD ของทีม Dev สมัยใหม่
  • รวม 30+ Provider (SendGrid, Mailgun, Twilio, Firebase, LINE, Slack) ใน API เดียว
  • เหมาะกับ SaaS ไทย, E-commerce, HRTech ที่ต้องการ Notification ครบวงจร
  • ADS FIT ออกแบบและติดตั้ง Notification Infrastructure ด้วย Novu / Knock พร้อมเชื่อม LINE Messaging API, SMS Provider ไทย และระบบ Audit Log ตามมาตรฐาน PDPA — [ติดต่อทีมงาน](https://www.adsfit.co.th/#contact) เพื่อรับคำปรึกษาฟรี หรืออ่านบทความที่เกี่ยวข้อง: [LobeChat Self-Host](https://www.adsfit.co.th/blog) | [Authentik SSO](https://www.adsfit.co.th/blog) | [n8n Workflow](https://www.adsfit.co.th/blog)

    Tags

    #Novu#Open Source#Notification#Multi-Channel#In-App Inbox#SME ไทย

    สนใจโซลูชันนี้?

    ปรึกษาทีม ADS FIT ฟรี เราพร้อมออกแบบระบบที่ฟิตกับธุรกิจของคุณ

    ติดต่อเรา →

    บทความที่เกี่ยวข้อง