Soenneker.Blazor.Chatwoot
4.0.680
Prefix Reserved
dotnet add package Soenneker.Blazor.Chatwoot --version 4.0.680
NuGet\Install-Package Soenneker.Blazor.Chatwoot -Version 4.0.680
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.680" />
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.680" />
<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.680
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Blazor.Chatwoot, 4.0.680"
#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.680
#: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.680
#tool nuget:?package=Soenneker.Blazor.Chatwoot&version=4.0.680
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.Asyncs.Initializers (>= 4.0.49)
- Soenneker.Blazor.Extensions.EventCallback (>= 4.0.449)
- Soenneker.Blazor.Utils.ResourceLoader (>= 4.0.1662)
- Soenneker.Extensions.List (>= 4.0.971)
- Soenneker.Json.CollectionConverter (>= 4.0.824)
- Soenneker.Lepton.Suite (>= 4.0.12)
- Soenneker.Utils.Json (>= 4.0.2537)
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.680 | 87 | 5/13/2026 |
| 4.0.679 | 91 | 5/13/2026 |
| 4.0.678 | 91 | 5/13/2026 |
| 4.0.677 | 88 | 5/13/2026 |
| 4.0.675 | 90 | 5/12/2026 |
| 4.0.674 | 82 | 5/12/2026 |
| 4.0.673 | 91 | 5/12/2026 |
| 4.0.672 | 88 | 5/6/2026 |
| 4.0.671 | 88 | 5/2/2026 |
| 4.0.669 | 93 | 5/2/2026 |
| 4.0.668 | 86 | 5/2/2026 |
| 4.0.667 | 86 | 5/1/2026 |
| 4.0.666 | 105 | 4/24/2026 |
| 4.0.665 | 101 | 4/24/2026 |
| 4.0.663 | 93 | 4/23/2026 |
| 4.0.660 | 108 | 4/23/2026 |
| 4.0.657 | 99 | 4/23/2026 |
| 4.0.655 | 97 | 4/23/2026 |
| 4.0.654 | 99 | 4/23/2026 |
| 4.0.652 | 111 | 4/21/2026 |
Loading failed
Update dependency Soenneker.Blazor.Utils.ResourceLoader to 4.0.1662 (#1482)