Companion project talk — a fictional podcast site built on Umbraco that showcases how to extend Umbraco.AI.
- .NET 10 SDK
- An OpenAI API key (the seed wires up OpenAI, and Whisper for transcription)
- Optional: a HubSpot private-app token for the guest-lookup tool
Use dotnet user-secrets:
cd src/TheRabbitHole.Web
dotnet user-secrets set "Umbraco:Ai:ApiKeys:OpenAI" "sk-..."
dotnet user-secrets set "Umbraco:Ai:ApiKeys:Anthropic" "sk-ant-..."
dotnet user-secrets set "HubSpot:AccessToken" "pat-..."Or drop an appsettings.<MachineName>.json next to appsettings.json (auto-loaded by Program.cs, gitignored):
cd src/TheRabbitHole.Web
dotnet runThe repo ships with a seeded SQLite database — doc types, content, AI connections, profiles, agents, prompts and tests are all in place. Log in to the backoffice with admin@example.com / password1234.
Save (or re-save) a podcastEpisode with audio attached and the background pipeline will transcribe it, draft show notes, and ping the backoffice when it's done.

{ "Umbraco": { "Ai": { "ApiKeys": { "OpenAI": "sk-...", "Anthropic": "sk-ant-..." } } }, "HubSpot": { "AccessToken": "pat-..." } }