How to Install and Configure AI Chat for Optimizely CMS - Complete Guide

AI Assistant Chat is a revolutionary feature introduced in version 3.0 of Epicweb.Optimizely.AIAssistant that brings conversational AI directly into your Optimizely CMS editing experience. Instead of manually filling fields or guessing at optimal content, you can now have natural conversations with AI while working with pages, blocks, and media.

icon of user profile
By OMVP Luc Gosso

Think of it as having an expert content strategist, SEO specialist, and technical writer all rolled into one, available 24/7, right in your CMS toolbar.

The Power of Conversational Content Management - Part 1

Instead of this traditional workflow:

1. Open page editor
2. Think about SEO title
3. Write title
4. Check character count
5. Revise
6. Repeat for meta description
7. Manually check accessibility
8. Review content structure

You can now do this:

You: "Analyze this page's SEO and suggest improvements"
AI: [Analyzes current page, identifies 3 issues]
You: "Apply those suggestions"
AI: [Updates SEO title, meta description, and heading structure] "Done! Review the changes?"

Watch: AI Chat in action

Key Benefits

Boost Productivity

  • 10x faster content creation - Generate SEO-optimized content in seconds
  • Automated workflows - Let AI handle repetitive tasks
  • Smart suggestions - Get intelligent recommendations based on your content
  • Instant operations - Update content through natural conversation

Improve Content Quality

  • SEO optimization - AI suggests search-friendly titles, descriptions, and structure
  • Consistency - Maintain brand voice across all content
  • Accessibility - Automatic alt text and WCAG compliance checks
  • Multi-language - Seamless translation with context awareness

Intelligent Assistance

  • Context-aware - Understands what you're working on
  • Learning capabilities - Adapts to your content guidelines
  • Real-time help - Get answers without leaving the CMS
  • Content analysis - Instant feedback on readability, tone, and structure

Powerful Tool Integration

  • Content operations - Create, read, update, and publish through conversation
  • Image handling - Generate alt text and analyze images
  • External systems - Integrate with APIs, databases, and services
  • Custom tools - Extend with your own business logic

Team Empowerment

  • Lower barrier to entry - New editors productive from day one
  • Best practices built-in - AI guides editors toward quality content
  • Role-based access - Control who can use AI features (optional)
  • Audit trail - Track all AI-assisted changes

Prerequisites

Before installing AI Chat, ensure you have:

  • Optimizely CMS 12.18+ or Optimizely Commerce 14+
  • Epicweb.Optimizely.AIAssistant 3.0+ installed
  • OpenAI API key or compatible AI provider (Azure OpenAI, Google Gemini) - this is not needed on localhost
  • Developer access to your solution's source code
  • .NET 6.0+ (or compatible with your CMS version)

Step-by-Step Installation

Step 1: Install Base Package

If you haven't already installed the AI Assistant, start here:

Via NuGet Package Manager Console:

Install-Package Epicweb.Optimizely.AIAssistant

Or via .NET CLI:

dotnet add package Epicweb.Optimizely.AIAssistant

NuGet URL:
https://nuget.optimizely.com/package/?id=Epicweb.Optimizely.AIAssistant


Step 2: Install Built-in Tools Package

AI Chat requires tools to function. The built-in tools package provides essential functionality:

Via NuGet Package Manager Console:

Install-Package Epicweb.Optimizely.AIAssistant.Tools

Or via .NET CLI:

dotnet add package Epicweb.Optimizely.AIAssistant.Tools

NuGet URL:
https://nuget.optimizely.com/package/?id=Epicweb.Optimizely.AIAssistant.Tools

Why are tools important? Tools enable AI to perform real operations, fetching content, updating properties, publishing pages, instead of just generating text. Without tools, the AI can only suggest changes. With tools, it can actually execute them.


Step 3: Configure Services in Startup.cs

Open your Startup.cs file and register the AI Assistant with all necessary tool packs:

using Epicweb.Optimizely.AIAssistant;
using Epicweb.Optimizely.AIAssistant.Tools;
using Epicweb.Optimizely.AIAssistant.Hub;

public void ConfigureServices(IServiceCollection services)
{
    // ... your existing services ...

    services
        .AddAIAssistant()
        // Register built-in tool types for AI Chat functionality
        .RegisterMcpToolType(typeof(BuiltinTools))            // Core helper tools
        .RegisterMcpToolType(typeof(BuiltinChatTools))        // Content reading
        .RegisterMcpToolType(typeof(BuiltinPublishChatTools)) // Publishing operations
        .RegisterMcpToolType(typeof(BuiltinUpdateChatTools))  // Content updates
        .RegisterMcpToolType(typeof(BuiltinChatImageTools))   // Image analysis
        .RegisterMcpToolType(typeof(BuiltinChatCreateImageTools)); // Image generation

    // ... other registrations ...
}

