Universal.Operative.Sdk.WhatsApp 2.0.0

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

About

Universal.Operative.Sdk.WhatsApp provides acknowledged WhatsApp text and file messaging tools for Universal.Operative.Sdk.

The connection lifetime is selected independently:

  • TransientWhatsAppSessionProvider connects and disconnects around every invocation.
  • PersistentWhatsAppSessionProvider connects lazily and remains connected until disposed.
  • ConnectedWhatsAppSessionProvider borrows a client whose lifetime is managed by the host.

Each tool call supplies its recipient in one of these forms:

  • An international phone number containing digits only, including the country code: 15551234567. Do not include a leading +, spaces, or punctuation.
  • A user JID: 15551234567@s.whatsapp.net.
  • A group JID: 120363000000000@g.us.

Consumers can replace IWhatsAppRecipientResolver to apply aliases, allowlists, blocklists, directory lookup, or another application-specific policy.

Installation

dotnet add package Universal.Operative.Sdk.WhatsApp

Usage

var store = new FileWhatsAppAuthenticationStore(authenticationPath);
using var sessions = new TransientWhatsAppSessionProvider(store);
IReadOnlyList<ITool> tools = WhatsAppTools.Create(sessions);

The model calls the tool with both values:

{ "recipient": "15551234567", "message": "Are you coming tomorrow?" }

Files use a separate tool call:

{ "recipient": "15551234567", "file_path": "C:\\Reports\\report.pdf", "caption": "Latest report" }

WhatsAppSendFileTool infers common image, audio, video, and MIME types; unknown extensions are sent as documents. Its IWhatsAppFileAccess dependency can be replaced by consumers that need sandboxing, virtual storage, allowlists, or audit checks.

The authentication store must contain an already-paired linked-device identity. The tool does not pair accounts or expose credentials to the model.

License

Free for noncommercial use under the Universal.Operative Noncommercial License. Source is closed; commercial use requires a separate license from Andrew Ong.

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 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.

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
2.0.0 92 9/1/2026
1.1.0 93 8/26/2026
1.0.0 100 8/19/2026

Coordinated major release for Universal.Operative.Sdk 6 and the canonical provider-neutral tool-dispatch boundary.