Soenneker.Blazor.Chatwoot
4.0.863
Prefix Reserved
dotnet add package Soenneker.Blazor.Chatwoot --version 4.0.863
NuGet\Install-Package Soenneker.Blazor.Chatwoot -Version 4.0.863
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.863" />
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.863" />
<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.863
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Blazor.Chatwoot, 4.0.863"
#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.863
#: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.863
#tool nuget:?package=Soenneker.Blazor.Chatwoot&version=4.0.863
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.78)
- Soenneker.Blazor.Extensions.EventCallback (>= 4.0.456)
- Soenneker.Blazor.Utils.ResourceLoader (>= 4.0.1717)
- Soenneker.Extensions.List (>= 4.0.983)
- Soenneker.Json.CollectionConverter (>= 4.0.838)
- Soenneker.Lepton.Suite (>= 4.0.55)
- Soenneker.Utils.Json (>= 4.0.2645)
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.863 | 83 | 8/26/2026 |
| 4.0.862 | 70 | 8/26/2026 |
| 4.0.861 | 68 | 8/26/2026 |
| 4.0.860 | 73 | 8/26/2026 |
| 4.0.859 | 63 | 8/26/2026 |
| 4.0.858 | 89 | 8/22/2026 |
| 4.0.857 | 84 | 8/22/2026 |
| 4.0.856 | 80 | 8/21/2026 |
| 4.0.855 | 84 | 8/21/2026 |
| 4.0.854 | 100 | 8/19/2026 |
| 4.0.851 | 92 | 8/18/2026 |
| 4.0.850 | 94 | 8/18/2026 |
| 4.0.849 | 113 | 8/13/2026 |
| 4.0.847 | 91 | 8/13/2026 |
| 4.0.846 | 88 | 8/13/2026 |
| 4.0.844 | 90 | 8/12/2026 |
| 4.0.842 | 91 | 8/11/2026 |
| 4.0.841 | 95 | 8/9/2026 |
| 4.0.840 | 91 | 8/9/2026 |
| 4.0.839 | 95 | 8/9/2026 |
Loading failed
Updated NuGet packages