StoryChief.Xperience 1.0.0

dotnet add package StoryChief.Xperience --version 1.0.0
                    
NuGet\Install-Package StoryChief.Xperience -Version 1.0.0
                    
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="StoryChief.Xperience" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="StoryChief.Xperience" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="StoryChief.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 StoryChief.Xperience --version 1.0.0
                    
#r "nuget: StoryChief.Xperience, 1.0.0"
                    
#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 StoryChief.Xperience@1.0.0
                    
#: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=StoryChief.Xperience&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=StoryChief.Xperience&version=1.0.0
                    
Install as a Cake Tool

StoryChief for Xperience by Kentico

CI: Build and Test

An open-source Xperience by Kentico integration for receiving authenticated publishing webhooks from StoryChief.

Requirements

Xperience version Package version
>= 31.7.4 1.0.0

Installation

Install the package from NuGet.org:

dotnet add package StoryChief.Xperience --version 1.0.0

Contributors can reference src/StoryChief.Xperience/StoryChief.Xperience.csproj directly while developing locally.

Register the integration in Program.cs:

builder.Services.AddStoryChiefXperience(options =>
{
    options.SigningKey = builder.Configuration["StoryChief:SigningKey"]
        ?? throw new InvalidOperationException("StoryChief:SigningKey is missing.");

    options.Page.WebsiteChannelName = "AcmeWebsite";
    options.Page.ContentTypeName = "Acme.ArticlePage";
    options.Page.PageTemplateIdentifier = "Acme.Article";
    options.Page.LanguageName = "en";
    options.Page.MapLanguage("en", "en");
    options.Page.MapLanguage("nl", "nl-BE");
    options.Page.MapField("title", "ArticleTitle");
    options.Page.MapField("content", "ArticleContent");
    options.Page.MapField("excerpt", "ArticleExcerpt");
    options.Page.MapField("published_at", "ArticlePublishedAt", StoryChiefFieldValueKind.DateTime);

    options.Page.MapTaxonomy("tags", "ArticleTags", "ArticleTaxonomy");
    options.Page.MapTaxonomy("categories", "ArticleCategories", "ArticleCategories");

    options.Page.CoverImage.ContentTypeName = "Acme.Image";
    options.Page.CoverImage.AssetFieldName = "ImageFile";
    options.Page.CoverImage.PageFieldName = "ArticleCoverImage";
    options.Page.CoverImage.AltTextFieldName = "ImageAltText";
    options.Page.CoverImage.WorkspaceName = "Acme.Content";
});

// After app creation and the usual middleware registrations:
app.MapStoryChiefWebhook();

Store the key outside source control using user secrets, environment variables, or your production secret store.

The target must be an existing page content type whose fields match the configured value types. Page-template content types can set PageTemplateIdentifier; controller-rendered types leave it empty. See the Usage Guide for parent-page, audit-user, deletion, nested-field, and custom-publisher configuration.

For a complete, buildable host project, see the example Xperience application.

Current scope

  • POST /storychief/webhook
  • SHA-256 HMAC validation compatible with StoryChief's PHP webhook contract
  • Signed connection-test metadata
  • Website page creation, draft updates, publishing, URL resolution, and deletion through Kentico's public APIs
  • Configurable mapping from StoryChief fields to Xperience field code names
  • Support for publishing as draft and status-only updates
  • Multilingual page variants using StoryChief translation relationships and configurable language mappings
  • Native taxonomy mapping for StoryChief tags, primary categories, and categories
  • Cover-image sideloading into reusable Content Hub assets, including alternative text, updates, removal, and cleanup
  • An IStoryChiefContentPublisher extension point for advanced author or project-specific mapping
  • Request-size limit and safe error responses
  • A buildable Xperience host example and endpoint-level webhook tests

Cover images use reusable content item assets in Content hub. Kentico's sunset media-library APIs are not used.

Contributing

See CONTRIBUTING.md and the contributor setup guide.

License

Distributed under the MIT License. See LICENSE.md.

Support

This is a StoryChief-maintained integration and is not yet listed as an official Kentico integration. See SUPPORT.md for support boundaries and reporting channels.

Please report security vulnerabilities according to SECURITY.md.

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
1.0.0 89 8/19/2026
1.0.0-rc.2 59 8/19/2026
1.0.0-rc.1 61 8/19/2026