Aurora Workflows
A powerful, extensible workflow automation engine for .NET
What is Aurora Workflows?
Aurora Workflows is a .NET workflow automation platform that lets you design, compile, and execute complex automation workflows. It combines a rich visual designer with a developer-friendly API, a standalone CLI runner, and a dedicated compiler toolchain.
Workflows are composed of tasks (units of work) and triggers (events that start the workflow).
They are designed visually in the Desktop Application, saved as .awf files,
compiled into self-contained .awfc bundles, and then executed by the CLI Runner
or embedded in any .NET application using the Fluent API.

Key Features
- Visual Designer – Drag-and-drop workflow editor built on WPF (.NET 10) for Windows. Supports tree-based task composition with live preview.
- Rich Task Library – 70+ built-in tasks covering file I/O, HTTP, scripting, scheduling, e-mail, databases, hardware information, Windows automation, Selenium, ML image prediction, infrastructure (SSH, DNS, Let's Encrypt), and more.
- Roslyn Expression Engine – Every task property that accepts an expression is evaluated at runtime by the Roslyn scripting engine, giving you the full power of C# in any workflow property.
- Fluent API – Build, persist, and execute workflows entirely in code with a chainable, self-documenting builder API.
- Compiler & CLI Runner – Compile
.awfdesigns into portable.awfcbundles and run them headlessly from any shell or CI system. - Publishing & Package Editor – Reference NuGet packages (including the official AURORA task libraries) directly in the designer and publish compiled containers with embedded assemblies to pluggable targets.
- Workflow Hosting – A SQL Server backed hosting engine schedules, executes, monitors and retries published workflows across one or more nodes; control it live from the designer.
- Scope Tasks – First-class support for loops, conditionals, try/catch, throttling, change detection, and parallel branches.
- Triggers – One-time, periodic, cron-scheduled, file-system, and HTTP listener triggers included out of the box.
- Pause / Resume ⚠️ (Experimental) – Running workflows can be paused to a JSON snapshot and resumed later. This feature is highly experimental and may not behave correctly in all scenarios.
- Data Context – Typed, key-based variable store shared across all tasks within a workflow execution.
Quick Navigation
Project Structure
| Assembly | Target | Description |
|---|---|---|
Aurora.Workflows | .NET Standard 2.0 | Core engine: Workflow class, task base, triggers, Roslyn evaluator |
Aurora.Workflows.Contracts | .NET Standard 2.0 | Interfaces, attributes, and enums shared by all components |
Aurora.Workflows.Tasks | .NET Standard 2.0 | 70+ general-purpose built-in tasks |
Aurora.Workflows.Tasks.Data | .NET Standard 2.0 | SQL Server tasks (backup, restore, query, index maintenance) |
Aurora.Workflows.Tasks.Hardware | .NET Standard 2.0 | Hardware inventory tasks (CPU, GPU, memory, drives) |
Aurora.Workflows.Tasks.ItOpsToolBox | .NET Standard 2.0 | SSH, DNS, Hetzner, Let's Encrypt, IIS certificate tasks |
Aurora.Workflows.Tasks.Media | .NET Standard 2.0 | Audio playback, ElevenLabs TTS |
Aurora.Workflows.Tasks.ML | .NET Standard 2.0 | ML.NET image prediction and training |
Aurora.Workflows.Tasks.Selenium | .NET Standard 2.0 | Browser automation via Selenium WebDriver |
Aurora.Workflows.Tasks.Windows | .NET Standard 2.0 | Windows-specific: screen capture, keystrokes, window handles |
Aurora.Workflows.Tasks.Workflow | .NET 8 (Windows) | Tasks for loading, compiling, and running workflows from within workflows |
Aurora.Workflows.Fluent | .NET Standard 2.0 | Fluent builder API |
Aurora.Workflows.Extensions | .NET Standard 2.0 | ManagedWorkflow, NuGet service, host builder |
Aurora.Workflows.Cli | .NET 8 | CLI Runner executable |
Aurora.Workflows.Cli.Compiler | .NET 8 (Windows) | Compiler CLI executable |
Aurora.Workflows.Hosting.Contracts | .NET 10 | Shared hosting enums and command line parameters |
Aurora.Workflows.Hosting.Core | .NET 10 | Hosting engine: EF Core model, scheduler, orchestrator, executor |
Aurora.Workflows.Hosting.Publisher | .NET 10 | Hosting Database publish target and host controller |
Aurora.Workflows.Hosting.Cli | .NET 10 | Hosting node executable |
Aurora.Workflows.UI.Core | .NET 8 (Windows) | WPF designer controls, Package Editor, Publish and Workflow Hosting panels |
Aurora.Workflows.UI.Host | .NET 10 (Windows) | Desktop application entry point |
NuGet Packages
All libraries are published to nuget.org under the Aurora.Workflows.* prefix, so you can embed the engine, reference the task libraries or build your own tasks without cloning the repository. The same packages are what the designer's Package Editor and the hosting nodes restore at runtime.
dotnet add package Aurora.Workflows
dotnet add package Aurora.Workflows.Tasks
# for custom task development only the contracts are required
dotnet add package Aurora.Workflows.Contracts
| Package | Use it when… |
|---|---|
Aurora.Workflows | You want to build and run workflows from code (core engine). |
Aurora.Workflows.Contracts | You implement custom tasks or triggers and only need the interfaces and attributes. |
Aurora.Workflows.Fluent | You prefer the fluent builder API. |
Aurora.Workflows.Extensions | You load .awfc bundles via ManagedWorkflow or need the NuGet resolver / host builder. |
Aurora.Workflows.Tasks | You need the 70+ general-purpose built-in tasks. |
Aurora.Workflows.Tasks.* | Domain-specific task libraries: Data, Hardware, ItOpsToolBox, Media, Selenium, Windows, Workflow. |
Aurora.Workflows.UI.* | You want to embed the WPF designer controls in your own application (UI.Contracts, UI.Core, UI.Host). |
Aurora.Workflows.* references on the same version. The packages are released together, and mixing versions can lead to contract mismatches when tasks are loaded.