Notifications
Approval Flows sends Laravel notifications at the moments that matter. Channels are configurable; the notification classes are overridable.
What gets sent, and when
| Notification | Sent to | Trigger |
|---|---|---|
ApprovalRequestedNotification |
current step's approvers | on submit, when a step advances, and to a delegate on delegation |
ApprovalResolvedNotification |
the submitter | when the run is approved or rejected |
ApprovalEscalatedNotification |
current step's approvers | when a step is escalated |
Approvers are resolved through the approver resolver, so role- and user-based steps both notify the right people.
Channels
// config/approval-flows.php
'notifications' => [
'database' => true, // Filament database notifications (bell menu)
'mail' => true,
],
The database channel writes Filament-formatted notifications, so they appear in the panel's notification bell out of the box. Set either flag to false to turn that channel off globally.
Prerequisites
- Database channel — run Laravel's notifications migration (
php artisan notifications:table && php artisan migrate) and addFilament\Notifications\Livewire\DatabaseNotificationsto your panel if you want the polling bell. Standard Filament setup. - Mail channel — configure your mailer as usual. Notifiable users must have a routable email.
Customising the messages
The notification classes read their channels from config via a shared concern. To change wording, subject lines, or add channels (Slack, Vonage…), extend the class and swap it in your own listener, or publish and edit the plugin's translation strings:
php artisan vendor:publish --tag="approval-flows-translations"
Language files ship for English and Turkish; other languages are welcome as community PRs. Strings live under the approval-flows:: namespace and cover statuses, step modes, and notification copy.
Turning notifications off for a flow
There is no per-flow switch — notifications follow the global channel config. If you need per-flow control, disable both channels and drive messaging yourself from the events; every notify point has a matching event.
Next: Events & hooks.