Triggers
A webhook with a verified signature, a native Temporal schedule, or a polled connector with a cursor.
exec_5f2a91 · started 00:00:02 ago · this is the shape of a real run, not a screenshot
Metis is an open-source workflow engine. You draw a flow of steps, run it, and watch every step as it happens. Underneath, Temporal records each step — so a crash, a restart, or a step that waits a day for an approval never loses the run's place.
docker compose -f compose/docker-compose.yml up --build Then open localhost:3000. Two containers, SQLite in a volume, both ports pinned to loopback. Clone it first.
The part everything else is downstream of
A script would lose the run. The card is charged, the shipment is not booked, and nothing knows. Metis loses nothing, because the run is not held in the process — it is held in Temporal's history, and the history is replayed.
Illustrative event names and timings, matching the shape Temporal actually records. Run the stack and you will see your own.
Most open cores make you leave to grow. Here the free build is the whole engine, and everything that comes later attaches to it rather than replacing it.
Where we are honest: the hosted service is not open for sign-ups yet, and nothing is published to npm — so npx will not work today. The path that works is the one at the top of this page.
A webhook with a verified signature, a native Temporal schedule, or a polled connector with a cursor.
Branches, loops that spawn real child workflows, waits that cost nothing while they wait.
Shape a payload, or run your own code in a real V8 isolate — 32 MB, no fs, no network, no process.
HTTP with an SSRF guard that re-checks every redirect hop, SQL over one gateway, email, object storage.
Every number above is checkable in the repository. We do not print any we cannot show you.
Apache-2.0. No cloud account, no AWS, no telemetry to opt out of. The engine that runs on your laptop is the engine, not a demonstration of one.
docker compose -f compose/docker-compose.yml up --build