Temporal Triggers
Automating asynchronous message dispatch.
Broadcast Architecture
The scheduling engine `scheduledTasks` supports high-precision execution. Tasks are stored in a priority queue sorted by `nextRunAt`.
// TASK OBJECT STRUCT
task: {
id: "task_123",
nextRunAt: 1735689000000, // Epoch ms
status: "scheduled",
payload: { kind: "send_message", ... }
nextRunAt: 1735689000000, // Epoch ms
status: "scheduled",
payload: { kind: "send_message", ... }
}
Recurrence Models
Single Shot
Executes exactly once. Ideal for strict appointment reminders or manual announcements.
Status Flow: `scheduled` → `completed`
Interval / Cron
Reschedules itself after execution based on `intervalMs`.
Status Flow: `scheduled` → `completed` (execution) → `scheduled` (next run)
Timezone Handling
The server runs on UTC (Coordinated Universal Time).
USER INPUT2026-05-01 09:00 EAT
→
DB STORAGE2026-05-01 06:00 UTC
⚠️ ALWAYS verify your organizational timezone setting in `Settings` before scheduling campaigns.