buttons serve trigger engine.
cron.ParseStandard).
Cron attaches to a button only — drawers support webhook triggers, not cron (the
cron drawer kind is reserved but not implemented).
Passing args
Pass--arg KEY=VALUE (repeatable) to set the args the press runs with each tick:
buttons trigger add requires exactly one kind flag: --cron, --watch, or
--webhook. The trigger id is generated automatically (a short hex id) — there is
no --name, --timezone, or --overlap flag.
Management
show, pause, or resume — to stop a schedule, remove the trigger
with buttons trigger rm (the id comes from buttons trigger list).
How it fires
A cron schedule is inert without a process watching it. The engine that fires triggers runs in-process insidebuttons serve (the local REST API server),
not a separate daemon:
- On startup,
buttons servecollects every button’s triggers. The cron scheduler starts only if at least one cron trigger exists. - Each scheduled fire presses the target button with the trigger’s configured args and records a normal run in the button’s history.
- Run
buttons serve --no-triggersto start the API without the trigger engine.
buttons serve is running — keep it up (or under a
process supervisor) for schedules to tick.