WorkflowEngine.NETCore-Core 23.0.0

dotnet add package WorkflowEngine.NETCore-Core --version 23.0.0
                    
NuGet\Install-Package WorkflowEngine.NETCore-Core -Version 23.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WorkflowEngine.NETCore-Core" Version="23.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WorkflowEngine.NETCore-Core" Version="23.0.0" />
                    
Directory.Packages.props
<PackageReference Include="WorkflowEngine.NETCore-Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WorkflowEngine.NETCore-Core --version 23.0.0
                    
#r "nuget: WorkflowEngine.NETCore-Core, 23.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WorkflowEngine.NETCore-Core@23.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WorkflowEngine.NETCore-Core&version=23.0.0
                    
Install as a Cake Addin
#tool nuget:?package=WorkflowEngine.NETCore-Core&version=23.0.0
                    
Install as a Cake Tool

WorkflowEngine.NETCore-Core

NuGet version NuGet downloads

WorkflowEngine.NETCore-Core is the core runtime package for Workflow Engine by Optimajet, an embeddable workflow engine for .NET and C# applications. It supplies WorkflowRuntime, the scheme model and builder, runtime contracts, timers, commands, rules and process execution. Add one persistence provider package for your database.

Get Workflow Engine Free · Run the quick start · Product page · Documentation · Compare products

Install

Create a .NET 10 console application, then install the core package and one provider. SQLite keeps this example self-contained and is intended for evaluation.

dotnet new console -n WorkflowQuickstart --framework net10.0
cd WorkflowQuickstart
dotnet add package WorkflowEngine.NETCore-Core
dotnet add package WorkflowEngine.NETCore-ProviderForSQLite

The core package targets .NET Standard 2.0. Workflow Engine supports .NET 8, .NET 10 and .NET Framework 4.7.2, with package-specific exceptions for Oracle and SQLite.

Run a workflow

This console example creates an Approval scheme, starts one process, and moves it from Draft to Approved with Workflow Engine on .NET 10.

using System.Xml.Linq;
using OptimaJet.Workflow.Core.Builder;
using OptimaJet.Workflow.Core.Model;
using OptimaJet.Workflow.Core.Model.Builder;
using OptimaJet.Workflow.Core.Parser;
using OptimaJet.Workflow.Core.Runtime;
using OptimaJet.Workflow.Migrator;
using OptimaJet.Workflow.SQLite;

// Configure a Workflow Runtime with SQLite as its database
var provider = new SqliteProvider("Data Source=workflow.db");
var runtime = new WorkflowRuntime()
    .WithBuilder(new WorkflowBuilder<XElement>(provider, new XmlWorkflowParser(), provider).WithDefaultCache())
    .WithPersistenceProvider(provider)
    .RunMigrations()
    .Start();

try
{
    // A scheme in C#: Draft -> Review -> Approved, moved by two commands
    var scheme = ProcessDefinitionBuilder.Create("Approval");
    scheme.CreateActivity("Draft").Initial().Ref(out ActivityDefinition draft);
    scheme.CreateActivity("Review").Ref(out ActivityDefinition review);
    scheme.CreateActivity("Approved").Final().Ref(out ActivityDefinition approved);
    scheme.CreateCommand("Submit").Ref(out CommandDefinition submit);
    scheme.CreateCommand("Approve").Ref(out CommandDefinition approve);
    scheme.CreateTransition("Submit", draft, review).TriggeredByCommand(submit);
    scheme.CreateTransition("Approve", review, approved).TriggeredByCommand(approve);
    await runtime.Builder.SaveProcessSchemeAsync("Approval", scheme.ProcessDefinition);

    // Start a process and move it with the commands available to a user
    var processId = Guid.NewGuid();
    await runtime.CreateInstanceAsync("Approval", processId);
    foreach (var name in new[] { "Submit", "Approve" })
    {
        var commands = await runtime.GetAvailableCommandsAsync(processId, "alice");
        await runtime.ExecuteCommandAsync(commands.First(c => c.CommandName == name), "alice", "alice");
        Console.WriteLine($"{name} -> {await runtime.GetCurrentActivityNameAsync(processId)}");
    }
}
finally
{
    await runtime.ShutdownAsync();
}

