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", ... }
}

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.