![]() |
VOOZH | about |
dotnet add package AgentRun.Umbraco --version 1.2.0
NuGet\Install-Package AgentRun.Umbraco -Version 1.2.0
<PackageReference Include="AgentRun.Umbraco" Version="1.2.0" />
<PackageVersion Include="AgentRun.Umbraco" Version="1.2.0" />Directory.Packages.props
<PackageReference Include="AgentRun.Umbraco" />Project file
paket add AgentRun.Umbraco --version 1.2.0
#r "nuget: AgentRun.Umbraco, 1.2.0"
#:package AgentRun.Umbraco@1.2.0
#addin nuget:?package=AgentRun.Umbraco&version=1.2.0Install as a Cake Addin
#tool nuget:?package=AgentRun.Umbraco&version=1.2.0Install as a Cake Tool
AI-powered workflow engine for Umbraco CMS -- define multi-step agent workflows in YAML.
AgentRun ships with three example workflows, including an Umbraco Content Audit that analyses the content in your Umbraco instance directly from the backoffice -- no external URLs needed. After installing the package and configuring an Umbraco.AI profile, open Agent Workflows, click the Content Audit, and click Start. The agent reads your published content tree and produces a prioritised audit report.
Also included: Content Quality Audit and Accessibility Quick-Scan -- paste one or more public URLs and the agent fetches, scores, and reports on content quality or WCAG 2.1 AA accessibility issues.
AgentRun is an engine, not just a set of workflows. The shipped examples are a starting point; building your own is the intended path. Headline capabilities:
list_content, get_content, list_content_types, search_content
via Examine), an Umbraco.AI Context reader (get_ai_context), and web search
(web_search, Brave + Tavily). Custom tools plug in via a simple .NET interface --
register once through Umbraco's composer system and every workflow can declare them.{today}, {instance_id}, {step_index},
{previous_artifacts}, and workflow-declared config: tokens -- substituted
deterministically at prompt-assembly time, so dates, IDs, and config values are never
hallucinated.See the for the full tool reference and walkthroughs.
If you're adding AgentRun to a new site, run the Umbraco install wizard first (dotnet run,
complete setup in the browser, then stop the site). Umbraco.AI runs database migrations on
startup and needs an existing database.
dotnet add package Umbraco.AI
dotnet add package Umbraco.AI.Anthropic
dotnet add package AgentRun.Umbraco --version 1.2.0
All three packages auto-register via Umbraco's composer system -- no Program.cs changes needed.
Installing Umbraco.AI as a direct dependency ensures it survives if you later remove AgentRun.
dotnet run
On first startup, AgentRun automatically:
App_Data/AgentRun.Umbraco/workflows/No manual file copying or permission setup needed. Log out and back in to pick up the new section permission.
The three example workflows:
| Workflow | Steps | What it does |
|---|---|---|
| Umbraco Content Audit | Scanner, Analyser, Reporter | Reads your Umbraco content tree, scores completeness and structure, generates a prioritised audit report |
| Content Quality Audit | Scanner, Analyser, Reporter | Fetches pages, scores content quality, generates an audit report |
| Accessibility Quick-Scan | Scanner, Reporter | Fetches pages, identifies WCAG 2.1 AA issues, produces a prioritised fix list |
In the backoffice, go to the AI section:
AgentRun auto-detects your Umbraco.AI profile -- no YAML editing needed for first run.
If you have multiple profiles, you can set default_profile in each workflow's workflow.yaml
for deterministic selection.
Navigate to the Agent Workflows section in the backoffice. All three example workflows should appear. Start with the Umbraco Content Audit -- it reads your site's own content, so there's nothing to configure beyond the profile. For the URL-based workflows, click Start and paste one or more URLs when prompted.
The Umbraco Content Audit runs as a 6-pillar audit by default. To enable the optional 7th Brand pillar -- which scores content alignment against your site's brand voice:
brand-voice resource (populate toneDescription, targetAudience, and
styleGuidelines)App_Data/AgentRun.Umbraco/workflows/umbraco-content-audit/workflow.yamlconfig.brand_voice_context: to the alias of the Context you created (leaving it
as "" keeps the 6-pillar audit)get_ai_context
to load the brand voice, and scores a 7th Brand pillar against the prose extracted
from each node's body-copy propertyIf the alias doesn't resolve, the scanner halts with a clear configuration error rather than silently falling back. See the for the full pattern, including how to use it in your own workflows.
Workflows are YAML definitions paired with agent prompt markdown files. See the for the full field reference, tool documentation, and a step-by-step walkthrough of creating a custom workflow.
The shipped example workflows in App_Data/AgentRun.Umbraco/workflows/ are also useful
references -- read them alongside the guide.
AgentRun works out of the box with sensible defaults. Most users only need an Umbraco.AI
profile configured. For advanced use cases, add an AgentRun section to appsettings.json:
{
"AgentRun": {
"DefaultProfile": "your-profile-alias",
"DataRootPath": "App_Data/AgentRun.Umbraco/instances/",
"WorkflowPath": "App_Data/AgentRun.Umbraco/workflows/",
"ToolDefaults": {
"FetchUrl": {
"MaxResponseBytes": 1048576,
"TimeoutSeconds": 15
},
"ReadFile": {
"MaxResponseBytes": 262144
},
"ToolLoop": {
"UserMessageTimeoutSeconds": 300
}
},
"ToolLimits": {
"FetchUrl": {
"MaxResponseBytesCeiling": 5242880,
"TimeoutSecondsCeiling": 120
}
}
}
}
All paths are relative to your site's content root. DefaultProfile sets the fallback LLM
profile; individual workflows and steps can override it.
ToolDefaults sets site-wide default tuning values. ToolLimits sets hard ceilings that
workflows cannot exceed -- any workflow declaring values above the ceiling is rejected at load
time. See the
for the full resolution chain.
cache_control marker translation through Umbraco.AI is a planned follow-up;
caching still works automatically on OpenAI / Azure OpenAI once prompts cross the provider
size thresholdAgentRun creates no database tables, writes no configuration entries, and stores all runtime
data under App_Data/AgentRun.Umbraco/. To remove it cleanly:
dotnet remove package AgentRun.Umbraco
Then optionally delete the data folder:
rm -rf App_Data/AgentRun.Umbraco/
No other cleanup is needed.
AgentRun.Umbraco is licensed under the
(SPDX: Apache-2.0).
Copyright 2026 Adam Shallcross.
Third-party components included or referenced by this package are acknowledged in , all used under permissive licences compatible with Apache 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0 | 111 | 4/22/2026 |
| 1.0.0 | 105 | 4/16/2026 |
| 1.0.0-rc.2 | 60 | 4/16/2026 |
| 1.0.0-rc.1 | 66 | 4/16/2026 |
| 1.0.0-beta.2 | 61 | 4/14/2026 |
| 1.0.0-beta.1 | 68 | 4/12/2026 |