Private conversations
Give users a direct line for one-to-one conversations without designing the entire message lifecycle yourself.
The pitch
That is the part Wirechat is built for.
A buyer asks about a listing. A customer opens a private support thread. Members coordinate inside a group. The conversation is not separate from the product, it belongs to the workflow around it.
Once users rely on it, chat needs broadcasting, unread state, permissions, message requests, groups, invites, attachments, notifications, encryption, and conversations that can belong to your own models.
Wirechat gives Laravel and Livewire apps those pieces already tested, so you can shape the product workflow instead of rebuilding the messaging layer from scratch.
Wirechat helps when conversation is part of the product experience: support, marketplaces, communities, teams, and workflows tied to real records.
Give users a direct line for one-to-one conversations without designing the entire message lifecycle yourself.
Add group chat for teams, communities, cohorts, vendors, customers, or private members inside your own application.
Keep a conversation attached to an order, listing, project, ticket, service, or any model that gives the thread meaning.
Build customer support flows where messages stay inside the product instead of sending users to a separate inbox.
Let unknown or first-time senders wait for approval before a private conversation becomes active.
Use encryption, permissions, settings, and server-side action checks when conversations need stronger guardrails.
Wirechat panels give you a working conversation surface first. From there, panel settings decide what the experience can do, where it appears, and how it fits the product you are building.
Run chat as a full panel, tray, embedded component, or contextual conversation beside the record it belongs to.
Choose the pieces your product needs: private chats, groups, requests, attachments, actions, notifications, and security controls.
Panel configuration works with your users, models, policies, and routes, so each chat app can follow the rules of the product around it.
use Wirechat\Wirechat\Panel;
public function panel(Panel $panel): Panel
{
return $panel
->id('messages')
->path('messages')
->middleware(['web', 'auth'])
->chatsSearch()
->attachments()
->deleteMessageActions(false)
->webPushNotifications();
}
Install the free package, open your first panel, then add Pro features when your product needs richer conversation surfaces.