Aurora.Workflows.UI.Host 0.4.1.14

dotnet add package Aurora.Workflows.UI.Host --version 0.4.1.14
                    
NuGet\Install-Package Aurora.Workflows.UI.Host -Version 0.4.1.14
                    
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="Aurora.Workflows.UI.Host" Version="0.4.1.14" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aurora.Workflows.UI.Host" Version="0.4.1.14" />
                    
Directory.Packages.props
<PackageReference Include="Aurora.Workflows.UI.Host" />
                    
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 Aurora.Workflows.UI.Host --version 0.4.1.14
                    
#r "nuget: Aurora.Workflows.UI.Host, 0.4.1.14"
                    
#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 Aurora.Workflows.UI.Host@0.4.1.14
                    
#: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=Aurora.Workflows.UI.Host&version=0.4.1.14
                    
Install as a Cake Addin
#tool nuget:?package=Aurora.Workflows.UI.Host&version=0.4.1.14
                    
Install as a Cake Tool

Aurora Workflows - UI Editor Documentation

Overview

The Aurora Workflow Editor is a visual design tool for building modular, event-driven workflows using a drag-and-drop interface. It ships as a WPF host application (targeting .NET 8) and is distributed as a NuGet package (Aurora.Workflows.UI.Host). The editor lets you compose tasks into flowchart-style graphs, configure their properties, attach triggers, and run or debug workflows directly.

Project website: https://aurora.unex.me/


Solution Architecture

Aurora Workflows is split into multiple focused packages:

Package Description
Aurora.Workflows.Contracts Interfaces, enums, and shared contracts (IWorkflow, IWorkflowTaskBase, etc.).
Aurora.Workflows Core engine: Workflow, StartTask, WorkflowTaskBase, expression evaluation (Roslyn), serialization.
Aurora.Workflows.Tasks Standard task library: file I/O, HTTP, mail, loops, conditions, collections, scripting, and more.
Aurora.Workflows.Tasks.Data Database tasks: SQL queries, backup/restore, index maintenance (SQL Server).
Aurora.Workflows.Tasks.Selenium Browser automation tasks powered by Selenium WebDriver (Edge).
Aurora.Workflows.Tasks.Media Audio playback, ElevenLabs TTS, and voice trigger.
Aurora.Workflows.Tasks.ML Machine-learning tasks: image prediction, Stable Diffusion interrogation, training image management.
Aurora.Workflows.Tasks.Hardware System information tasks: CPU, GPU, memory, disks, network, BIOS, and more.
Aurora.Workflows.Tasks.Windows Windows-specific tasks.
Aurora.Workflows.Tasks.Workflow Meta tasks for invoking sub-workflows.
Aurora.Workflows.Tasks.ItOpsToolBox IT operations utility tasks.
Aurora.Workflows.Fluent Fluent API for building workflows programmatically (see Fluent API below).
Aurora.Workflows.Extensions Runtime assembly loading and extension discovery.
Aurora.Workflows.UI.Core Shared UI resources, themes, and controls.
Aurora.Workflows.UI.Contracts UI-layer contracts and abstractions.
Aurora.Workflows.UI.Host The main WPF workflow editor application.
Aurora.Workflows.UI.Avalonia Cross-platform Avalonia UI (Desktop + Browser).
Aurora.Workflows.Cli Command-line runner for headless workflow execution.
Aurora.Workflows.Cli.Compiler AOT / compiled workflow support for the CLI.
Aurora.Workflows.Tests Unit and integration tests (xUnit v3, Moq, FluentAssertions).

Workflow Versioning

Version Name Behavior
1 Legacy Every string value is compiled as a C# expression. Plain text must be manually quoted.
2 ExpressionMarker (current) Strings are plain text by default. Prefix with = to evaluate as C# (e.g. = DateTime.Now). Use == to escape a leading equals sign.

New workflows are always created with the current version.


UI Structure

Section Description
Toolbar (Top) Main controls: Load, Save, Start (F5), Stop (Shift+F5), Publish, Load Modules, Edit Packages, Reset Layout.
Working Space (Left) Local file browser showing .AWF workflow files.
Editor Canvas (Center) The primary visual workflow builder. Tasks are arranged and connected in a flowchart layout.
Properties Panel (Right) Edits task-specific settings, categories, and parameters.
Prefab Manager (Bottom Left) Save and reuse task groups (prefabs).
Output Panel (Bottom) Runtime logs for output, debug information, errors, and events.

Creating a Workflow

1. Start with a Trigger

Every workflow begins with a StartTask (added automatically) and at least one trigger:

Trigger Type Description
Time Trigger Fires every X milliseconds.
Cron Trigger Fires on a cron schedule.
One-Time Trigger Executes once, then stops.

2. Choose a Trigger Strategy

The StartTask exposes a Trigger Execution Strategy that controls concurrency:

Strategy Behavior
Immediate Always executes without any concurrency check.
WaitForCompletion Queues execution and waits for the current run to finish.
SkipWhenExecutionIsAlreadyRunning Skips the trigger if a run is already in progress.

3. Add and Connect Tasks

  • Drag from an output port to an input port to create a connection.
  • Drag from an output into empty space to open the contextual task menu.
  • Context-relevant tasks appear highlighted in violet based on data-type compatibility.

Task Color Coding:

Color Meaning
Red Core tasks (built-in)
Blue Extension tasks (default library)
Yellow Custom tasks (user-provided DLLs)

4. Configure Task Properties

