PHPackages                             hasanyagout/filament-announcements - 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. [Admin Panels](/categories/admin)
4. /
5. hasanyagout/filament-announcements

ActiveLibrary[Admin Panels](/categories/admin)

hasanyagout/filament-announcements
==================================

Global announcement system for different users

v1.0.0(1mo ago)283MITPHP ^8.2

Since Jun 13Compare

[ Source](https://github.com/HasanYagout/filament-announcement)[ Packagist](https://packagist.org/packages/hasanyagout/filament-announcements)[ Docs](https://github.com/HasanYagout/filament-announcement)[ GitHub Sponsors](https://github.com/HasanYagout)[ RSS](/packages/hasanyagout-filament-announcements/feed)WikiDiscussions Synced 3w ago

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

Filament Announcement
=====================

[](#filament-announcement)

 [ ![Latest Version](https://camo.githubusercontent.com/f87e5f7413a3b923e3d11dae62eeeabb9a96fc8ebfb60c7d2cbc985fede664ee/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f686173616e7961676f75742f66696c616d656e742d616e6e6f756e63656d656e74733f7374796c653d666c61742d737175617265) ](https://packagist.org/packages/hasanyagout/filament-announcements)[ ![Total Downloads](https://camo.githubusercontent.com/a475c1e65e202c545da064aa7ae46ef3ed574bccdb46d752cf1530fd8881c2c3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f686173616e7961676f75742f66696c616d656e742d616e6e6f756e63656d656e74733f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hasanyagout/filament-announcements)[ ![PHP Version](https://camo.githubusercontent.com/f2d4bb963d92ec90b1c7bc533998f511be76ede069d941527c6f70560b4b913f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f686173616e7961676f75742f66696c616d656e742d616e6e6f756e63656d656e74733f7374796c653d666c61742d737175617265) ](https://packagist.org/packages/hasanyagout/filament-announcements) [ ![License](https://camo.githubusercontent.com/7f17130d220febb655f7235df78dd6eb8ec3587b0ec7a3e4c161b5820e97c702/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f486173616e5961676f75742f66696c616d656e742d616e6e6f756e63656d656e743f7374796c653d666c61742d737175617265) ](https://github.com/HasanYagout/filament-announcement/blob/main/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
-----------

[](#screenshots)

### List View

[](#list-view)

[![List Announcements](img/list.png)](img/list.png)

### Create Announcement

[](#create-announcement)

[![Create Announcement](img/create.png)](img/create.png)

### Edit Announcement

[](#edit-announcement)

[![Edit Announcement](img/edit.png)](img/edit.png)

Features
--------

[](#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
------------

[](#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:

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
-----

[](#setup)

1. Register the plugin inside your Filament panel provider:

```
use HasanYagout\Announcement\AnnouncementPlugin;

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

2. Add the trait to your User model:

```
use HasanYagout\Announcement\Traits\HasAnnouncements;

class User extends Authenticatable
{
    use HasAnnouncements;
}
```

---

Configuration
-------------

[](#configuration)

Example configuration:

```
use App\Models\User;

return [

    'recipient_models' => [

        User::class => [
            'label' => 'Users',
            'title_attribute' => 'name',
        ],

    ],

];
```

---

Polling Interval
----------------

[](#polling-interval)

Customize the polling interval:

```
AnnouncementPlugin::make()
    ->pollingInterval('10s')
```

---

Announcement Types
------------------

[](#announcement-types)

Supported announcement types:

- `info`
- `warning`
- `danger`
- `success`

---

Translation Support
-------------------

[](#translation-support)

The plugin is fully translation-ready.

Example:

```
__('announcement::filament.form.title.label')
```

---

Scheduling
----------

[](#scheduling)

Announcements support scheduling using:

- `starts_at`
- `ends_at`

Only active announcements are displayed automatically.

---

Dismissible Announcements
-------------------------

[](#dismissible-announcements)

Users can dismiss announcements individually.

Dismiss states are stored per recipient.

---

Recipient Targeting
-------------------

[](#recipient-targeting)

Announcements can be:

- Global (`is_global`)
- Assigned to specific users/models

Supported via polymorphic recipient relationships.

---

Permissions &amp; Policies
--------------------------

[](#permissions--policies)

The plugin supports Laravel Policies.

Example policy registration:

---

Testing
-------

[](#testing)

```
composer test
```

---

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information about recent changes.

---

Contributing
------------

[](#contributing)

Contributions, issues, and feature requests are welcome.

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

---

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

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

---

Credits
-------

[](#credits)

- [Hasan Yagout](https://github.com/HasanYagout)

---

License
-------

[](#license)

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

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance91

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

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

41d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/96498947?v=4)[Hasan Yagout](/maintainers/HasanYagout)[@HasanYagout](https://github.com/HasanYagout)

---

Tags

laravelalertsdashboardfilamentfilament-pluginfilamentphpfilament-v5announcements announcementhasanyagout

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/hasanyagout-filament-announcements/health.svg)

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

###  Alternatives

[mradder/filament-logger

Audit logging, activity tracking, exports, alerts, and dashboards for Filament admin panels.

2318.8k](/packages/mradder-filament-logger)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

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

View logged mails and events in a beautiful Filament UI.

16121.5k](/packages/backstage-mails)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k2](/packages/marcelweidum-filament-passkeys)[caresome/filament-neobrutalism-theme

A neobrutalism theme for FilamentPHP admin panels

335.6k1](/packages/caresome-filament-neobrutalism-theme)[andreia/filament-ui-switcher

Add a modal with options to switch between different UI layouts and styles (colors, fonts, font sizes).

246.4k](/packages/andreia-filament-ui-switcher)

PHPackages © 2026

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