Broadcast notifications

To start, make sure the package is installed - @livewire('notifications') should be in your Blade layout somewhere.

By default, Filament will send flash notifications via the Laravel session. However, you may wish that your notifications are "broadcast" to a user in real-time, instead. This could be used to send a temporary success notification from a queued job after it has finished processing.

We have a native integration with Laravel Echo. Make sure Echo is installed, as well as a server-side websockets integration like Pusher.

Sending notifications

There are several ways to send broadcast notifications, depending on which one suits you best.

You may use our fluent API:

use Filament\Notifications\Notification;
 
$recipient = auth()->user();
 
Notification::make()
->title('Saved successfully')
->broadcast($recipient);

Or, use the notify() method:

use Filament\Notifications\Notification;
 
$recipient = auth()->user();
 
$recipient->notify(
Notification::make()
->title('Saved successfully')
->toBroadcast(),
)

Alternatively, use a traditional Laravel notification class by returning the notification from the toBroadcast() method:

use App\Models\User;
use Filament\Notifications\Notification;
use Illuminate\Notifications\Messages\BroadcastMessage;
 
public function toBroadcast(User $notifiable): BroadcastMessage
{
return Notification::make()
->title('Saved successfully')
->getBroadcastMessage();
}
Edit on GitHub

Still need help? Join our Discord community or open a GitHub discussion

Enjoying Filament?

We are open source at heart. To allow us to build new features, fix bugs, and run the community, we require your financial support.

Sponsor Filament on GitHub