PRD / Concepts

Understanding NotiBoost core concepts is essential for effective use.

Event

An event is an occurrence from your product system.

Event Structure

{
  "event_name": "order_created",
  "event_id": "evt_001",
  "occurred_at": "2025-12-01T10:00:00Z",
  "user_id": "u_123",
  "properties": {
    "order_id": "A001",
    "amount": 350000
  }
}

Event Fields

  • event_name - Name of the event, e.g., order_created, payment_success
  • event_id - Unique ID for this event
  • occurred_at - When the event occurred
  • user_id - ID of the related user
  • properties - Additional event properties

Rules

Rules define when and which flows to trigger based on event properties.

Rule Example

{
  "name": "order_created_rule",
  "condition": "event_name == 'order_created' AND properties.amount > 100000",
  "action": "trigger_flow",
  "flow_id": "flow_order_confirm"
}

Rule Characteristics

  • Condition-based: Evaluates based on event properties
  • Deterministic: Same event always matches same rule
  • Versioned: Can be versioned and rolled back
  • Hot-reloadable: Changes without restart

Flows

A flow is a notification workflow that defines how to process and send notifications.

Flow Components

  • Rules - Rules that trigger this flow
  • Steps - Steps in the workflow
  • Channels - Channels used for sending
  • Fallback - Fallback strategy when fail

Channels

Channels are notification delivery channels.

Channel Types

  • ZNS - Zalo Notification Service - Native Zalo messaging
  • Email - Email messaging for notifications
  • App Push - Mobile push notifications
  • SMS - SMS - Fallback channel

Orchestration

Orchestration is the process of coordinating notification flows.

Orchestration Patterns

  • Sequential - Send notifications sequentially
  • Parallel - Send notifications in parallel
  • Conditional - Send based on conditions
  • Delayed - Send with delay

Determinism

NotiBoost uses deterministic logic:

  • Same event always produces same result
  • Every decision is explainable
  • Debuggable and reproducible
  • No AI or machine learning