Ai12z.Kentico.Xperience 0.4.9

dotnet add package Ai12z.Kentico.Xperience --version 0.4.9
                    
NuGet\Install-Package Ai12z.Kentico.Xperience -Version 0.4.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ai12z.Kentico.Xperience" Version="0.4.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ai12z.Kentico.Xperience" Version="0.4.9" />
                    
Directory.Packages.props
<PackageReference Include="Ai12z.Kentico.Xperience" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ai12z.Kentico.Xperience --version 0.4.9
                    
#r "nuget: Ai12z.Kentico.Xperience, 0.4.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ai12z.Kentico.Xperience@0.4.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ai12z.Kentico.Xperience&version=0.4.9
                    
Install as a Cake Addin
#tool nuget:?package=Ai12z.Kentico.Xperience&version=0.4.9
                    
Install as a Cake Tool

Ai12z.Kentico.Xperience

NuGet package for integrating ai12z with Xperience by Kentico. Provides:

  • Real-time content sync — hooks publish, delete, and unpublish events on web pages, sending payloads to the ai12z connector service automatically
  • Kentico admin settings page — configure everything from the Kentico admin UI, no appsettings.json editing required
  • Chatbot — AI chatbot on every page, toggled from the admin UI with zero code changes
  • Page Builder widgets — drag-and-drop ai12z web controls (Chatbot, CTA Search, Knowledge Box, Search Results, Form, Container) onto any page via Kentico's Page Builder
  • CDN-powered — web components loaded from the ai12z CDN automatically, no static files or npm install needed

Requirements

  • Xperience by Kentico v31+
  • .NET 8
  • ai12z account with a Kentico connector configured

Installation

dotnet add package Ai12z.Kentico.Xperience

Setup

1. Program.cs

builder.Services.AddAi12z(builder.Configuration);

That's it. No other code changes are needed — no layout changes, no _ViewImports.cshtml, no Tag Helpers, and no endpoint registration. The bulk sync endpoint (POST /ai12z/sync) is exposed as an MVC controller and is auto-discovered by your existing app.MapControllers() call.

2. Configure in Kentico Admin

Navigate to Development > ai12z in the Kentico admin sidebar.

Content Sync:

  • Endpoint URL: From the ai12z portal connector page (includes Connector ID and Project ID)
  • Connector API Key: Generated via "Manage Keys" on the connector page
  • Content Sync Enabled: Toggle on

Web Controls (optional):

  • Enable Chatbot on All Pages: Toggle to show the chatbot site-wide
  • Project API Key: From ai12z portal > Project Settings > API Keys. Only needed for web controls.
  • Widget Version: CDN version (default: latest)
  • Bot Config ID: Optional custom bot configuration

3. Initial Content Sync

Click Initial Sync on the Kentico connector page in the ai12z portal — it calls POST /ai12z/sync on your Kentico site and streams back progress.

The initial sync uses the same content extraction pipeline as real-time publish events, so every page is indexed under a single stable identifier. This replaces the old portal-side sitemap crawl, which created duplicate vectors in the index because sitemap-crawled pages used URL-based IDs while publish events used Kentico WebPageItemGUIDs.

You can also trigger the endpoint directly with curl. An empty body syncs everything; pass a JSON body to filter by URL:

# Sync everything
curl -X POST https://your-site.com/ai12z/sync \
  -H "x-api-key: YOUR_CONNECTOR_API_KEY"

# Only sync pages under /blog/ or /reports/, excluding /search/
curl -X POST https://your-site.com/ai12z/sync \
  -H "x-api-key: YOUR_CONNECTOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"includeUrlPatterns":"*/blog/*,*/reports/*","excludeUrlPatterns":"*/search/*"}'

Patterns are comma-separated glob patterns (* matches anything) applied to WebPageUrlPath — the page's relative URL. Include patterns default to "match everything" when empty. Exclude patterns filter out matches from the included set.

After the initial sync, content is synced automatically on publish, unpublish, and delete.

Page Builder Widgets

The following widgets are available in Kentico's Page Builder:

Widget Description Properties
ai12z Chatbot Floating chatbot on a specific page Bot Config ID (optional)
ai12z CTA Search Inline search dialog Config ID
ai12z Knowledge Box Answers a specific question inline Config ID, Question
ai12z Search Results Full search results page Config ID
ai12z Form Contact, lead capture, support forms Key Name
ai12z Container Carousels, listings, calculators Key Name, Instance ID, Parameters

Config IDs and Key Names are created in the ai12z portal under Web Controls.

The per-page Chatbot widget automatically suppresses the global chatbot on that page, so only one bot renders.

Optional appsettings.json

The admin UI is the primary configuration method. appsettings.json is only needed for developer-only overrides:

{
  "Ai12z": {
    "Widget": {
      "Mode": "local"
    }
  }
}
Setting Default Description
Widget.Mode "prod" API environment: prod, dev, or local. Developer use only.
TimeoutSeconds 10 HTTP timeout for content sync
MaxRetries 2 Retries with exponential backoff
Enabled true Content sync kill switch

Documentation

Full setup guide: https://docs.ai12z.net/docs/connectors/kentico

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.9 149 6/1/2026
0.4.8 121 5/29/2026
0.4.7 116 5/21/2026
0.4.5 118 5/19/2026
0.4.3 120 4/13/2026
0.4.2 121 4/9/2026
0.4.1 125 4/9/2026
0.4.0 127 4/6/2026
0.2.0 121 3/17/2026