Optimajet ships four workflow products. Workflow Engine has Team and Complete editions, while Workflow Engine NEO has Subscription, Business, SaaS and Enterprise editions. Workflow Engine Free, formerly Community Edition, is the free tier of the .NET library, with documented usage limits. Workflow Engine is the commercial .NET library you embed in your app and call from C#. Workflow Engine NEO adds a ready HTTP API (Data API and RPC API) with full multitenancy. Workflow Server is a standalone service in Docker with its own HTTP API for any stack.
IncludedNot availableCaveatWorks, with a documented reservation
Feature comparison of Workflow Engine Free, Workflow Engine, Workflow Engine NEO, and Workflow Server.
Workflow Engine Free is for personal, non-commercial evaluation, learning, research, and small non-commercial projects. Use a trial key to evaluate licensed features for a commercial proof of concept.
Workflow Engine Team and Complete are perpetual editions for internal commercial .NET applications. Public SaaS requires the corresponding edition of Workflow Engine NEO; OEM distribution requires Workflow Engine NEO Enterprise. No royalty or per-execution fee applies within the licensed use. Included support depends on the edition: Team is self-service, while Complete includes two months of direct support. Annual SLA-backed support plans are available separately.
For teams whose workflows are part of the product: a ready HTTP API means a web, mobile or service client drives processes without you building an integration layer, and full multitenancy serves many customers from one deployment. Workflow Engine NEO is a separate product based on Workflow Engine, and existing schemes carry over.
When the stack is not .NET, or you would rather run a workflow service than embed one. A Docker image with its own HTTP API, admin panel, users and roles: an operations team gets a product to run instead of a library to integrate.
The .NET products register in your host and run in your process. Workflow Server runs as its own service, so an ASP.NET app talks to it over HTTP instead of hosting it.
Core runtime compatibility
WorkflowEngine.NETCore-Core targets netstandard2.0. The range shown here describes Core binary compatibility, not current vendor support or every provider, plugin and HTTP API package. The current support policy lists .NET 8, .NET 10 and .NET Framework 4.6.2.
The Oracle provider targets netstandard2.1 and does not run on .NET Framework. SQLite, Real-Time Tracking and every Workflow Engine HTTP API package target net8.0 and net10.0. These are package targets, not license boundaries. Workflow Server runs separately: clients call it over HTTP, its Docker image includes the runtime, and a non-Docker deployment requires the server target shown here.
Oracle: .NET Core 3.0 through .NET 10SQLite / Real-Time Tracking / HTTP API: .NET 8 and .NET 10
Oracle: .NET Core 3.0 through .NET 10SQLite / Real-Time Tracking / HTTP API: .NET 8 and .NET 10
Oracle: .NET Core 3.0 through .NET 10SQLite / Real-Time Tracking / HTTP API: .NET 8 and .NET 10
Confirmed progress is stored in the database. An idled process continues from its last persisted checkpoint; an Action interrupted while Running follows the configured recovery policy and is not resumed from the exact instruction.
Long-running processes, suspend and resume
A process can wait days or months on a person or a timer without holding a thread.
Human-in-the-loop approvals
The Approval Plugin ships with the engine, alongside the Loops Plugin and the File Plugin.
Task inbox
The Approval Plugin stores each identity ID with its pending commands in the inbox, records approval history, and provides outbox queries. Embedded applications resolve IDs through their own identity system. Register ApprovalPlugin with runtime.WithPlugin(...); NEO also exposes inbox entries through the Search API.
A timer can count in working time. You configure the weekly schedule and override holidays and one-off workdays, so "three days to approve" does not expire over a weekend.
A licensed plugin everywhere, never part of the core. Not available on Workflow Engine Free. Priced as an add-on for both Workflow Engine editions and for Workflow Engine NEO Subscription and Business; included with Workflow Engine NEO SaaS and Enterprise. On Workflow Server it is one of the plugins you switch on, under that product’s own license.
Add-on plugin
Subscription and Business: Add-on pluginSaaS and Enterprise: Included plugin
Bundled plugin
Visual Workflow Designer embedding
Embed the Visual Workflow Designer into your app. Use the same component with React, Angular, vanilla JavaScript, or Blazor via IJSRuntime interop.
You can save a ProcessDefinition built in code and open it in the Designer. You can also wrap an existing ProcessDefinition and modify it in code. Visual edits do not regenerate fluent C# source.
Simple Process Notation by Optimajet
Optimajet’s own notation: a compact text description of a process, for the cases where BPMN’s fifty-odd element types are the barrier rather than the tool. BPMN stays available for the diagrams that come from outside.
Color themes, which activity types are visible, toolbar buttons, property-panel controls and autocomplete providers. You can hide activity types, restrict commands and actions, and replace the default controls. This is the API of the embedded designer; on Workflow Server the designer is part of its own panel.
An Inline activity is replaced at build time with a shared fragment, so an approval step, an escalation path or a review gate is defined once and reused instead of redrawn in every scheme.
Saving a scheme creates a new version. New processes use the latest version; existing processes keep their current version by default and can move to a newer version explicitly or through configured lazy migration.
Localization and internationalizationLocalization (l10n) is the process text your users read; internationalization (i18n) is the interface around it.
Process localization (l10n)
Commands, states, parameters, actions, conditions, schemes and comments carry per-culture translations, stored with the scheme or supplied by your own localization provider. A lookup falls back from the requested culture to the default entry, then to the internal name.
Add a language by cloning the English JSON locale file and editing it. No build of ours is involved.
Admin console languages
The .NET products have no interface of their own: the application around them is yours, so its language is yours to set. Workflow Server ships its own panel translated.
You implement an interface and register it on WorkflowRuntime at startup. The runtime calls an action when a transition fires, a rule during command discovery or when command execution explicitly checks transition restrictions, and a condition when it selects a branch. Nothing to host, poll, or subscribe to. Workflow Server reaches your code over HTTP through GetActions, ExecuteAction, and RuleCheck, or loads the implementations from a server plugin assembly.
IWorkflowActionProvider Provides workflow actions and conditions from runtime definitions. Write the method once and a business user gets it as a step they can place anywhere, and registering the plugin is enough for the runtime to find it.
IWorkflowRuleProvider Defines named rules that evaluate workflow participant identities against transition restrictions. Rules filter command discovery, and the provider can also return matching identities for task lists. The same restrictions can be checked again during command execution. Authentication and endpoint authorization remain the host application's responsibility.
ICustomActivityProvider Provides custom workflow activities to the runtime. Your own types appear in the designer palette with their own template, form and parameter editors, so someone who does not write code can place your domain operations themselves.
ICustomConditionProvider Provides custom conditions that can be used to evaluate workflow transitions at runtime. Branching then follows the rule your domain already has rather than an expression that restates it and drifts, and your types sit beside the built-in expression and code conditions.
IDesignerParameterFormatProvider Supplies the Workflow Designer with metadata used to build structured editors for the parameters of named workflow actions, conditions, and rules. The person filling a parameter gets a control that fits the value, a date picker or a lookup rather than a free text box, which is where wrong entries stop.
IDesignerAutocompleteProvider Provides autocomplete suggestions for design-time inputs shown in the Workflow Designer UI. Your own names complete themselves in the field where they are being typed, which means fewer typos and less hunting through documentation when someone writes a code action.
IWorkflowExternalParametersProvider Provides access to workflow external parameters for a specific process instance. The engine reads and writes each named parameter in the system that holds it, so no copy lands in the workflow database and an order total in the ERP or a credit limit in the CRM keeps one value and one owner.
In a server plugin
Plugins that ship
Approval, Loops and File Plugins
Shipped with the engine. The Approval Plugin is the one behind the human-in-the-loop row above.
The Forms Plugin is included in every edition of Workflow Engine NEO and available as an add-on for the Workflow Engine Complete edition. Form Engine Core renders forms under the MIT license. The Form Engine Enterprise license covers Form Engine Designer and the other features of that edition. It is priced separately for Workflow Engine NEO Subscription, Business, and SaaS; Workflow Engine NEO Enterprise includes it with OEM rights.
A plugin is a class you register once, and the runtime detects the provider interfaces it implements. Your actions, conditions and rules then travel with it, in the same shape the shipped plugins use.
Ready-made actions and rulesThese actions, conditions, and rules come from BasicPlugin. In an embedded product, register it with runtime.WithPlugin(...). Email, role checks, and predefined actors also need application settings or delegates.
CreateProcess creates an independent process. ExecuteCommand targets another existing process. SetState and SetActivity move a process, while IsProcessFinish checks whether it is finalized.
The application registers actor names with WithActor or WithActors and supplies callbacks that check identities and enumerate participants. WorkflowRuntime injects the configured actors into matching schemes.
Direct .NET calls to WorkflowRuntime from your own code, with no serialization and no network in between. Workflow Server hosts the runtime itself, so an application talks to it over HTTP instead.
The In-Process API exposed as runtime.Bulk. It runs one runtime operation across many process instances in parallel through a single call, and returns a result per item, so one failure does not roll the batch back.
The In-Process API exposed as WorkflowRuntime.OfflineApi. It builds the approval map for a process, or runs an ordered batch of commands, in one call instead of a round-trip per step.
One package, OptimaJet.Workflow.Api, adds these endpoints to your .NET app. Workflow Engine NEO includes the licensed Data and RPC groups. Workflow Server exposes Workflow API (REST), Callback API and WFE API.
The backend the Visual Workflow Designer talks to, mapped to a route such as /workflow-api/designer. It loads and saves schemes, compiles code actions and hands your own action types to the palette. It does not require Workflow Engine NEO, the Data API, or the RPC API.
Liveness reports that the service is running, readiness checks the runtime and the database behind it, and a third endpoint answers for one named tenant and carries that tenant’s database status, which is what a Kubernetes probe acts on. These endpoints do not require Workflow Engine NEO, and Workflow Server carries the same endpoints inside the service.
Built into the serverNot documented. The endpoints are there, the documentation does not cover them yet.
The resource-oriented half of the HTTP API, over schemes, process instances, parameters, timers and approvals. Resource operations sit under /data and collection searches under /search, with filtering, sorting and paging, so a task list or an admin grid needs no queries of its own. It is included with Workflow Engine NEO; Workflow Server provides it through WFE API under its own license.
The operation-oriented half. It invokes runtime behaviour rather than reading records: create a process instance, execute a command, set state, list the commands available now. It is included with Workflow Engine NEO; Workflow Server provides it through WFE API under its own license.
Every mapped endpoint carries built-in OpenAPI metadata. The ASP.NET Core host must publish the document and optional UI with native OpenAPI, or with AddEndpointsApiExplorer() and AddSwaggerGen(). Without a Workflow Engine NEO or trial key the document can cover Designer and health endpoints; licensed Data, Search, and RPC groups are included when enabled. Workflow Server includes its Workflow API documentation inside the product UI.
Designer and health endpoints
Designer and health endpoints
Including Data, Search and RPC
via ServerThe Workflow API documentation is built into the Workflow Server UI. The documentation site does not cover it yet.
Workflow Server’s own incoming HTTP contract for managing the service and running workflows. An application calls it instead of embedding the runtime, and it remains available alongside WFE API.
The contract the server calls to reach workflow logic you host yourself: actions, conditions, authorization rules and remote scheme generation.
StorageEach database is served by a persistence provider, the package that keeps processes, timers and history in it. You install one and name it at startup.
Served by the SQL Server persistence provider, WorkflowEngine.NETCore-ProviderForMSSQL. The same package you would use for SQL Server on your own hardware.
Oracle Database, not MySQL, which Oracle also owns and which has its own row above. Persistence provider package: WorkflowEngine.NETCore-ProviderForOracle.
SQLite
Use it for evaluation and local development. Not recommended for industrial use, it does not run on classic .NET Framework, and this version may not work on macOS with Apple Silicon. Workflow Server does not ship it. Package: WorkflowEngine.NETCore-ProviderForSQLite.
RunMigrations() applies schema changes for SQL Server, PostgreSQL, MySQL, Oracle and SQLite. It does not support MongoDB; apply any MongoDB update script required by the release notes manually. Workflow Server runs both Workflow Engine and server-specific migrations for its four SQL providers when CreateMetadata is enabled; MongoDB remains manual when an update is required.
SQL providers only
SQL providers only
SQL providers only
SQL providers only
MultitenancyEvery Workflow Engine license includes TenantId storage. The separate Workflow Engine NEO product adds ready multitenancy across the built-in workflow operations of the HTTP API.
TenantId in Workflow Runtime
Workflow Runtime stores the TenantId supplied when a process is created and passes it to subprocesses. Every Workflow Engine license includes this building block; your application decides how to use it and control access.
Workflow Engine NEO applies tenant context across the built-in workflow operations of its HTTP API. It supports shared storage, a database or schema per tenant, or a mix. Your own endpoints and application data remain your responsibility; tenant access checks are available when API security is enabled. Workflow Server provides its own ready multitenancy from Business Complete, with the included tenant count shown for each edition.
Starter: Not availableSubscription: Not availableBusiness: Not availableBusiness Complete: 1 tenant includedBusiness SaaS: 5 tenants includedBusiness Ultimate: 100 tenants includedCustom: Multi-tenant, terms in quote
Scale and clusteringMultiple Workflow Runtime instances can serve the same database and schema. Runtime count is separate from tenant placement.
Single-server on Workflow Engine Free and on the Team edition. Multi-server starts with the Workflow Engine Complete edition and is included in every edition of Workflow Engine NEO. The embeddable products run equal instances with no master: they share only the database, one live instance is enough, and you bring your own load balancer. Workflow Server is single-server on Starter, Subscription and Business, then multi-server from Business Complete upward. In multi-server mode it names one node the timer master and turns the time manager off on the others.
Team Edition: Single-serverComplete Edition: Multi-server
The .NET products use the licensed Active Directory Plugin with LDAP-compatible endpoints: an add-on for both Workflow Engine editions and for Workflow Engine NEO Subscription and Business, included with Workflow Engine NEO SaaS and Enterprise. In Microsoft Entra environments, connect through an LDAP-compatible service such as Microsoft Entra Domain Services; the plugin does not call Microsoft Entra ID APIs directly. Workflow Server imports users over LDAP through its own admin panel.
Add-on
Subscription and Business: Add-onSaaS and Enterprise: Included
Built in on Workflow Server (OpenIddict since 9.0.0). The .NET products authenticate nobody: your application signs the user in, and the engine asks your rule provider who may act.
One interface, IWorkflowRuleProvider, answers two questions for the engine: may this user fire this command, and who else may. Restrict a transition to "any manager" or to an Active Directory group, and your identity system stays the only place users live. It ships in the Core package, so no license gates it.
Built-in user and role store
The .NET products keep no user table on purpose: identity stays in your system. Workflow Server manages its own users and roles, and can import them over LDAP.
Running it in productionWhat an operator does once processes are live, and what they can prove afterwards.
Transition history records each state change, its time and trigger. User-driven entries store actor and executor identity IDs and can include display names. Embedded applications resolve IDs to names through their own identity system. Automatic transitions and timers may have no person.
Moves a process directly to an activity enabled for Set State, without using the trigger, conditions, or restrictions of a configured transition into it. Use it as an administrative override, not normal command execution.
Move existing processes to a newer scheme version explicitly, one at a time or in a batch, or enable lazy migration at activities marked for automatic scheme update.
Admin console
Workflow Server ships its own HTTP API and admin UI.
Licensing, support & limits
License model
The model is set by edition. Workflow Engine Team and Complete; Workflow Engine NEO Business, SaaS, and Enterprise; and Workflow Server Starter, Business, Business Complete, Business SaaS, and Business Ultimate are perpetual. Workflow Engine NEO Subscription and Workflow Server Subscription are annual; Workflow Server Custom terms are defined in its quote.
Starter: PerpetualSubscription: Annual subscriptionBusiness: PerpetualBusiness Complete: PerpetualBusiness SaaS: PerpetualBusiness Ultimate: PerpetualCustom: Defined in quote
Licensed use
The grant is edition-specific. Embedded-product terms distinguish personal non-commercial use, internal commercial use, public web apps or SaaS, and OEM redistribution. The Workflow Server price list distinguishes Starter for personal use from commercial use on every other edition.
Personal, non-commercial use
Team: Internal commercial useComplete: Internal commercial use
Subscription: Public web app or SaaSBusiness: Internal commercial useSaaS: Public web app or SaaSEnterprise: Public web app, SaaS, or OEM
Starter: Personal use onlySubscription: Commercial useBusiness: Commercial useBusiness Complete: Commercial useBusiness SaaS: Commercial useBusiness Ultimate: Commercial useCustom: Commercial use
What the license itself covers. Workflow Engine and Workflow Engine NEO support plans are annual and sold separately. Workflow Server support follows its separate price list.
Docs and discussions
Team: Docs and discussionsComplete: 2 months direct support
Subscription: Docs and discussionsBusiness: 2 months direct supportSaaS: 2 months direct supportEnterprise: 12 months standard support
For the embedded products, this means a one-year GitHub window to the full Workflow Engine source, provided as is. Workflow Server source access is a separate entitlement for that product.
Team: Not availableComplete: $5,000 add-on
Subscription: Not availableBusiness: $10,000 add-onSaaS: $15,000 add-onEnterprise: Included
Starter: Not availableSubscription: Not availableBusiness: Not availableBusiness Complete: Not availableBusiness SaaS: Not availableBusiness Ultimate: Included for 1 yearCustom: Included for 1 year
Every edition is named in the cells: Workflow Engine has Team and Complete editions; Workflow Engine NEO has Subscription, Business, SaaS and Enterprise editions; Workflow Server has Starter, Subscription, Business, Business Complete, Business SaaS, Business Ultimate and Custom editions; and Workflow Engine Free has no editions. Public prices for the embedded products are on the pricing page; Workflow Server follows its separate price list, with Custom terms defined in a quote.
10
Team Edition: UnlimitedComplete Edition: Unlimited
Evaluating NEO? The HTTP API still maps Designer and health-check endpoints without a NEO key. A NEO or trial key enables the Data, Search, and RPC groups.
Public pricing for Workflow Engine and Workflow Engine NEO is available on the pricing page. Contact us for the current Workflow Server price list. Workflow Engine NEO Enterprise and Workflow Server Custom are quoted individually.
Which product fits?
Pick Workflow Engine Free
The full library with documented usage limits, licensed for personal, non-commercial use. Use it for evaluation, learning, research, and small non-commercial projects. Use a trial key to evaluate licensed features for a commercial proof of concept.
Choose Team or Complete when your .NET application calls the embedded runtime directly and does not need the Data, Search, and RPC API groups included with Workflow Engine NEO. Both are perpetual editions for internal commercial .NET applications. Public SaaS requires the corresponding edition of Workflow Engine NEO; OEM distribution requires Workflow Engine NEO Enterprise. No royalty or per-execution fee applies within the licensed use. Included support depends on the edition: Team is self-service, while Complete includes two months of direct support. Annual SLA-backed support plans are available separately.
You work with workflows over HTTP, from a web or API backend, a JavaScript or mobile frontend, or separate services. NEO adds a ready HTTP API (Data API, RPC API) and full hybrid multitenancy. Multi-tenant SaaS is the main case; a single-tenant web app counts too.
Your stack is not .NET, or you prefer to run a separate service instead of embedding a library. Comes as a Docker image with its own HTTP API and admin console.
Weighing an outside engine instead? Elsa vs Workflow Engine walks one approval process through both.
01
Which Workflow Engine product do I need?
Choose by how your application talks to the engine. Workflow Engine Free is for personal, non-commercial evaluation, learning, research, and small non-commercial projects within its usage limits. Use a trial key to evaluate licensed features for a commercial proof of concept; an internal tool needs a paid product and edition. Workflow Engine embeds in your .NET app and is the default for most teams. Workflow Engine NEO is a separate product based on Workflow Engine and adds a ready HTTP API (Data API and RPC API) and full multitenancy for working with workflows over HTTP. Workflow Server is a separate, standalone product in Docker with its own HTTP API, for teams that want a ready-to-run service for any stack.
02
What is the difference between Workflow Engine and Workflow Engine NEO?
They are separate products in the same product family. Workflow Engine NEO is based on Workflow Engine since v19.0.0. Every Workflow Engine license includes TenantId storage: Workflow Runtime stores the value supplied when a process is created, and your application decides how to use it. Workflow Engine NEO adds tenant context across the built-in Data, Search, and RPC operations plus logical, physical, and hybrid tenant placement. Every edition of Workflow Engine NEO includes the Forms Plugin; it is also available as an add-on for the Workflow Engine Complete edition. If the HTTP API package is installed without a NEO key, it still maps Designer and health-check endpoints, while a NEO or trial key enables the Data, Search, and RPC groups.
03
What is the difference between Workflow Engine Free and Workflow Engine?
Same library, different license. Workflow Engine Free is for personal, non-commercial evaluation, learning, research, and small non-commercial projects within its documented usage limits. Use a trial key to evaluate licensed features for a commercial proof of concept. Workflow Engine has two commercial editions, Team and Complete, both licensed for internal commercial use. Team raises the limits but retains 8 execution threads and per-scheme caps of 100 commands, 100 activities, and 500 transitions. Complete removes those limits and adds multi-server deployment. Included support depends on the edition: Team is self-service, while Complete includes two months of direct support. Annual SLA-backed support plans are available separately. You can start on Workflow Engine Free and move to a paid license later without rewriting code.
04
Do I need Workflow Engine NEO or Workflow Server?
Pick NEO when you want to embed a workflow HTTP API into your own .NET application and operate it yourself. Pick Workflow Server when you want a ready-to-run standalone application. It comes as a Docker image with its own HTTP API, admin console, user and role system, and OpenID, and is used over HTTP from any stack. Workflow Server is a separate Optimajet product, licensed separately.
05
What is the difference between Workflow Engine and Workflow Server?
Workflow Engine is a .NET library you embed in your own app and call from C#. Workflow Server is a separate, ready-to-run product, a Docker image with its own HTTP API and admin console that you deploy and operate, used over HTTP from any stack. Workflow Engine is the cheaper development tool; Workflow Server is the ready-to-run application built on top of it. The same workflow schemes run in both.
06
Can I switch from Workflow Engine to Workflow Engine NEO without rewriting code?
Yes. For an existing application on the same product version, moving from Workflow Engine to Workflow Engine NEO requires only registering the Workflow Engine NEO license key. Your existing schemes, Workflow Runtime integration, and process logic continue unchanged. You can adopt Workflow Engine NEO capabilities gradually.
07
Which databases do the four products support?
The .NET products support six database providers: SQL Server, PostgreSQL, MongoDB, MySQL, Oracle and SQLite. Workflow Server supports five of them, because it does not ship the SQLite provider. SQLite is supported, but not recommended for production workloads; validate it against your concurrency and durability requirements. The SQL Server provider also covers Azure SQL Database and Azure SQL Managed Instance, and the MongoDB provider covers Azure Cosmos DB.
08
How much does each product cost?
Public pricing for Workflow Engine and Workflow Engine NEO is available on the pricing page. Contact us for the current Workflow Server price list. Workflow Engine NEO Enterprise and Workflow Server Custom are quoted individually.
Still deciding?
Get a free trial key and evaluate the licensed features locally, or book a short demo to talk through NEO and Workflow Server with our team.
In production since 2014 at Dell, KPMG, Bosch, and GE Honda Aero Engines.