# Get Started with Workflow Engine Workflow Engine .NET is a library that automates business processes. You define a process - approvals, reviews, escalations, any multi-step workflow - as a **scheme**, and Workflow Engine runs it as a **process instance**. The library handles state persistence, timer scheduling, rule evaluation, and action execution. There is no separate service to deploy: you add NuGet packages to your application and configure Workflow Engine to connect it to your database. ## Why use a workflow engine Every application eventually needs to manage multi-step processes. An order goes through validation, payment processing, fulfillment, and shipping. A document goes through drafting, review, approval, and publication. A support ticket goes through triage, investigation, resolution, and customer confirmation. Without a workflow engine, you build this yourself: database tables for state tracking, background jobs for timeouts, permission checks scattered across controllers, and a growing tangle of conditional logic that is hard to test and harder to change. A workflow engine replaces all of that with a single abstraction. Separating workflow logic from application code makes the process visible and changeable. The scheme is a standalone document that anyone can read - developers, analysts, testers. Changing the process means editing the scheme, not rewriting C# methods scattered across controllers and services. A process change that would take a week of code changes takes a scheme edit and a migration call. ## What Workflow Engine .NET solves Workflow Engine .NET replaces ad-hoc state management with three building blocks: - **Scheme** - a declarative definition of the process: the steps (activities), the paths between them (transitions), and what triggers each path (commands, timers, automatic conditions). - **Runtime** - the engine that loads the scheme, creates process instances, evaluates conditions, runs actions, and persists every state change to the database. - **Process Instance** - one running execution of a scheme. Each instance tracks its own current activity, parameters, and history independently. Once a process is defined as a scheme, you can: - **Persist state automatically** - the runtime saves every transition, parameter change, and timer to the database. No manual state tracking. - **Enforce timing rules** - timers fire transitions on deadlines, SLAs, and schedules. Missed timers catch up when the application restarts. - **Control access** - rules and restrictions determine which users can execute which commands at each step. - **Extend with custom code** - actions run your C# methods when a transition fires: send emails, call APIs, update business data. - **Keep an audit trail** - every transition is recorded. You can replay a process instance's history end-to-end. ## Frequently asked questions **What is Workflow Engine .NET?** Workflow Engine .NET is a .NET library that automates business processes. You define a process as an XML scheme, and the library runs it as a process instance with automatic persistence, timers, rules, and actions. There is no separate service to deploy. **Why do I need a workflow engine instead of writing my own state machine?** A hand-written state machine works for simple cases, but every new requirement - persistence, timers, audit trails, access control - adds complexity. Workflow Engine .NET provides all of these out of the box. You define the process flow, the library handles the infrastructure. **What databases does Workflow Engine .NET support?** SQL Server, PostgreSQL, MySQL, Oracle, MongoDB, and SQLite. Each has a separate NuGet provider package. **Do I need a license to start?** No. Workflow Engine Free requires no license key for personal use and internal commercial use, with attribution, within its documented limits. A public web app or SaaS needs Workflow Engine NEO Subscription or Workflow Engine NEO SaaS; see [Workflow Engine Editions](https://docs.workflowengine.io/evaluate/workflow-engine-editions/) for capabilities and limits. ## Next steps - [Install](https://docs.workflowengine.io/get-started/install-workflow-engine/): Add Workflow Engine to your project and start the runtime. - [Your First Workflow](https://docs.workflowengine.io/get-started/create-your-first-workflow/): Define a minimal scheme and create a process instance. - [Web API Quick Start](https://docs.workflowengine.io/get-started/install-workflow-engine/): Integrate Workflow Engine with ASP.NET Core using the Web API package. - [Concepts](https://docs.workflowengine.io/get-started/concepts/workflow-engine-concepts/): Understand every Workflow Engine concept in detail.