Select a task to edit its properties in the right panel. Properties are grouped into categories:

  • Task Specific - Parameters unique to the task type.
  • General - Name, custom variable names.
  • Data - Input/output variable scope, global/parent scope toggles.
  • Error Handling - ContinueOnError, retry settings (RetryEnabled, MaxRetries, RetryInterval).
  • State Machine and Threading - Concurrency and trigger strategy.
  • Debugging - Breakpoints (BreakOnPreExecution, BreakOnPostExecution), IgnoreIfDebuggerIsAttached.

Built-in Task Categories

Below is a non-exhaustive selection of tasks shipped with the standard packages:

Category Examples
Control Flow ForEachTask, LoopTask, ConditionalScope, TryCatchScopeTask, SplitTask, MergeTask, AsyncTask
Variables SetVariableTask (requires an Expression), CreateCollectionTask, AddItemToCollectionTask
Strings StringReplaceTask, ConcatStringsTask, StringSplitTask, ConvertStringToByteTask
File System ReadFileTask, WriteFileTask, FileCopyTask, DeleteFileTask, FileExistsTask, GetFileListTask
Networking HttpClientTask, CreateAuthenticationHeadersTask, SendMailTask, GoogleSearchTask
AI / LLM ChatGptPromptTask, ElevenLabsTask, PredictImageTask
Database ExecuteSqlQueryTask, TsqlBackupDatabaseTask, TsqlRestoreDatabaseTask, GetDatabaseNamesTask
Selenium SeleniumNavigateToTask, SeleniumClickButtonTask, SeleniumSendTextTask, SeleniumSelectDropdownValueTask
Hardware GetCpuInformationTask, GetMemoryUsageTask, PingHost, DnsResolverTask, TestTcpPortTask
Scripting ExecuteScriptTask, ShellExecuteTask
Serialization SerializeToJsonTask, DeserializeFromJsonTask, JsonTask

Note: Scope-based tasks (e.g. ForEachTask, ConditionalScope) execute their child tasks in the Scope area.


Fluent API

Workflows can also be created programmatically via the Fluent API (Aurora.Workflows.Fluent). A StartTask is added automatically as the root - you never need to add one yourself.

using Aurora.Workflows.Fluent;

var wf = FluentWorkflow
    .Create("My Workflow")
    .TriggerOnce()
    .Do<SetVariableTask>(t =>
    {
        t.Expression = "42";
        t.CustomOutputVariableName = "answer";
    })
    .Then.Print("Done!")
    .Build();

await wf.StartAsync();

Key builder methods: Do<T>(), Then, Branch(), Named(), WithInput(), Retry(), Build(), Persist(), and Load().


User Interaction and Shortcuts

Canvas Navigation

  • Right Mouse Button (Hold) - Pan the editor canvas.
  • Left Mouse Button (Hold) - Move tasks on the canvas.
  • Minimap (Bottom Right) - Quickly navigate large workflows.

Keyboard Shortcuts

Shortcut Action
Drag port to port Create a connection
ALT + Left Click Delete a connection
CTRL + C / CTRL + V Copy / paste tasks
CTRL + T Open task selection dialog
F5 / SHIFT + F5 Start / Stop workflow
CTRL + E Create a prefab from selected tasks
CTRL + SHIFT + E Insert prefab at cursor position
CTRL + G Group selected tasks into a visual group
CTRL + S Save workflow
CTRL + O Open workflow file
CTRL + N New workflow
F9 Toggle debug breakpoint

Context-Sensitive Task Suggestions

When dragging from a task output into empty space, the editor filters the task menu to show only type-compatible next tasks (highlighted in violet).

Example: dragging from a StringReplaceTask output suggests ConcatStringsTask, StringSplitTask, ConvertStringToByteTask, WriteFileTask, etc.


Port Tooltips and Visual Cues

Hovering over a task port shows a tooltip with the expected data type. Visual indicators:

Cue Meaning
Red port Required input
Blue port Optional or already connected
Orange border Currently selected task

Live Execution Visualization

The workflow editor shows real-time status during execution:

Visual Style Meaning
Red border Task is currently executing
Violet border Task has a debug breakpoint set
Orange border Task is currently selected in the editor
Yellow/orange border Task encountered an error (can be retried or ignored via settings)
Green checkmark Task completed successfully
Duration label Shows execution time in milliseconds below each task

Error behavior (e.g., retry or ignore) can be configured in the Properties Panel per task.


NuGet Packages

Aurora Workflows is distributed via NuGet for seamless integration in .NET projects.


Summary

  • Visual drag-and-drop workflow editor
  • Context-aware task suggestions based on data types
  • Modular task system (core, extension, and custom tasks)
  • Fluent API for programmatic workflow construction
  • Built-in debugging with breakpoints and real-time execution feedback
  • Multiple trigger strategies for concurrency control
  • Expression versioning (legacy C# vs. marker-based)
  • Extensible via NuGet packages and user-provided DLLs
  • Cross-platform UI via Avalonia (Desktop + Browser)
  • Headless CLI runner for automated / server-side execution

License

MIT - Copyright Ben. Wagner 2020+

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.1.14 123 5/11/2026
0.4.1.12 102 5/9/2026
0.4.1.11 109 5/6/2026
0.4.1.10 102 5/1/2026
0.4.1.9 107 4/30/2026
0.4.1.8 111 4/28/2026
0.4.1.7 113 4/21/2026
0.4.1.5 130 4/15/2026
0.4.1.2 141 3/16/2026
0.4.1.1 123 3/16/2026
0.3.1.60 127 3/14/2026
0.3.1.56 130 3/12/2026
0.3.1.55 124 3/12/2026
0.3.1.53 113 3/9/2026
0.3.1.52 114 3/5/2026
0.3.1.47 118 3/5/2026
0.3.1.46 111 3/5/2026
0.3.1.45 105 3/4/2026
0.3.1.40 114 3/4/2026
0.3.1.33 114 3/4/2026
Loading failed