# Evaluate Workflow Engine
Workflow Engine is an embeddable .NET library that adds workflow automation, business process approvals, document routing, task assignment,
to any .NET application. It runs inside your process as a NuGet package; there is no separate server to
manage. [WorkflowRuntime](https://docs.workflowengine.io/get-started/concepts/workflow-runtime/) persists all process state to your existing database. This page covers
features, architecture, deployment modes, and how to evaluate the product.
## How does Workflow Engine work?
`WorkflowRuntime` is the central object, it manages process state, evaluates [rules](https://docs.workflowengine.io/get-started/concepts/rule/), fires timers, and
runs [actions](https://docs.workflowengine.io/get-started/concepts/action/). You define a process as a [scheme](https://docs.workflowengine.io/get-started/concepts/scheme/) (XML or via the
Workflow Designer), and `WorkflowRuntime` executes it.
Workflow Engine runs inside your ASP\.NET Core or .NET application as a library. You can call `WorkflowRuntime` methods directly from C#
code, or attach the separate [Workflow Engine Web API](https://docs.workflowengine.io/evaluate/workflow-engine-features/http-api/) package to publish Workflow Engine HTTP
API endpoints.
When attached to classic Workflow Engine, the package provides Designer API and Health Check API endpoints; the Data API and RPC API are
[Workflow Engine NEO](https://docs.workflowengine.io/evaluate/workflow-engine-editions/) capabilities enabled by the applicable License. `WorkflowRuntime` persists all
state to your existing database through a swappable persistence provider (SQL Server, PostgreSQL, MySQL, Oracle, or MongoDB).
The Designer is a frontend component that embeds in your application (React, Angular, Blazor, or vanilla JS). End users create and modify
workflow schemes through the Designer without touching code.
Workflow Engine runs in single-server mode by default, with no coordination overhead. Multi-server mode distributes process execution
across multiple application instances that share the same database and requires an Edition of Workflow Engine or Workflow Engine NEO that
includes clustering. Both modes use `WorkflowRuntime` as an in-process library inside each application instance.
## Multitenancy: serve multiple customers from one deployment
Workflow Engine NEO supports [multitenancy](https://docs.workflowengine.io/evaluate/workflow-engine-features/multitenancy/) when the selected Edition and License enable
it. Full hybrid multitenancy includes physical tenancy, which gives each tenant a dedicated database or database schema, and logical
tenancy, which stores multiple tenants in the same database and schema with `TenantId`-column filtering. Hybrid tenancy combines both
storage models in one deployment. Multitenant deployments can use single-server or multi-server mode when the selected Edition also
includes that deployment mode. See the Multitenancy feature page for setup code and details.
## Tested and stable: 10+ years of backward-compatible releases
Workflow Engine has shipped production releases for over 10 years with guaranteed backward compatibility across major versions. Schemes
written for an earlier version continue to run on current releases without schema migration or code changes.
For teams building long-lived systems, backward compatibility reduces upgrade friction. A major version upgrade does not require rewriting
process definitions or migrating the persistence schema. The guarantee covers the full version history - schemes from early versions run on
the current release unchanged.
## Who is this for?
- **Developer or tech lead** - start with [Features](https://docs.workflowengine.io/evaluate/workflow-engine-features/),
then Why Not Build Your Own.
- **CEO or CTO** - start with [Features](https://docs.workflowengine.io/evaluate/workflow-engine-features/), then [Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/).
- **Product Manager** - read [Features](https://docs.workflowengine.io/evaluate/workflow-engine-features/) and [Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/) in parallel
with your technical team.
## Try it free
Get a 30-day trial key at [trial.workflowengine.io](https://trial.workflowengine.io) - no credit card required. The trial key unlocks all
features for evaluation. See the [License Key](https://docs.workflowengine.io/evaluate/license-key/) page for details.
## Start using Workflow Engine
[Install Workflow Engine](https://docs.workflowengine.io/get-started/install-workflow-engine/) via NuGet and run your first process instance in 15 minutes. Workflow Engine
Free is a Product for personal projects and internal company applications. It has no Editions, requires attribution under the
[Workflow Engine Free terms](https://workflowengine.io/agreements/eula/#workflow-engine-free), and does not require a license key.
A public web app or SaaS needs Workflow Engine NEO Subscription or Workflow Engine NEO SaaS; redistributing the engine inside your own
product (OEM) needs Workflow Engine NEO Enterprise. Compare the [Workflow Engine Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/) and see
[Workflow Engine pricing](https://workflowengine.io/pricing/) before you buy. Capabilities, usage limits, deployment modes, and License
terms depend on the selected Product and Edition.
## See also
- [Workflow Engine Features](https://docs.workflowengine.io/evaluate/workflow-engine-features/): Browse every feature with a one-sentence description of what it does.
- Why Not Build Your Own: Build-vs-buy breakdown for a custom workflow engine.
- [Workflow Engine Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/): Compare capabilities and License models by Product and Edition.
- [Multitenancy](https://docs.workflowengine.io/evaluate/workflow-engine-features/multitenancy/): See how Workflow Engine NEO serves multiple customers or business units from one deployment with data isolation.
- Migrate from Elsa 2: Step-by-step migration guide with API mapping and scheme conversion.
## Frequently asked questions
**What is Workflow Engine?**
Workflow Engine is an embeddable .NET library that adds workflow automation, approvals, document routing, task assignment, to any .NET
application. It runs inside your process as a NuGet package; `WorkflowRuntime` manages all process state, rules, timers, and actions, and
persists everything to your existing database.
**Does Workflow Engine require a separate server to run?**
No. Workflow Engine runs inside your ASP\.NET Core or .NET application as a library. There is no external service, no agent process, and no
sidecar. You initialize `WorkflowRuntime` once at startup, register it with your DI container, and call its methods directly from C#.
**What databases does Workflow Engine support?**
Workflow Engine ships persistence providers for SQL Server, PostgreSQL, MySQL, Oracle, and MongoDB. You select a provider at startup by
registering the matching NuGet package, for example, `WorkflowEngine.NETCore-ProviderForMSSQL` for SQL Server or
`WorkflowEngine.NETCore-ProviderForPostgreSQL` for PostgreSQL.
**What is the difference between Workflow Engine Free and the commercial Editions?**
Workflow Engine Free is a Product without Editions for personal use and internal commercial use, with attribution, and it requires no
license key. Workflow Engine Team
and Workflow Engine Complete are Editions of Workflow Engine; Workflow Engine NEO Subscription, Workflow Engine NEO Business, Workflow
Engine NEO SaaS, and Workflow Engine NEO Enterprise are Editions of Workflow Engine NEO. Capabilities, limits, and License terms differ;
see [Workflow Engine Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/) for a detailed comparison.
**Is Workflow Engine backward compatible across major versions?**
Yes. Workflow Engine guarantees backward compatibility across major versions. Schemes and persistence data from earlier versions continue to
work on current releases without migration scripts or code changes.