PHPackages                             alessandronuunes/filament-communicate - 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. [Mail &amp; Notifications](/categories/mail)
4. /
5. alessandronuunes/filament-communicate

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

alessandronuunes/filament-communicate
=====================================

A comprehensive communication plugin for Filament with messaging, notifications and file attachments

v1.0.14(5mo ago)4440↓62.2%1mitPHPPHP ^8.2

Since Aug 1Pushed 5mo agoCompare

[ Source](https://github.com/4nuunes/filament-communicate)[ Packagist](https://packagist.org/packages/alessandronuunes/filament-communicate)[ RSS](/packages/alessandronuunes-filament-communicate/feed)WikiDiscussions main Synced 2d ago

READMEChangelogDependencies (13)Versions (16)Used By (0)

Filament Communicate
====================

[](#filament-communicate)

[![Latest Version on Packagist](https://camo.githubusercontent.com/f7fed4ab10863aac410e4f056b3fd6398edaa62cffabc5a60f09d18e37f2e477/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616c657373616e64726f6e75756e65732f66696c616d656e742d636f6d6d756e69636174652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/alessandronuunes/filament-communicate)[![GitHub Tests Action Status](https://camo.githubusercontent.com/bd93313feba1262b0626f38f9e0710aa55e09c98471b34d1cdf019dd954adc7f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f616c657373616e64726f6e75756e65732f66696c616d656e742d636f6d6d756e69636174652f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/alessandronuunes/filament-communicate/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/ff9653308b290a9eb002f2c4458762dcfa62c2fb9daa7da231d118bcdf9f7d53/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f616c657373616e64726f6e75756e65732f66696c616d656e742d636f6d6d756e69636174652f436865636b253230262532306669782532307374796c696e673f6c6162656c3d636f64652532307374796c65)](https://github.com/alessandronuunes/filament-communicate/actions?query=workflow%3A%22Check+%26+fix+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/c0b33f02bf0f250a83c4b8f86d02d82b0c35d4c3f93d47bc99262dc9a7547490/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616c657373616e64726f6e75756e65732f66696c616d656e742d636f6d6d756e69636174652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/alessandronuunes/filament-communicate)

A comprehensive internal messaging system for Filament Admin Panel with approval workflows, hierarchical messaging, and advanced permission controls.

🚀 Features
----------

[](#-features)

### Core Messaging System

[](#core-messaging-system)

- **Hierarchical Messages**: Original messages and threaded replies
- **Message Types**: Configurable message categories with custom settings
- **Priority Levels**: Low, Normal, High, and Urgent priorities with visual indicators
- **File Attachments**: Support for multiple file types with validation
- **Message Status Tracking**: Complete lifecycle from draft to archived

### Approval Workflow

[](#approval-workflow)

- **Configurable Approval**: Messages can require approval before delivery
- **Supervisor Controls**: Approve/reject messages with reasons
- **Automatic Routing**: Smart message routing based on approval requirements
- **Reply Exemption**: Replies bypass approval requirements for faster communication

### Permission System

[](#permission-system)

- **Role-Based Access**: Super Admin, Supervisor, and User roles
- **Granular Permissions**: Control who can see, approve, and manage messages
- **Ownership Rules**: Users see their own messages, supervisors manage approvals
- **Transfer Capabilities**: Messages can be transferred between users

### Advanced Features

[](#advanced-features)

- **Unique Message Codes**: Automatic generation with customizable formats
- **Read Receipts**: Track message delivery and read status
- **Statistics Dashboard**: Message counts, badges, and analytics
- **Notification System**: Real-time notifications for message events
- **Localization**: Full Portuguese (Brazil) and English support

📋 Requirements
--------------

[](#-requirements)

- PHP 8.2 or higher
- Laravel 10.0 or higher
- Filament 3.0 or higher
- MySQL 5.7+ or PostgreSQL 10+
- **Laravel Notifications enabled** - Required for the messaging system to function properly

📦 Installation
--------------

[](#-installation)

1. **Install the package via Composer:**

```
composer require alessandronuunes/filament-communicate
```

2. **Publish and run the migrations:**

```
php artisan vendor:publish --tag="filament-communicate-migrations"
php artisan migrate
```

3. **Publish the configuration file (optional):**

```
php artisan vendor:publish --tag="filament-communicate-config"
```

4. **Register the plugin in your Filament Panel:**

```
use Alessandronuunes\FilamentCommunicate\FilamentCommunicatePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentCommunicatePlugin::make(),
        ]);
}
```

### Notification Features

[](#notification-features)

The system uses notifications for:

- **Message delivery alerts**: When new messages are received
- **Approval notifications**: When messages need supervisor approval
- **Status updates**: When message status changes (approved/rejected)
- **Reply notifications**: When someone replies to your message

**Create the notifications table (if not already created):**

```
php artisan notifications:table
php artisan migrate
```

⚙️ Configuration
----------------

[](#️-configuration)

### Basic Configuration

[](#basic-configuration)

The package comes with sensible defaults, but you can customize everything in `config/filament-communicate.php`:

```
return [
    // Role-based permissions
    'super_admin_roles' => ['super_admin'],
    'supervisor_roles' => ['supervisor'],
    'user_roles' => ['atendente'],

    // Message code format
    'message_code' => [
        'prefix' => 'MSG',
        'sequence_digits' => 6,
        'include_year' => false,
    ],

    // File upload settings
    'storage' => [
        'disk' => 'public',
        'max_file_size' => 10240, // 10MB
        'max_files' => 5,
    ],
];
```

### Navigation Configuration

[](#navigation-configuration)

Customize menu placement and appearance:

```
'navigation' => [
    'message_resource' => [
        'group' => 'Communication',
        'sort' => 10,
        'icon' => 'heroicon-o-envelope',
    ],
    'message_type_resource' => [
        'group' => 'Settings',
        'sort' => 20,
        'icon' => 'heroicon-o-rectangle-group',
    ],
],
```

🎯 Usage
-------

[](#-usage)

### Creating Message Types

[](#creating-message-types)

1. Navigate to **Settings &gt; Message Types**
2. Create categories like "Internal Memo", "Announcement", "Request"
3. Configure approval requirements per type
4. Set default priorities and permissions

### Sending Messages

[](#sending-messages)

1. Go to **Communication &gt; Messages**
2. Click **New Message**
3. Select message type and recipient
4. Add subject, content, and attachments
5. Choose priority level
6. Send or save as draft

### Approval Workflow

[](#approval-workflow-1)

**For Supervisors:**

1. View pending messages in the **Messages** list
2. Click on a message to review details
3. Use **Approve** or **Reject** actions
4. Add approval reasons when needed

**For Users:**

- Messages requiring approval show "Pending Approval" status
- Approved messages are automatically delivered
- Rejected messages can be edited and resubmitted

### Message Threading

[](#message-threading)

- Click **Reply** on any message to start a thread
- Replies are grouped with the original message
- Thread participants can see all related messages
- Reply counts are displayed in message lists

🏗️ Architecture
---------------

[](#️-architecture)

### Models

[](#models)

- **Message**: Core message entity with status, priority, and relationships
- **MessageType**: Configurable message categories
- **MessageApproval**: Approval workflow tracking
- **MessageTransfer**: Message transfer history

### Services

[](#services)

- **MessageService**: Main business logic coordinator
- **MessageApprovalService**: Handles approval workflows
- **MessageDeliveryService**: Manages message delivery
- **MessageReplyService**: Processes message replies
- **MessageStatisticsService**: Generates analytics and badges
- **MessageTransferService**: Handles message transfers

### Enums

[](#enums)

- **MessageStatus**: Draft, Pending, Approved, Rejected, Sent, Read, Archived
- **MessagePriority**: Low, Normal, High, Urgent

### Actions

[](#actions)

- **ApproveMessageAction**: Supervisor approval functionality
- **RejectMessageAction**: Message rejection with reasons
- **ReplyMessageAction**: Create threaded replies
- **TransferMessageAction**: Transfer messages between users

🔐 Permission System
-------------------

[](#-permission-system)

### Role Definitions

[](#role-definitions)

**Super Admin:**

- Full access to all messages
- Can manage message types
- System configuration access

**Supervisor:**

- Can approve/reject pending messages
- Cannot approve their own messages
- Sees messages requiring approval

**User:**

- Sees only their own messages (sent/received)
- Can create and reply to messages
- Limited to assigned message types

### Visibility Rules

[](#visibility-rules)

```
// Supervisors see pending messages (except their own)
'supervisor_visibility' => [
    'allowed_statuses' => [MessageStatus::PENDING],
    'exclude_own_messages' => true,
],
```

📊 Message Status Flow
---------------------

[](#-message-status-flow)

```
Draft → Pending Approval → Approved → Sent → Read → Archived
                     ↓
                  Rejected

```

**Status Descriptions:**

- **Draft**: Message saved but not sent
- **Pending**: Awaiting supervisor approval
- **Approved**: Approved and ready for delivery
- **Rejected**: Rejected by supervisor with reason
- **Sent**: Delivered to recipient
- **Read**: Opened by recipient
- **Archived**: Moved to archive

🎨 Customization
---------------

[](#-customization)

### Custom Message Codes

[](#custom-message-codes)

```
'message_code' => [
    'prefix' => 'VMIX',
    'include_year' => true,
    'year_format' => 'Y',
    'sequence_digits' => 8,
    'custom_format' => '{prefix}-{year}-{sequence}', // VMIX-2024-00000001
],
```

### File Upload Restrictions

[](#file-upload-restrictions)

```
'storage' => [
    'allowed_file_types' => [
        'application/pdf',
        'image/jpeg',
        'image/png',
        'application/msword',
        'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
    ],
],
```

🧪 Testing
---------

[](#-testing)

```
composer test
```

📝 Changelog
-----------

[](#-changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

🤝 Contributing
--------------

[](#-contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

🔒 Security Vulnerabilities
--------------------------

[](#-security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

📄 License
---------

[](#-license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

💡 Use Cases
-----------

[](#-use-cases)

Perfect for organizations that need:

- **Corporate Communication**: Internal memos and announcements
- **Approval Workflows**: Document and request approvals
- **Help Desk Systems**: Internal support ticket management
- **Project Communication**: Team collaboration with oversight
- **Compliance Tracking**: Auditable communication trails
- **Multi-department Coordination**: Cross-functional messaging

---

**Built with ❤️ for the Filament community**

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance73

Regular maintenance activity

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.6% 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

Every ~13 days

Total

15

Last Release

150d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d53fc7e3f13c6a03262261f5f6e670d8ae140b90878dd51eca3d18d27ab7423?d=identicon)[alessandronuunes](/maintainers/alessandronuunes)

---

Top Contributors

[![alessandronuunes](https://avatars.githubusercontent.com/u/13227884?v=4)](https://github.com/alessandronuunes "alessandronuunes (28 commits)")[![jeffersongoncalves](https://avatars.githubusercontent.com/u/411493?v=4)](https://github.com/jeffersongoncalves "jeffersongoncalves (1 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/alessandronuunes-filament-communicate/health.svg)

```
[![Health](https://phpackages.com/badges/alessandronuunes-filament-communicate/health.svg)](https://phpackages.com/packages/alessandronuunes-filament-communicate)
```

###  Alternatives

[backstage/mails

View logged mails and events in a beautiful Filament UI.

16120.0k](/packages/backstage-mails)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[visualbuilder/email-templates

Email Template editor for Filament

11249.8k](/packages/visualbuilder-email-templates)[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

122177.8k1](/packages/stephenjude-filament-feature-flags)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[stephenjude/filament-debugger

About

104162.2k2](/packages/stephenjude-filament-debugger)

PHPackages © 2026

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