NewWe open-sourced 50+ Laravel packages
Custom AI apps, agents and automation — Roundly ConsultingRoundly
All packages

Notifications look simple until a real app sends a lot of them: ten comments in five minutes become ten emails, one feature forgets to check a preference, a security notice must always arrive, a renewed contract keeps its stale reminders, someone who left a team still gets mail from a queue filled an hour ago, and a colleague in another timezone is pinged at 3 am. Notifications for Laravel solves this once, on top of Laravel’s own notification system. Your app registers its kinds of notification once, every feature sends through one call, and the package decides per recipient: access, preferences, mandatory types, inbox collapsing, mail de-dup, quiet hours and digests.

  • SaaS and B2B apps with approval flows — Recipients::role($company, 'approver') reaches the right people, a PT5M window turns ten submissions into one item and one mail, and ->escalate(after: 'P2D') tells the directors when nobody reacts.
  • Apps where people belong to several companies or teams — every item carries a context (“Acme s.r.o.”), the inbox filters by it, counts() gives unread badges per workspace and markAllRead() clears one workspace only.
  • Contracts, renewals, trials and deadlines — Reminder::before('expires_at', 'P60D', 'P30D', 'P7D') follows the date, re-arms on renewal, stops on delete or termination and escalates when not acknowledged.
  • Security, billing and legal notices — mandatory() types cannot be muted, urgent ones bypass quiet hours, and sensitive() subjects get a discreet title-and-link mail.
  • Products with a settings screen — Notifications::types() and preferences()->matrix() give a translated list with locked switches, and update() saves the whole screen all or nothing.
  • Apps already using other Roundly packages — map tickets, events, messages, alerts or auth notifications to your own types, and the same preferences, de-dup, quiet hours and inbox apply; sign-in codes can never be delayed or merged.
  • Single-page and mobile front ends — switch on the JSON API for the authenticated user’s inbox, preferences and types, and broadcast inbox events with Reverb.

It is headless: the package owns the data, the rules and the edge cases, and you build the screens. It does not do SMS, push, Slack or Microsoft Teams, and it does not send bulk announcements — campaigns-for-laravel covers those.

Show your open-source love

This package is free and MIT-licensed. If it saves you time, a one-off donation or a Patreon membership keeps it maintained, tested and documented.

More ways to support, including crypto

By donating, you agree to our donation terms.

Want this built into your product?

We integrate our packages into custom Laravel and AI builds. Tell us what you're working on and we'll reply within 48 hours.