Tool Pack Breakdown:

Tool Pack Purpose Example Operations
BuiltinTools Core helper utilities Date formatting, string manipulation
BuiltinChatTools Content reading Get page content, search, list children
BuiltinPublishChatTools Publishing Publish, unpublish, schedule
BuiltinUpdateChatTools Content editing Update properties, create drafts
BuiltinChatImageTools Image operations Analyze images, generate alt text
BuiltinChatCreateImageTools Image creation Instruction how to create images

Step 4: Register SignalR Hub

AI Chat uses SignalR for real-time communication. Add the hub endpoint in your Configure method:

using Epicweb.Optimizely.AIAssistant.Hub;

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ... existing middleware ...

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapContent();
        endpoints.MapAIAssistantHub(); // Required for AI Chat
    });
}

Important: Without MapAIAssistantHub(), the chat window will fail to connect and display errors.


Step 5: Configure in appsettings.json

Add AI Chat configuration to your appsettings.json:

{
  "Epicweb": {
    "AIAssistant": {
      "ApiKey": "sk-proj-your-openai-api-key-here",
      "Provider": "AzureOpenAI",
      "Model": "gpt-5.2",
      "EnableChat": true,
      "ChatRoles": [
        "AIEditors",
        "WebEditors",
        "WebAdmins",
        "CmsAdmins",
        "CmsEditors"
      ],
      "MaxToolIterations": 8
    }
  }
}

Configuration Options Explained:

Setting Type Description Default
ApiKey string Your OpenAI API key from https://platform.openai.com/account/api-keys Required
Provider string AI provider: OpenAI, AzureOpenAI, Gemini OpenAI
Model string AI model to use (see recommendations below) gpt-5.2
EnableChat bool Enables the AI Chat window in CMS toolbar false
ChatRoles string[] User roles that can access AI Chat (optional, if not specified all authenticated users can access) All users
MaxToolIterations int Prevents infinite tool calling loops 8

Getting Your API Key

  1. Go to https://platform.openai.com/account/api-keys
  2. Sign up or log in
  3. Click "Create new secret key"
  4. Copy the key (starts with sk-)
  5. Add to appsettings.json

Security Tip: Never commit API keys to source control. Use:

  • Azure Key Vault
  • Environment variables
  • User secrets (dotnet user-secrets set "Epicweb:AIAssistant:ApiKey" "sk-...")

Step 6: Choose the Right AI Model

Critical: AI Chat requires advanced models with robust tool calling capabilities.

Recommended Models

OpenAI:

  • gpt-5.2 - Latest, best overall performance (recommended)
  • gpt-5.1 - Excellent tool coordination and reasoning
  • gpt-5 - Solid performance with tool calling
  • gpt-5.5-mini - Budget-friendly option with good tool support

Azure OpenAI:

  • gpt-5.2 - Same as OpenAI, but hosted in Azure
  • gpt-5.1 - Robust enterprise option

Google Gemini:

  • gemini-2.5-pro - Latest stable version (recommended)
  • gemini-2.5-flash - Faster, cost-effective option

Models NOT Compatible with AI Chat

  • gpt-4o, gpt-4-turbo, gpt-4 - Older generation, incompatible tool calling
  • gpt-3.5-turbo - No advanced tool coordination
  • gemini-1.5-pro, gemini-1.5-flash - Older Gemini versions not supported

Why model choice matters: AI Chat uses advanced function calling to execute multiple tools in complex sequences. Only GPT-5+ and Gemini 2.5+ models have the necessary capabilities to:

  • Chain multiple tool calls together
  • Handle errors and retry with different approaches
  • Maintain context across long conversations
  • Understand when to use specific tools

Step 7: Configure Role-Based Access (Optional)

By default, all authenticated CMS users can access AI Chat. To restrict access to specific roles:

Example: Restrict to admins only

"ChatRoles": ["CmsAdmins", "WebAdmins"]

Example: Allow specific editor roles

"ChatRoles": ["CmsEditors", "WebEditors", "AIEditors", "CmsAdmins"]

Example: Custom roles

"ChatRoles": ["ContentCreators", "SEOSpecialists"]

To allow all users: Simply omit the ChatRoles setting or set it to an empty array:

"ChatRoles": []

Make sure users are assigned these roles in Optimizely's admin interface under:
Admin -> Administer Groups


Step 8: Verify Installation

After completing the setup:

  1. Build your solution
    dotnet build
    
  2. Run the application
    dotnet run
    
  3. Log in to Optimizely CMS
  4. Look for the AI Chat button in the CMS toolbar (typically top-right)
  5. Click to open the chat window
  6. Test with a simple command:
    "What tools are available?"
    

If you see a list of tools, congratulations. AI Chat is working.

