Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Inbox Laravel Package

qalainau/filament-inbox

View on GitHub
Deep Wiki
Context7

Filament Inbox

CI Latest Version on Packagist Total Downloads

Email-like inbox messaging plugin for Filament v5. Add a complete internal messaging system to your admin panel — inbox, sent, starred, trash, threading, forwarding, read receipts, and more.

Screenshots

Inbox Thread View
Inbox Thread
Compose Message Sent Messages
Compose Sent

Features

  • Inbox, Sent, Starred, Trash — Full Gmail-style navigation
  • Message Threading — Reply and Reply All with threaded conversations
  • Message Forwarding — Forward messages with original headers
  • Read Receipts — Per-recipient read tracking with status indicators
  • Star Messages — Mark important messages for quick access
  • Rich Text Editor — Compose messages with formatting and file attachments
  • Bulk Actions — Mark as read, move to trash in batch
  • Search & Filters — Filter by sender, unread, starred
  • Database Notifications — Filament native notifications on new messages
  • Stats Widget — Unread, total, and starred message counts
  • Dark Mode — Full dark mode support
  • Multi-tenancy — Filament native tenant scoping
  • Configurable User Model — Works with any authenticatable model
  • Laravel Events — Hook into MessageSent, MessageRead, MessageStarred, MessageTrashed, MessageRestored, MessageForwarded
  • Test Factories — Message and MessageRecipient factories included
  • i18n — English, Japanese, Spanish, French, Portuguese (BR), Chinese (Simplified), Korean, German

Requirements

  • PHP 8.2+
  • Laravel 12+
  • Filament v5

Installation

composer require qalainau/filament-inbox

Run the notifications migration (required for Filament database notifications):

php artisan make:notifications-table
php artisan migrate

Add the HasInbox trait to your User model:

use FilamentInbox\Concerns\HasInbox;

class User extends Authenticatable
{
    use HasInbox;
}

Register the plugin in your Filament panel. databaseNotifications() is required to enable Filament's notification system:

use FilamentInbox\FilamentInboxPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->databaseNotifications()
        ->plugin(FilamentInboxPlugin::make());
}

Note: databaseNotifications() requires the notifications table. If you see an error about a missing table, run php artisan make:notifications-table && php artisan migrate.

Configuration

Publish the config file:

php artisan vendor:publish --tag=filament-inbox-config
// config/filament-inbox.php
return [
    // Custom user model (defaults to auth provider model)
    'user_model' => null,

    // Custom users table name (auto-detected from model)
    'users_table' => null,

    // Tenant-users relationship method on tenant model
    // Auto-detects 'members' or 'users' if null
    'tenant_users_relationship' => null,
];

Multi-tenancy

Filament Inbox works with Filament's built-in tenancy. When tenancy is active:

  • Messages are scoped to the current tenant
  • Recipient options are limited to tenant members
  • Tenant is automatically attached to new messages

No additional configuration is needed if your tenant model has a members() or users() relationship.

Events

Listen to messaging events in your EventServiceProvider or with Event::listen():

Event Dispatched When
MessageSent A message or reply is sent
MessageRead A message is marked as read
MessageStarred A message is starred or unstarred
MessageTrashed A message is moved to trash
MessageRestored A message is restored from trash
MessageForwarded A message is forwarded

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

License

The MIT License (MIT). Please see License File for more information.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope