Kentico
ai12z Kentico Xperience Module Installation and Setup Guide
Prerequisites
- Xperience by Kentico 31.0+
- .NET 8+
- Admin access to both the ai12z portal and the Kentico admin
Step 1: Add Connector
- Log in to the ai12z portal.
- Open Connectors from the left navigation and click Add Connectors.
- Select Kentico and submit.
Step 2: Configure Connector
-
Open Connectors and click the row action on Kentico to edit.
-
Fill out the following fields:

- Name: Display name for the connector (e.g., "My Kentico Site").
- Description: Describe the connector (e.g., "Corporate website").
- Site URL: Public Kentico site URL (e.g.,
https://example.com). - URL Filtering (Optional):
- Include URL Patterns: Patterns to include URLs for indexing (e.g.,
*/blog/*). Supports wildcards (*). Comma-separated. - Exclude URL Patterns: Patterns to exclude URLs from indexing (e.g.,
*/admin/*). Supports wildcards (*). Comma-separated.
- Include URL Patterns: Patterns to include URLs for indexing (e.g.,
-
Copy the Webhook Endpoint URL shown at the top of the page — you'll paste it into the Kentico admin in Step 4.
-
Click Manage Keys and generate a connector API key. Copy the key — you'll need it in Step 4.
-
Click Save.
Step 3: Install NuGet Package
Install the ai12z NuGet package in your Kentico Web (Site) project:
dotnet add package Ai12z.Kentico.Xperience
Add the following to Program.cs:
// Add ai12z services (after builder.Services.AddKentico())
builder.Services.AddAi12z(builder.Configuration);
Optionally, add the bulk sync endpoint for initial content sync:
// After app.UseKentico()
app.MapAi12zSyncEndpoint();
No other code changes are needed. No layout changes, no _ViewImports.cshtml edits, no Tag Helpers.
Step 4: Configure in Kentico Admin
-
Open the Kentico admin panel and navigate to Development > ai12z in the sidebar.

-
Fill out the configuration form:

Content Sync
- Endpoint URL: Paste the Webhook Endpoint URL copied from the ai12z portal in Step 2.
- Connector API Key: The key generated in Step 2.
- Content Sync Enabled: Check to enable real-time content sync.
Web Controls (optional)
- Enable Chatbot on All Pages: Toggle to show the ai12z chatbot on every page site-wide. Requires a Project API Key.
- Project API Key: Found in the ai12z portal under Project Settings > API Keys. Only needed if using web controls.
- Widget Version: CDN version for the ai12z web component library (default:
latest). - Bot Config ID: Optional. Custom bot configuration ID from the ai12z portal.
-
Click Save.
All settings changes — content sync and web controls — take effect immediately on the next page load or publish event. No application restart needed.
Step 5: Initial Content Sync
After configuration, sync all existing content to ai12z so the bot has content to answer from.
- In the ai12z portal, open the Kentico connector page.
- Click the Initial Sync button.
- A toast notification appears in the bottom-right corner showing sync progress. This notification persists across page navigation — you can continue working in the portal while the sync runs.
Initial sync deletes all existing indexed content for this connector before re-indexing. This ensures a clean slate with no orphaned entries.
Alternatively, you can trigger the sync via the API:
curl -X POST https://your-kentico-site.com/ai12z/sync \
-H "x-api-key: YOUR_CONNECTOR_API_KEY"
The response shows the sync result:
{
"totalItems": 42,
"succeeded": 42,
"failed": 0,
"errors": []
}
After the initial sync, content is synced automatically whenever pages are published, unpublished, or deleted.
Step 6: Web Controls (Optional)
The NuGet package includes Page Builder widgets for all ai12z web controls. These require a Project API Key configured in Step 4.
Chatbot
Toggle "Enable Chatbot on All Pages" in the admin settings. The chatbot automatically appears on every page — no code or layout changes needed.
To place the chatbot on specific pages instead, disable the global toggle and drag the ai12z Chatbot widget onto individual pages in the Page Builder. The per-page widget automatically suppresses the global chatbot on that page.