Skip to main content
Cron triggers run a button or drawer on a recurring schedule.
buttons trigger cron daily-snapshot "0 3 * * *"
buttons trigger cron slack-sync "0 */2 * * *" --timezone America/New_York
If the target is a button, Buttons should create a hidden one-step drawer wrapper internally. If the target is a drawer, the trigger attaches directly to the drawer.

Flags

buttons trigger cron <target> "<cron>"
  --timezone America/New_York
  --overlap skip|queue|replace
  --name <trigger-id>
Default overlap policy: skip. If the previous run is still active when the next tick fires, Buttons should skip the new tick instead of creating accidental parallel work.

Management

buttons trigger list
buttons trigger show <id>
buttons trigger pause <id>
buttons trigger resume <id>
buttons trigger remove <id>

Implementation note

A cron schedule is inert without a daemon watching schedules and pressing the target. The daemon should record each scheduled press in normal button/drawer history, with trigger id and scheduled time attached to the run metadata.