Umbraco AI setup
Umbraco AI setup
Section titled “Umbraco AI setup”The Flowcourier agents extend the official Umbraco AI Copilot. This page covers the prerequisite: a working Umbraco AI installation with an AI model configured. If your site already has Umbraco AI with a default Chat profile, you can skip straight to the Translation Agent and SEO Agent guides.
1. Install the Umbraco AI packages
Section titled “1. Install the Umbraco AI packages”Add the Umbraco AI host packages to your site:
dotnet add package Umbraco.AIdotnet add package Umbraco.AI.Startupdotnet add package Umbraco.AI.Webdotnet add package Umbraco.AI.Web.StaticAssetsdotnet add package Umbraco.AI.Agentdotnet add package Umbraco.AI.Agent.Copilotdotnet add package Umbraco.AI.PromptAdd at least one LLM provider package — this determines which models you can use:
dotnet add package Umbraco.AI.OpenAIdotnet add package Umbraco.AI.Anthropicdotnet add package Umbraco.AI.MicrosoftFoundryAdd the persistence packages matching your database (each Umbraco AI subsystem has its own):
# SQL Serverdotnet add package Umbraco.AI.Persistence.SqlServerdotnet add package Umbraco.AI.Agent.Persistence.SqlServerdotnet add package Umbraco.AI.Prompt.Persistence.SqlServer
# or SQLitedotnet add package Umbraco.AI.Persistence.Sqlitedotnet add package Umbraco.AI.Agent.Persistence.Sqlitedotnet add package Umbraco.AI.Prompt.Persistence.Sqlite2. Add a connection and your API key
Section titled “2. Add a connection and your API key”Start the site and open the AI section in the backoffice. Create a connection for your provider — this is where your OpenAI/Anthropic/Foundry API key goes. The key belongs to Umbraco AI’s provider configuration, not to any Flowcourier setting.
3. Create a default Chat profile
Section titled “3. Create a default Chat profile”Still in the AI section, create a profile with the Chat capability, pick the model, and set it as the default.
This is the step the Flowcourier agents depend on:
- The agents resolve the default Chat profile (or, if no default is set, the first profile with Chat capability) for every LLM call.
- Agents are seeded into the Copilot on startup only if a Chat profile exists. If you installed the Flowcourier package first, simply restart the site after creating the profile — the seeder picks it up on the next start.
- No Flowcourier-specific profile alias is required; whatever your default Chat profile is, the agents use it.
Running on SQLite?
Section titled “Running on SQLite?”From the sample project in the repository, a few settings keep Umbraco AI happy on SQLite’s single-writer database:
{ "Umbraco": { "CMS": { "Global": { "DistributedLockingWriteLockDefaultTimeout": "00:00:20" } }, "AI": { "Analytics": { "Enabled": false } } }, "ConnectionStrings": { "umbracoDbDSN": "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Private;Foreign Keys=True;Pooling=True;Default Timeout=30", "umbracoDbDSN_ProviderName": "Microsoft.Data.Sqlite" }}- Use
Cache=Private(notShared), pooling and a 30 second timeout in the connection string. - Raise the distributed-locking write timeout to 20 seconds.
- Disable
Umbraco:AI:Analytics— its rollup jobs can starve SQLite’s single writer.
None of this is needed on SQL Server.
Verify
Section titled “Verify”Open any content page and launch the Copilot. Once it responds to a plain chat message, the model is configured correctly — and after a restart you should see the Translation Agent and SEO Agent in the Copilot’s agent picker.