Optimizely CMS editor showing an article draft, with a right-side AI Assistant chat panel listing tools.

Next up

You now have AI Assistant Chat installed and connected, with the right tool packs registered, SignalR enabled, and provider settings in place. From here, you can start using chat to analyze pages, improve SEO, check accessibility, and make safe, reviewable updates directly from the Optimizely editing UI.

This was Part 1, focused on installation and baseline configuration. In Part 2, we go deeper into configuration, custom instructions and custom tools. 

Link to documentation: https://github.com/Epicweb-Optimizely/Epicweb.Optimizely.AIAssistant/ 

Screenshot examples

Screenshot of AI Assistant chat asking to convert Markdown main body to HTML and confirm heading and code block options.Screenshot of a chat confirming MainBody HTML updates and asking to publish, schedule, or keep editing.

 

Boka ett möte för att komma igång!

Vi erbjuder ett timmes introduktionsmöte om vår AI-assistent för Optimizely CMS 12. (Svenska eller engelska)

Ta mig till bokningssidan

AI-assistenten: Det här får du

Funktionsrik för ökad redaktionell effektivitet

Epicwebs AI-assistent har en imponerande mängd funktioner:

  1. Textförslag och alternativ: Förbättra ditt skrivande med AI-genererade formuleringar och alternativa varianter.

  2. Flerspråkig översättning: Översätt din text sömlöst till flera språk samtidigt som formattering och stil bevaras för att nå en mångsidig publik.

  3. SEO, AEO och GEO: Generera optimeringsinnehåll för sökmotorer och AI-sökning.

  4. Prompt Pro Assistance: Det sparar tid och hjälper dig få mer ut av dina idéer, omedelbart.

  5. Bild AltText-analysator: Avancerade AI-funktioner för att analysera bilder och automatiskt fylla i medieobjektsegenskaper.

  6. Bildgenerering: Skapa relevanta och engagerande bilder som kompletterar ditt innehåll.

  7. Bildtransformer: Ta vilken bild som helst, förbättra den och lägg till nya element med AI-driven kreativitet. Förändra sättet du interagerar med bilder.

  8. Ny textgenerering: Generera nytt innehåll som håller din publik engagerad.

  9. Textsammanfattning: Snabbt kondensera långa texter till koncisa sammanfattningar, spara tid och behålla essensen, perfekt för SEO-beskrivningar.

  10. HTML-formatering: AI-assistenten erbjuder en rad formateringsmöjligheter inom Rich Text Editor. WCAG-kompatibel.

  11. Stavningskontroll: Säkerställ att ditt innehåll är fritt från fel och professionellt polerat.

  12. Tonaljustering och konsekvens: Anpassa din texts ton för att passa ändamålet och bibehålla en konsekvent varumärkesröst.

  13. Nyckelordsutvinning: Identifiera och extrahera nyckeltermer från din text för SEO-optimering.

  14. Anpassade uppmaningar med ChatGPT: Utnyttja kraften i ChatGPT för att köra egna uppmaningar för unik innehållsskapande.

  15. Anpassade genvägsuppmaningar: Lägg till egna genvägar för frekvent använda kommandon, koppla verktyg och öka produktiviteten.

  16. Inline ChatGPT-hjälp: Använd ChatGPT eller Google GEMINI direkt inom plattformen för omedelbar hjälp.

  17. Verktyg för AI: Anslut dina C# Funktionsanrop eller MCP-verktyg direkt till AI-assistenten, vilket möjliggör anpassade integrationer.

  18. RAG (Retrieval-Augmented Generation): Anslut din egen kunskapsbas för AI-svar som drivs av din organisations interna data.

Smidig integration i Optimizely

AI-assistenten är sömlöst integrerad i varje fält inom Optimizely CMS och Commerce-plattformen, vilket säkerställer att dessa kraftfulla funktioner är tillgängliga precis där du behöver dem, i redigerarläget.

Kom igång med Epicwebs AI-assistent:

För att komma igång med den kostnadsfria utvärderingen, fyll enkelt i formuläret på vår webbplats för att komma igång och ladda ner tillägget till din Optimizely CMS och anpassningsbara Commerce-plattform från Optimizely Nuget-feed.

Följ vår nybörjarvänliga guide eller dyka djupt med vår omfattande dokumentation.

Installation är snabb och enkel, vilket gör att du kan börja utnyttja kraften i AI-assistans på nolltid.

Boka ett möte för att komma igång!

Vi erbjuder ett timmes introduktionsmöte om vår AI-assistent för Optimizely CMS 12. (Svenska eller engelska)

Ta mig till bokningssidan

Notera: Detta blogginlägg har förbättrats med hjälp av AI-assistenten för Optimizely.

About the Author

Luc Gosso

OMVP Luc Gosso

– Independent Senior Web Developer
working with Azure, AI and Optimizely