dotnet run prints:

Submit -> Review
Approve -> Approved

The complete quick start also covers ASP.NET Core and Workflow Designer.

Choose a persistence provider

Database Package Runtime note
SQL Server and Azure SQL WorkflowEngine.NETCore-ProviderForMSSQL .NET Framework 4.7.2 and modern .NET
PostgreSQL WorkflowEngine.NETCore-ProviderForPostgreSQL .NET Framework 4.7.2 and modern .NET
MySQL WorkflowEngine.NETCore-ProviderForMySQL .NET Framework 4.7.2 and modern .NET
MongoDB and Azure Cosmos DB WorkflowEngine.NETCore-ProviderForMongoDB .NET Framework 4.7.2 and modern .NET
Oracle WorkflowEngine.NETCore-ProviderForOracle .NET Core 3.0 and later
SQLite WorkflowEngine.NETCore-ProviderForSQLite .NET 8 and .NET 10; evaluation use

Every runtime needs a database. SQL providers apply their schema through RunMigrations(). The MongoDB provider creates its collections and indexes at runtime.

Products and licensing

The same core package runs Workflow Engine Free, Workflow Engine and Workflow Engine NEO. A license key changes the available limits and capabilities; application code and stored schemes stay on the same runtime.

  • Workflow Engine Free needs no license key. It covers personal use and internal commercial use with attribution, up to 10 workflow definitions (schemes) and 4 execution threads. Activities, transitions and commands are unrestricted, and the full Workflow Designer is included.
  • Workflow Engine and Workflow Engine NEO require a paid license for their licensed use. See Compare products for the product and edition boundaries.
  • A 30-day trial key enables the licensed capabilities for evaluation.

Workflow Engine is commercial software. Read the EULA before distributing or operating it outside the Workflow Engine Free grant.

Releases and support

Source repository and issues

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (24)

Showing the top 5 NuGet packages that depend on WorkflowEngine.NETCore-Core:

Package Downloads
WorkflowEngine.NETCore-ProviderForMSSQL

SQL Server and Azure SQL persistence provider for Workflow Engine by Optimajet. Stores workflow schemes, process instances, parameters, timers, and history, and applies the required database migrations.

WorkflowEngine.NETCore-ProviderForPostgreSQL

PostgreSQL persistence provider for Workflow Engine by Optimajet. Stores workflow schemes, process instances, parameters, timers, and history, and applies the required database migrations.

WorkflowEngine.NETCore-ProviderForOracle

Oracle Database persistence provider for Workflow Engine by Optimajet. Stores workflow schemes, process instances, parameters, timers, and history, and applies the required database migrations.

DWKit-Core

DWKit is a .NET Core BPM system made with simplicity and flexibility in mind. DWKit allows you to model, automate and execute mission-critical business processes.

WorkflowEngine.NETCore-ProviderForMySQL

MySQL persistence provider for Workflow Engine by Optimajet. Stores workflow schemes, process instances, parameters, timers, and history, and applies the required database migrations.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
23.0.0 270 10/27/2026
22.1.0 1,424 8/18/2026
22.0.0 3,102 7/16/2026
21.1.3 1,618 6/25/2026
21.1.2 1,290 6/18/2026
21.1.1 1,944 5/25/2026
21.1.0 1,081 5/19/2026
21.0.0 4,313 4/24/2026
20.0.9 1,695 4/17/2026
20.0.8 2,089 4/1/2026
20.0.7 1,319 3/19/2026
20.0.6 1,264 2/24/2026
20.0.5 1,603 2/6/2026
20.0.4 1,536 12/29/2025
20.0.3 4,144 12/2/2025
20.0.2 1,629 11/21/2025
20.0.1 1,308 11/10/2025
20.0.0 1,405 10/30/2025
19.0.0 1,653 9/18/2025
18.1.0 2,451 8/25/2025
Loading failed