Announcement
CommunityA powerful Filament plugin for broadcasting announcements to all users or specific recipients with support for scheduling, dismissible alerts, live updates, and custom recipient models.
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
.
Author:
Hasan Yagout
Documentation
- Screenshots
- Features
- Installation
- Setup
- Configuration
- Polling Interval
- Announcement Types
- Translation Support
- Scheduling
- Dismissible Announcements
- Recipient Targeting
- Permissions & Policies
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
A powerful Filament plugin for broadcasting announcements to all users or specific recipients with support for scheduling, dismissible alerts, live updates, and custom recipient models.
#Screenshots
#List View

#Create Announcement

#Edit Announcement

#Features
- ✅ Global announcements
- ✅ Targeted recipients
- ✅ Dismissible announcements
- ✅ Live polling updates
- ✅ Scheduled announcements
- ✅ Multiple announcement types
- ✅ Translation ready
- ✅ Filament native UI
- ✅ Custom recipient models
- ✅ User-specific visibility
- ✅ Laravel policy support
#Installation
Install the package via Composer:
composer require hasanyagout/filament-announcements
[!IMPORTANT] If you are using Filament Panels and have not set up a custom theme yet, follow the official Filament documentation first:
https://filamentphp.com/docs/4.x/styling/overview#creating-a-custom-theme
After setting up a custom theme, add the plugin views to your theme CSS file:
@source '../../../../vendor/hasanyagout/filament-announcements/resources/**/*.blade.php';
Publish and run migrations:
php artisan vendor:publish --tag="announcements-migrations"
php artisan migrate
Publish the config file:
php artisan vendor:publish --tag="announcements-config"
Optionally publish translations:
php artisan vendor:publish --tag="announcements-translations"
Optionally publish views:
php artisan vendor:publish --tag="announcements-views"
#Setup
- Register the plugin inside your Filament panel provider:
use HasanYagout\Announcement\AnnouncementPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
AnnouncementPlugin::make(),
]);
}
- Add the trait to your User model:
use HasanYagout\Announcement\Traits\HasAnnouncements;
class User extends Authenticatable
{
use HasAnnouncements;
}
#Configuration
Example configuration:
use App\Models\User;
return [
'recipient_models' => [
User::class => [
'label' => 'Users',
'title_attribute' => 'name',
],
],
];
#Polling Interval
Customize the polling interval:
AnnouncementPlugin::make()
->pollingInterval('10s')
#Announcement Types
Supported announcement types:
infowarningdangersuccess
#Translation Support
The plugin is fully translation-ready.
Example:
__('announcement::filament.form.title.label')
#Scheduling
Announcements support scheduling using:
starts_atends_at
Only active announcements are displayed automatically.
#Dismissible Announcements
Users can dismiss announcements individually.
Dismiss states are stored per recipient.
#Recipient Targeting
Announcements can be:
- Global (
is_global) - Assigned to specific users/models
Supported via polymorphic recipient relationships.
#Permissions & Policies
The plugin supports Laravel Policies.
Example policy registration:
#Testing
composer test
#Changelog
Please see CHANGELOG for more information about recent changes.
#Contributing
Contributions, issues, and feature requests are welcome.
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight/Raycast like Command Palette to your Filament Panel.
Dennis Koch