OpenWorkflow
lastmod 2025-11-27created 2025-11-272 edits
Open-source workflow automation and execution platform that runs on Postgres alone
About
- "A durable, resumable workflow framework written in TypeScript"
- Provides a workflow engine that connects various services and APIs to automate complex business flows
- A modular open-source platform developed to solve workflow automation and integration problems
- Even if a server dies or a deployment happens, state is stored in Postgres so execution can resume exactly from the last step
- Because each step.run({ name }, fn) runs only once and its result is memoized, a restart after a crash reuses the cached result instead of re-executing side effects such as card payments or sending emails
- With no separate dedicated server, worker processes (ow.newWorker({ concurrency })) poll pending runs from the DB and execute them, so you can run multiple workers for high availability and scale-out, and long sleeps such as step.sleep("id", "1h") do not occupy worker slots
- Designed so that type-safe definitions, versioning, result lookup, and cancellation can all be handled at the code level through workflow input/output generics, a version field (version: "v2"), run().result(), handle.cancel(), and so on
- Supports extension and customization with external systems through a plugin architecture
- Supports integration with major SaaS and developer tools such as OpenAI, Slack, GitHub, and Notion
- Currently focuses on the PostgreSQL backend and basic runtime features (concurrent execution, retries, parallel steps, sleep, versioning, cancel)
- CLI, dashboard, idempotency keys, rollback/compensation functions, signals, OpenTelemetry, Redis/SQLite backends, Go/Python SDKs, and more are on the roadmap