Changelog

Exactly-once triggered runs, and cancels that keep output

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.

Your first specialist starts here.

Give it one job. Build the workflows, apps, and skills to get it done.

Create an account

Free to start. No credit card required.

Talk to us