New Odyssey

For developers · Romulus

Resume your AI agents after a crash

Romulus saves each step's result through an API and JavaScript SDK. When a worker dies, a replacement restarts with the same run ID, reuses the completed work and continues from where the run stopped.

Local developer preview · JavaScript SDK · Node.js 24 · no hosted account required

How Romulus works

  1. 01

    Execute

    Run the next step of the workflow.

  2. 02

    Checkpoint

    Save its result and the step that should run next.

  3. 03

    Wait or interrupt

    Keep the saved progress through approval waits, background jobs and crashes.

  4. 04

    Resume

    Restore progress and continue the unfinished work.

Use cases

Support operations

Recover a ticket workflow with its customer context and routing decisions intact.

CRM synchronisation

If a CRM update times out, check whether it succeeded before sending it again.

Background jobs

Save the job reference, release the worker and continue when the result arrives.

Good to know

  • Completed steps are reused. Unfinished work may run again, so external writes still need idempotency or reconciliation.
  • A timeout does not mean a write failed: check the original operation with the provider before retrying.
  • The quickstart kills a worker mid-step, restarts it and lets you inspect the recovered run in SQLite.

Next step

Try Romulus locally

Local developer preview · JavaScript SDK · Node.js 24 · no hosted account required