Inbox plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Inbox by Yuichi Okada

Community

A Gmail-style internal messaging system for your Filament panel. Provides inbox, sent, starred, and trash pages with full message threading, reply/reply all, forwarding, read receipts, rich text editing, file attachments, bulk actions, search & filters, database notifications, stats widget, dark mode, multi-tenancy support, and i18n (8 languages). Built natively for Filament v5 with Laravel events, configurable user model, and test factories included.

Tags: Widget Panels
Supported versions:
5.x
Yuichi Okada avatar Author: Yuichi Okada

Package health

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
15 checks
  • Passed: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No stale Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Passed: Dependabot or Renovate configured
  • Passed: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 0 days ago; last release 128 days ago.
  • Passed: composer.lock not committed by library — composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 2 weeks ago

Documentation

CI Latest Version on Packagist Total Downloads Newsletter

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.

#More Filament Plugins

Need Filament screens that stay fast with real amounts of data? Check out WarpUI — premium Filament v5 plugins with canvas-based rendering for large datasets.

Using this plugin in a project? Write a short review — it helps other developers decide.

#Stay Updated

Get release notes, upgrade guides for new Filament versions, and early access to new plugins — a few emails a year, no spam.

Subscribe to the newsletter →

#License

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

The author

Yuichi Okada avatar Author: Yuichi Okada

Laravel / FilamentPHP developer building SaaS for SMEs.

Plugins
9
Stars
50

From the same author

Univer Sheet plugin thumbnail

Univer Sheet

Integrate Univer Sheet into Filament — full spreadsheet editor for forms, read-only display for infolists, and compact preview for table columns.

Yuichi Okada avatar Author: Yuichi Okada
100 / 100 package health score out of 100
13 stars
Tag: Form Editor Field Tag: Table Column
Dark mode ready Multilingual support
Free
Get it now
Team Chat plugin thumbnail

Team Chat

Add Slack-like team chat to any Filament panel — channels, DMs, threads, reactions, @mentions, file sharing, and unread tracking, all self-hosted with zero external dependencies.

Yuichi Okada avatar Author: Yuichi Okada
100 / 100 package health score out of 100
16 stars
Tag: Panels Tag: Kit
Dark mode ready No multilingual support
Free
Get it now
Bonsai Theme plugin thumbnail

Bonsai Theme

High-density, compact UI theme for Filament v5. Inspired by Japanese business applications (sales, inventory, order management) that prioritize information density, Bonsai Theme reduces padding, gaps, and font sizes across all Filament components to fit more data on screen. No Tailwind build required. The theme ships as pre-compiled CSS and is loaded automatically.

Yuichi Okada avatar Author: Yuichi Okada
100 / 100 package health score out of 100
4 stars
Tag: Theme
Dark mode ready No multilingual support
Free
Get it now
Warp Scheduler plugin thumbnail

Warp Scheduler

A canvas-rendered resource scheduler that keeps thousands of people, rooms or machines on one fast timeline, with drag and drop, recurring events, conflict rules and utilization, all saved through your own Eloquent models and policies.

Yuichi Okada avatar Author: Yuichi Okada
1 star
Tag: Widget
Dark mode ready Multilingual support
$99.00
Buy now