PHPackages                             mahbuburriad/laravel-support-chat - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mahbuburriad/laravel-support-chat

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mahbuburriad/laravel-support-chat
=================================

Production-ready support chat package for Laravel applications with Livewire and Reverb-friendly real-time messaging.

1.0(1mo ago)00MITPHPPHP ^8.2

Since Mar 27Pushed 1mo agoCompare

[ Source](https://github.com/mahbuburriad/laravel-chat-plugin)[ Packagist](https://packagist.org/packages/mahbuburriad/laravel-support-chat)[ RSS](/packages/mahbuburriad-laravel-support-chat/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

Laravel Support Chat
====================

[](#laravel-support-chat)

Production-ready support chat for Laravel applications with a floating customer widget, a Livewire-powered support inbox, database-backed conversations, and Reverb-friendly real-time updates. [![Packagist](https://camo.githubusercontent.com/7d9cbf198e5c8fac3ba3b62b6e86eade0f4277d0890db58abb78af6d5905e431/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d61686275627572726961642f6c61726176656c2d737570706f72742d636861742e737667)](https://packagist.org/packages/mahbuburriad/laravel-support-chat)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](LICENSE)

Package Overview
----------------

[](#package-overview)

`mahbuburriad/laravel-support-chat` is a reusable Laravel package for customer support messaging. It is designed for Blade-first apps and works without forcing Vue or React into the host application. The package ships with:

- A floating support widget for guest and authenticated customers
- A polished support inbox for agents
- Real-time messaging via Laravel broadcasting and Reverb
- Transfer, assignment, status tracking, internal notes, unread counts, and typing indicators
- Sensible defaults with clear configuration and publishable resources

Supported Versions
------------------

[](#supported-versions)

- PHP 8.2+
- Laravel 11 and 12
- Livewire 3
- Laravel Reverb or another Laravel broadcasting driver

Features
--------

[](#features)

- Floating chat bubble with left/right positioning
- Responsive chat panel with welcome content and unread badge
- Guest chat and authenticated customer chat
- Real-time messages with polling fallback
- New message audio notification
- Agent inbox with filters for status, priority, and assignment
- Assign-to-self and agent-to-agent transfers
- Internal notes for support staff
- Conversation status management: open, pending, resolved, closed
- Theme and copy customization from config or optional `chat_settings` overrides
- Authorization through abilities or an agent flag column
- Private agent/customer channels plus tokenized guest channels

Installation
------------

[](#installation)

```
composer require mahbuburriad/laravel-support-chat
php artisan support-chat:install
php artisan migrate
php artisan install:broadcasting
```

Add the widget to your layout:

```

```

Or:

```
@supportChatWidget
```

Reverb Setup
------------

[](#reverb-setup)

1. Install broadcasting support if your app does not already have it:

```
php artisan install:broadcasting
php artisan reverb:install
```

2. Set your broadcast connection:

```
BROADCAST_CONNECTION=reverb
SUPPORT_CHAT_BROADCAST_DRIVER=reverb
```

3. Start Reverb and your queue worker:

```
php artisan reverb:start
php artisan queue:work
```

4. Load Echo in your host application. The package listens for standard Laravel Echo channel events from Livewire components.

Publish Steps
-------------

[](#publish-steps)

The installer publishes the essentials automatically. You can also publish resources manually:

```
php artisan vendor:publish --tag=support-chat-config
php artisan vendor:publish --tag=support-chat-migrations
php artisan vendor:publish --tag=support-chat-assets
php artisan vendor:publish --tag=support-chat-views
```

Migration Steps
---------------

[](#migration-steps)

The package creates these tables:

- `chat_conversations`
- `chat_messages`
- `chat_participants`
- `chat_transfers`
- `chat_notes`
- `chat_settings`

Run:

```
php artisan migrate
```

Authorization Setup
-------------------

[](#authorization-setup)

Use one of these approaches:

1. Define a gate for `manage-support-chat`
2. Configure an agent flag column such as `is_support_agent`

Example gate:

```
use Illuminate\Support\Facades\Gate;

Gate::define('manage-support-chat', fn ($user) => $user->is_support_agent);
```

Example config:

```
'authorization' => [
    'agent_role_column' => 'is_support_agent',
],
```

Admin Integration
-----------------

[](#admin-integration)

The package includes a route-based inbox at the configurable admin prefix:

```
'admin_route_prefix' => 'admin/support-chat',
```

Visit:

```
/admin/support-chat

```

If your app already has an admin layout, point the package to it:

```
'layouts' => [
    'admin' => 'layouts.admin',
],
```

You can also render the admin Livewire component inside an existing page:

```

```

Frontend Integration
--------------------

[](#frontend-integration)

### Global Widget

[](#global-widget)

Drop the widget into your main Blade layout:

```

```

### Dedicated Chat Page

[](#dedicated-chat-page)

The package includes a route-based page at:

```
/support-chat/chat

```

You can also embed the Livewire widget directly:

```

```

Configuration Example
---------------------

[](#configuration-example)

```
return [
    'widget' => [
        'position' => 'right',
        'title' => 'Need Help?',
        'welcome_text' => 'Ask us anything. A human agent will reply shortly.',
        'border_radius' => '28px',
        'logo' => '/images/support-logo.png',
        'sound' => [
            'enabled' => true,
            'volume' => 0.35,
        ],
        'theme' => [
            'primary' => '#0f766e',
            'secondary' => '#ecfeff',
        ],
    ],
    'chat' => [
        'allow_guest_chat' => true,
    ],
    'authorization' => [
        'agent_role_column' => 'is_support_agent',
    ],
];
```

Screenshots
-----------

[](#screenshots)

- `[Placeholder]` Floating widget on storefront pages
- `[Placeholder]` Expanded customer chat panel
- `[Placeholder]` Support inbox with filters and transfer controls

Security Notes
--------------

[](#security-notes)

- Agent access is gated through Laravel authorization
- Customer conversation access is restricted to the owning user
- Guest real-time channels use the conversation UUID plus guest token
- Messages are sanitized with `strip_tags()` before storage
- Message creation is rate-limited
- Livewire actions validate payloads before persistence
- Sensitive agent actions are policy-protected

Roadmap
-------

[](#roadmap)

- Attachments and uploads
- Departments and routing rules
- Canned replies
- Email notifications
- Slack / Telegram relays
- Transcript export
- Chatbot handoff

Testing
-------

[](#testing)

Run the package test suite with:

```
composer test
```

Contribution Guide
------------------

[](#contribution-guide)

1. Fork the repository
2. Create a feature branch
3. Add or update tests with your change
4. Submit a pull request with a focused description

Issues and PRs should prefer backward-compatible changes, documented config additions, and explicit security reasoning for anything involving channels or authorization.

License
-------

[](#license)

Released under the MIT License.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance90

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/40663457?v=4)[Mahbubur Riad](/maintainers/mahbuburriad)[@mahbuburriad](https://github.com/mahbuburriad)

---

Top Contributors

[![mahbuburriad](https://avatars.githubusercontent.com/u/40663457?v=4)](https://github.com/mahbuburriad "mahbuburriad (2 commits)")

---

Tags

laravellivewirechatsupportreverb

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mahbuburriad-laravel-support-chat/health.svg)

```
[![Health](https://phpackages.com/badges/mahbuburriad-laravel-support-chat/health.svg)](https://phpackages.com/packages/mahbuburriad-laravel-support-chat)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[livewire/flux

The official UI component library for Livewire.

9385.0M86](/packages/livewire-flux)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)[aerni/livewire-forms

A Statamic forms framework powered by Laravel Livewire

2912.8k](/packages/aerni-livewire-forms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
