Soenneker.Blazor.Chatwoot
4.0.605
Prefix Reserved
dotnet add package Soenneker.Blazor.Chatwoot --version 4.0.605
NuGet\Install-Package Soenneker.Blazor.Chatwoot -Version 4.0.605
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.605" />
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.605" />
<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.605
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Blazor.Chatwoot, 4.0.605"
#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.605
#: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.605
#tool nuget:?package=Soenneker.Blazor.Chatwoot&version=4.0.605
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()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.Blazor.Extensions.EventCallback (>= 4.0.444)
- Soenneker.Blazor.Utils.ResourceLoader (>= 4.0.1629)
- Soenneker.Extensions.List (>= 4.0.966)
- Soenneker.Json.CollectionConverter (>= 4.0.821)
- Soenneker.Quark.Components.Core.Cancellable (>= 4.0.60)
- Soenneker.Utils.Json (>= 4.0.2502)
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.605 | 0 | 3/14/2026 |
| 4.0.604 | 0 | 3/14/2026 |
| 4.0.603 | 21 | 3/13/2026 |
| 4.0.601 | 24 | 3/13/2026 |
| 4.0.600 | 36 | 3/13/2026 |
| 4.0.599 | 30 | 3/13/2026 |
| 4.0.598 | 42 | 3/13/2026 |
| 4.0.597 | 50 | 3/13/2026 |
| 4.0.596 | 46 | 3/13/2026 |
| 4.0.594 | 50 | 3/13/2026 |
| 4.0.592 | 62 | 3/12/2026 |
| 4.0.589 | 62 | 3/12/2026 |
| 4.0.586 | 63 | 3/12/2026 |
| 4.0.582 | 65 | 3/12/2026 |
| 4.0.580 | 62 | 3/12/2026 |
| 4.0.579 | 62 | 3/12/2026 |
| 4.0.577 | 66 | 3/12/2026 |
| 4.0.574 | 75 | 3/12/2026 |
| 4.0.573 | 72 | 3/12/2026 |
| 4.0.572 | 71 | 3/11/2026 |
Loading failed
Update dependency Soenneker.Blazor.Utils.ResourceLoader to 4.0.1629 (#1182)