# Exactly-once triggered runs, and cancels that keep output

> Run starts go through a transactional outbox, cron and webhook firings are deduplicated, and cancelling a run keeps the step the agent was writing.

Sep 14, 2026. Topics: Workflows, Platform. https://www.generalinput.com/changelog/2026-09-14-exactly-once-triggers

Three gaps at the edges of a run are closed. A run that exists in the database is always handed to a worker, a redelivered schedule or webhook can no longer execute twice, and stopping a run no longer throws away the text the agent was in the middle of writing.

### How it works

- **Durable starts.** Starting, resuming, or continuing a run writes its queue job in the same database transaction as the run itself, through an outbox. A publisher sends committed jobs immediately and a one-second sweep repairs anything it missed. If publishing keeps failing, the run fails with that reason instead of sitting queued forever.
- **One run per firing.** Every triggered run carries a key unique to its trigger firing, so a redelivered event finds the existing run instead of starting a second one.
- **Cancel keeps output.** A worker saves its partial step before reporting cancelled, and a run that finished in the meantime isn't overwritten.

### Also shipped

- Rerun and Test are no longer disabled while another run of the same workflow is in progress.
- Apps queue requests during busy moments (up to 256 in flight and 2,048 waiting) instead of rejecting anything past 16.