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
<PackageReference Include="Ai12z.Kentico.Xperience" Version="0.4.9" />
<PackageVersion Include="Ai12z.Kentico.Xperience" Version="0.4.9" />
<PackageReference Include="Ai12z.Kentico.Xperience" />
paket add Ai12z.Kentico.Xperience --version 0.4.9
#r "nuget: Ai12z.Kentico.Xperience, 0.4.9"
#:package Ai12z.Kentico.Xperience@0.4.9
#addin nuget:?package=Ai12z.Kentico.Xperience&version=0.4.9
#tool nuget:?package=Ai12z.Kentico.Xperience&version=0.4.9
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 | Versions 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. |
-
net8.0
- Kentico.Xperience.Admin (>= 31.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.