Features
Durable execution for applications and agentic workloads, with deterministic workflows, explicit permissions, and tools to inspect every run.
Durable workflows
Recovery & retries
Workflows recover their progress after a server restart. Activities retry automatically on transient failures, with configurable retry and timeout policies.
Deterministic replay
Recorded history reconstructs workflow state without repeating completed activities. Workflow time and random values remain consistent during replay.
Structured concurrency
Run child workflows and activities in parallel, await their results, and cancel whole execution trees. Unawaited activities and delays are cancelled when their parent completes.
Scheduling & waiting
Durable sleeps, scheduled executions, and cron jobs survive restarts. Pause and resume long-running workflows, including agents waiting on people or external systems.
JavaScript & tools
JavaScript first
Write workflows, activities, and webhooks as plain JavaScript, with no build step. Boa is the default runtime; native V8 is an opt-in alternative.
Activities & webhooks
Put network calls and other external work in activities; expose HTTP endpoints through webhooks. Rust components are also supported and can interoperate with JavaScript.
VM activities (experimental)
Run Nix-packaged Linux tools inside a VM, using Bochs, QEMU, or Firecracker. Guest HTTP uses the same outbound permissions and secret handling as other components.
Exec activities
Run host executables with activity retries and observability. They run outside the sandbox and require approval from both the platform admin and the app admin.
Deployments & permissions
Layered permissions
The platform and app admins grant access to hosts, secrets, and executables. Deployments, including code written by agents, can only narrow those grants. Secrets can be injected at the network edge without exposing their values to code.
Versioned deployments
Redeploy without restarting the server. Running workflows keep their original code until explicitly upgraded. Every deployment's configuration and source can be retrieved.
Verify & distribute
Verify deployments offline and repair digests with --fix. Bundle code in
a single deployment file or distribute components through OCI registries.
API authentication
The management API requires bearer tokens by default. Token hashes live in server configuration; applications expose their own HTTP routes through webhooks.
Inspect & operate
Web UI & debugger
Explore deployment graphs and execution traces in the embedded Web UI. Persist backtraces, inspect source, and replay or advance paused executions step by step.
Persistent logs & HTTP traces
Application logs and captured outgoing HTTP traces stay with execution history. Inspect failed attempts through the Web UI, CLI, or API.
API & CLI
Submit, inspect, pause, cancel, and replay executions programmatically. Developers and agents can follow child executions, read logs, and retrieve source through the same interfaces.
One server
A single binary with SQLite for one node or Postgres for multiple nodes. Configure concurrency, memory limits, and execution retention.
Obelisk is open source, written in Rust. Explore the source →