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
