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.

 

Book a meeting to get started!

We offer a one-hour introduction meeting about our AI Assistant for Optimizely CMS 12. (Swedish or English)

Take me to booking page

The AI Assistant: This is what you get

Feature-Rich for Enhanced Editorial Efficiency

Epicweb's AI Assistant comes with an impressive array of features:

  1. Text Suggestions and Alternatives: Enhance your writing with AI-generated phrasing and alternative variations.

  2. Multilingual Translation: Seamlessly translate your text into multiple languages while preserving formatting and style to reach a diverse audience.

  3. SEO, AEO and GEO: Generate optimization content for search engines and AI search.

  4. Prompt Pro Assistance: It saves time and helps you get more out of your ideas, instantly.

  5. Image AltText Analyzer: Advanced AI capabilities to analyze images and automatically populate media object properties

  6. Image Generation: Create relevant and engaging images that complement your content.

  7. Image Transformer: Take any image, enhance it, and add new elements with AI-powered creativity. Transform the way you interact with images.

  8. New Text Generation: Generate fresh content that keeps your audience engaged.

  9. Text Summarization: Quickly condense long texts into concise summaries, saving time and maintaining essence, perfect for SEO descriptions.

  10. HTML Formatting: The AI-Assistant offers a range of formatting capabilities within the Rich Text Editor. WCAG Compatible.

  11. Spell-Checking: Ensure your content is error-free and professionally polished.

  12. Tone Adjustment and Consistency: Adapt your content’s tone to suit its purpose and maintain a consistent brand voice.

  13. Keyword Extraction: Identify and extract key terms from your text for SEO optimization.

  14. Custom Prompts with ChatGPT: Leverage the power of ChatGPT to run your own prompts for unique content creation.

  15. Custom Shortcut Prompts: Add your own shortcuts for frequently used commands, connect tools and enhancing productivity.

  16. Inline ChatGPT Help: Use ChatGPT or Google GEMINI directly within the platform for instant assistance.

  17. Tools for AI: Connect your C# Function Calling or MCP tools directly to the AI Assistant, enabling custom integrations.

  18. RAG (Retrieval-Augmented Generation): Connect your own knowledge base for AI responses powered by your organization’s internal data.

Streamlined Integration into Optimizely

The AI Assistant is seamlessly integrated into every field within the Optimizely CMS and Commerce platform, ensuring that these powerful features are accessible right where you need them, in the editor mode.

Getting Started with The Epicweb AI-Assistant:

To get started with the free evaluation, simply fill in the form in our website to get started and download the addon to your Optimizely CMS and Customizable Commerce platform from the Optimizely Nuget feed.

Follow our beginner-friendly guide or dive deep with our comprehensive documentation.

Installation is quick and easy, allowing you to start harnessing the power of AI assistance in no time.

Book a meeting to get started!

We offer a one-hour introduction meeting about our AI Assistant for Optimizely CMS 12. (Swedish or English)

Take me to booking page

Note: This blog post has been enhanced with the help of the AI-Assistant for Optimizely.

About the Author

Luc Gosso

OMVP Luc Gosso

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