A lightweight, embeddable workflow engine for .NET Standard, designed for long-running processes with state tracking.
Workflow Core is a lightweight, embeddable workflow engine for .NET Standard that enables developers to define, execute, and manage long-running processes with multiple tasks. It solves the problem of orchestrating complex business workflows that require state persistence, error handling, and compensation logic, such as user onboarding or saga transactions.
.NET developers building applications that require workflow automation, such as business process management, order processing, or multi-step user onboarding systems.
Developers choose Workflow Core for its simplicity, embeddability, and extensibility—it provides a robust foundation without the overhead of a full-blown workflow server, with support for pluggable persistence, multi-node clustering, and both code-based and declarative workflow definitions.
Lightweight workflow engine for .NET Standard
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Designed as a library to embed directly into .NET apps, avoiding heavy infrastructure dependencies and enabling seamless integration with existing codebases, as emphasized in its philosophy.
Supports pluggable persistence providers for multiple databases like MongoDB, SQL Server, and PostgreSQL, allowing teams to choose storage based on their stack without vendor lock-in.
Offers JSON and YAML support via the DSL extension, enabling workflow definition without code changes and facilitating configuration management for non-developers.
Includes compensating transactions for error handling and rollbacks, essential for distributed workflows, as demonstrated in the README's saga examples with undo steps.
Provides extensions for user interaction steps, making it suitable for workflows requiring manual input, such as approvals or data validation.
Configuring multi-node clustering with concurrency providers requires additional setup and tuning beyond basic embedding, which can be error-prone for distributed deployments.
Relies entirely on code or text-based definitions with no built-in visual workflow designer or management UI, limiting accessibility for non-technical stakeholders.
Key features like persistence and search are split into multiple Nuget packages, leading to potential versioning issues and inconsistent maintenance across providers.
Implementing complex workflows with parallel tasks, events, and compensation logic demands a deep understanding of the API, as seen in the samples, which may slow initial adoption.