Overview
Wirechat is a highly customizable chat system for Laravel and Livewire. It is built to fit your product's communication needs, whether you want simple one-to-one messaging, support conversations, group collaboration, attachments, message requests, or a richer embedded chat experience.
Before you begin, make sure your models are prepared for chat functionality. If you haven’t already, visit the Setup page to integrate the required trait.
Panels
Panels let you configure distinct chat environments such as user chats, admin chats, or support chats in a clean and centralized way. Whether you’re managing one panel or several, this system makes your setup flexible and easier to maintain.
A panel can define routes, guards, middleware, actions, search behavior, uploads, colors, layout, settings, and optional chat features.
By default, the main panel is available at '/chats'. If no panel has been defined, you can learn more in the Panels Configuration section.
Private Chat Flows
In addition to immediate private chats, Wirechat supports Message Requests for review-first private conversations. Message requests let a sender open a private thread while the recipient reviews, accepts, or dismisses the request before becoming a participant.
Learn more about Chats and Message Requests.
Groups
Groups enable multi-user conversations with roles, permissions, invitations, join requests, and moderation tools.
Learn more about Groups.
Messaging
Wirechat provides ready-to-use messaging interfaces, plus model methods for starting conversations from your own application flows.
Messages are delivered through the normal chat UI and broadcast in real time over your application's configured WebSocket broadcasting driver. This keeps active conversations, unread counts, chat lists, and notifications responsive without requiring users to refresh the page.
Learn more about Chats and Notifications.
Conversation Contexts
Conversation contexts let a chat stay attached to the thing users are talking about, such as a listing, order, support ticket, project, or session.
When a context is attached, Wirechat can show the related record in the chat list, conversation header, and chat details, so users always understand what the thread is about.
Learn more about Conversation Contexts.
Security And Privacy
Wirechat is designed to work inside your application's existing security model. Panels can use your guards and middleware, conversation routes are protected by participant access checks, and user model methods let you control who can access panels, create chats, create groups, or message specific users.
For private message content, Wirechat also supports message encryption so stored message bodies can be encrypted at rest while still working with the built-in chat experience.
Learn more about Authorization, Users, and Message Encryption.
Features
Wirechat comes with a variety of features out of the box. These can be configured on a per-panel basis, giving you full control over each chat experience.
Configurable features include:
- File attachments
- Group roles, permissions, invite links, and join requests
- Message requests for review-first private conversations
- Conversation contexts
- Emoji picker
- Chat search
- Settings, notification preferences, and privacy controls
- Theme and layout integration
Learn more about Chats.