Soenneker.Blazor.Chatwoot
4.0.823
Prefix Reserved
dotnet add package Soenneker.Blazor.Chatwoot --version 4.0.823
NuGet\Install-Package Soenneker.Blazor.Chatwoot -Version 4.0.823
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="Soenneker.Blazor.Chatwoot" Version="4.0.823" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Blazor.Chatwoot" Version="4.0.823" />
<PackageReference Include="Soenneker.Blazor.Chatwoot" />
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 Soenneker.Blazor.Chatwoot --version 4.0.823
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Blazor.Chatwoot, 4.0.823"
#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 Soenneker.Blazor.Chatwoot@4.0.823
#: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=Soenneker.Blazor.Chatwoot&version=4.0.823
#tool nuget:?package=Soenneker.Blazor.Chatwoot&version=4.0.823
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Soenneker.Blazor.Chatwoot
A Blazor interop library for Chatwoot, the open-source customer engagement suite.
? Features
- ?? Lightweight Blazor component wrapper for the Chatwoot JS SDK
- ?? Full .NET interop with JavaScript events
- ?? Supports event callbacks like
OnOpen,OnMessage, andOnError - ?? Clean integration using dependency injection
- ?? Supports unit testing with
IChatwootabstraction
?? Installation
dotnet add package Soenneker.Blazor.Chatwoot
Register the interop in DI:
public static async Task Main(string[] args)
{
builder.Services.AddChatwootInteropAsScoped();
}
?? Usage
?? Add to a Razor component
<Chatwoot Configuration="_config"
OnOpen="HandleOpen"
OnClose="HandleClose"
OnReady="HandleReady"
OnMessage="HandleMessage"
OnError="HandleError" />
?? Component code-behind
@code {
private readonly ChatwootConfiguration _config = new()
{
WebsiteToken = "replace-with-your-token",
BaseUrl = "https://app.chatwoot.com"
};
private Task HandleReady() => ConsoleLog("Chatwoot is ready!");
private Task HandleOpen() => ConsoleLog("Chat opened");
private Task HandleClose() => ConsoleLog("Chat closed");
private Task HandleMessage(ChatwootMessage message)
{
Console.WriteLine($"Message from Chatwoot: {message.Content}");
return Task.CompletedTask;
}
private Task HandleError(JsonElement error)
{
Console.WriteLine($"Chatwoot error: {error}");
return Task.CompletedTask;
}
private Task ConsoleLog(string msg)
{
Console.WriteLine(msg);
return Task.CompletedTask;
}
}
?? Configuration
You must supply a ChatwootConfiguration object to the component:
var config = new ChatwootConfiguration
{
WebsiteToken = "your-token", // Required
BaseUrl = "https://app.chatwoot.com", // Optional, defaults to this
Locale = "en", // Optional, default is "en"
HideMessageBubble = false,
ShowUnreadMessagesDialog = false,
Position = "right", // "left" or "right"
UseBrowserLanguage = false,
Type = "standard", // or "expanded_bubble"
DarkMode = "auto", // "light" or "auto"
BaseDomain = null // Optional, for cross-subdomain tracking
};
?? API
This library provides a full interface via IChatwoot, including:
SetUser(...)SetLabel(...)Shutdown()Open()Close()Toggle()SetLocale(...)SetCustomAttributes(...)- ... and more!
?? Chatwoot Events
The following Chatwoot events are exposed as Blazor EventCallbacks:
| Chatwoot Event | .NET Callback |
|---|---|
chatwoot:ready |
OnReady |
chatwoot:open |
OnOpen |
chatwoot:close |
OnClose |
chatwoot:on-message |
OnMessage(ChatwootMessage) |
chatwoot:error |
OnError(JsonElement) |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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.
-
net10.0
- Soenneker.Asyncs.Initializers (>= 4.0.76)
- Soenneker.Blazor.Extensions.EventCallback (>= 4.0.455)
- Soenneker.Blazor.Utils.ResourceLoader (>= 4.0.1706)
- Soenneker.Extensions.List (>= 4.0.981)
- Soenneker.Json.CollectionConverter (>= 4.0.837)
- Soenneker.Lepton.Suite (>= 4.0.45)
- Soenneker.Utils.Json (>= 4.0.2614)
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 |
|---|---|---|
| 4.0.823 | 0 | 7/29/2026 |
| 4.0.822 | 0 | 7/29/2026 |
| 4.0.821 | 7 | 7/29/2026 |
| 4.0.820 | 24 | 7/29/2026 |
| 4.0.818 | 28 | 7/29/2026 |
| 4.0.817 | 26 | 7/29/2026 |
| 4.0.815 | 46 | 7/28/2026 |
| 4.0.814 | 34 | 7/28/2026 |
| 4.0.812 | 38 | 7/28/2026 |
| 4.0.810 | 34 | 7/28/2026 |
| 4.0.809 | 42 | 7/28/2026 |
| 4.0.806 | 37 | 7/28/2026 |
| 4.0.803 | 36 | 7/28/2026 |
| 4.0.801 | 35 | 7/28/2026 |
| 4.0.800 | 39 | 7/28/2026 |
| 4.0.799 | 48 | 7/27/2026 |
| 4.0.798 | 108 | 7/21/2026 |
| 4.0.797 | 99 | 7/20/2026 |
| 4.0.796 | 94 | 7/20/2026 |
| 4.0.795 | 94 | 7/19/2026 |
Loading failed
Update dependency Soenneker.Utils.Json to 4.0.2614 (#2083)