Skip to main content
Give a workflow a schedule field and it fires on that cadence — an additional trigger, so the workflow stays callable from your app too.

Inline schedule

The schedule is a structured object (recurring or one-time), not a cron string — see Schedules for every field. Always include an IANA timezone.

Rules

  • context.user is null on scheduled fires — don’t depend on a signed-in user. (Also null on anonymous request fires, so it’s not a reliable “this is a schedule” signal.)
  • Never simulate cadence in code. The schedule field is the only source of truth — no setInterval/setTimeout or if (week % 2) skip-checks; serverless runs don’t keep timers alive.

Let end users set the schedule

For runtime, end-user-driven cadence (a “remind me every…” setting), use the ZiteSchedules runtime API from zitejs/schedules inside a workflow:
inputs are validated against the target workflow’s inputSchema at fire time. See Schedules for add / list / update / remove.
Scheduled jobs are part of the Business plan.