usamamuneerchaudhary/filament-notifier
A powerful multi-channel notification system for FilamentPHP with template management, scheduled delivery, event triggers, user preferences via REST API, and an analytics dashboard. Supports email, SMS, Slack, Discord and push, with built-in rate limiting and open/click tracking.
{{variable}} interpolation, scheduling, and event-to-template mapping. It moves the decision from "do we build a notification service?" to "do we adopt and fork this scaffold?" — a materially smaller commitment./api/notifier/preferences, /available, per-event GET/PUT) plus an admin-controlled allow_override flag lets you ship user-controlled channel opt-in/opt-out as a v1 feature rather than a later roadmap item. This is often the single most expensive piece of a notification system to build correctly (event catalog + channel matrix + auth + admin governance).config/notifier.php plus env vars; a ChannelDriverInterface exists for anything custom. This supports committing to "we'll add channels when customers ask" without pre-allocating engineering capacity.Adopt when:
Look elsewhere when:
Diligence checklist before committing: confirm queue integration and retry behavior for each driver; verify how the tracking pixel and click-rewrite interact with your sending domain and link-wrapping policy (tracking pixels are a known spam-score and privacy-review trigger, and GDPR/CAN-SPAM exposure sits with you, not the package); confirm the retention_days cleanup command is scheduled; test the PUT /preferences/{eventKey} path against your auth guard rather than the package's assumptions.
To executives — one paragraph: This is an MIT-licensed, Filament-native notification console that would otherwise cost us roughly one to two engineer-months to build: multi-channel delivery, editable templates with variables, scheduled and event-triggered sends, a user-facing preference API, open/click analytics, and rate limiting. It lets us ship a credible notification experience — including the preference center customers and compliance reviewers ask for — in weeks instead of a quarter, at zero license cost. The trade-off is maintenance: it is a small, single-maintainer open-source project, so we are buying a head start, not a vendor relationship. We should adopt it for admin-facing and non-critical notifications, pin and fork the version we ship, and keep high-volume or revenue-critical sending on a path we control. Recommendation: pilot it in one product area, measure, then decide on broader adoption.
To engineering — the framing: Treat this as a forkable scaffold, not a dependency. It gives us a working data model (channels, events, templates, notifications, preferences), a Filament admin surface, a preference REST API, and tracking endpoints — all the tedious, low-differentiation parts. What it does not give us is production hardening: verify queue integration, retry/backoff, idempotency, and failure isolation before we trust it with anything important. Plan to vendor it, add our own tests around the send path, and treat upstream commits as reference material. If we are not on Filament, the ROI collapses — do not adopt it as a generic Laravel notification layer.
What we are explicitly not buying: an SLA, a security-response process, deliverability management, or a community to lean on. Make that trade-off visible in the decision record rather than discovering it during an incident.
How can I help you explore Laravel packages today?