Schedules

Recurring campaigns: a stored engagement fired on a cron expression.

A schedule is a stored engagement template plus a cadence: a five-field cron expression and an IANA timezone. The template is the payload the new-engagement wizard submits — targets, in-scope and out-of-scope lists, rules of engagement and framework. The series of engagements a schedule produces is a campaign.

Each time the cadence comes round is an occurrence. A schedule fires an occurrence when the campaign ticker, a separate process beside the UI server, finds that the schedule's next run time has passed. Firing creates an engagement from the template through the same service call a manual run uses, then submits it through the same launch gate, including the ownership re-check. An engagement that clears the gate is queued and waits in the same queue as any other. When the ticker cannot create and queue the engagement, the occurrence is skipped and the reason is recorded on the schedule.

The template never holds credentials: they are removed before it is stored. They would have no effect on a run in any case — see Scope.

In this section

  • Cadence — the four presets, raw cron expressions, the one-hour floor and the preview the console shows.
  • Timezones and DST — how the timezone decides when a schedule fires, what happens at a daylight-saving change, and how the console displays times.
  • Caps and skips — the plan cap, the reasons an occurrence is skipped, the ticker's timing and what happens to occurrences missed while it was down.
  • Managing a schedule — creating, disabling, enabling, editing and deleting.

Last updated 2026-09-22