Skip to content

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 add Filament\Notifications\Livewire\DatabaseNotifications to 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.