novu/novu-laravel
Official Laravel SDK for Novu, the open-source notification infrastructure. Send multi-channel notifications, manage subscribers and workflows, and trigger events from your Laravel app. Deliver in-app, email, SMS, push, and chat messages through one unified, developer-friendly API.
Architecture fit. novu/novu-laravel is a thin client SDK wrapping Novu's REST API — a service provider, config file, and facade over HTTP calls. It is not a notification engine. All orchestration value (workflow definitions, digest/delay steps, provider routing, subscriber preferences, in-app inbox) lives in the Novu platform, not in this package. Architecturally it belongs in a small adapter layer beside your existing mail/queue code, not in the domain layer. Teams expecting a drop-in replacement for Laravel's Notification system will be disappointed; teams wanting Novu as an upstream orchestrator will find the shape correct but the implementation stale.
Integration feasibility. Composer install, publish config, set API key, call facade methods. A competent Laravel developer gets a "hello world" trigger working in under a day. The friction is not conceptual — it is dependency hygiene. An archived package last released 2024-04-09 will carry Laravel/PHP version constraints from that era; expect conflicts against Laravel 11/12 and PHP 8.3+. Realistic effort to production: 1–2 weeks for a single notification workflow including tests, retries, and secrets management, conditional on resolving the constraint conflicts.
Technical risk. High, and concentrated in one fact: the repository is archived.
Key questions before committing.
novu/novu-php SDK, or abandoned outright? This determines fork-vs-replace.trigger?Stack fit. Fits a conventional Laravel monolith or modular monolith where notifications are a cross-cutting concern: API service, queue workers, scheduler. Novu runs as either SaaS or self-hosted (Docker/Kubernetes) — the self-hosted path matters if subscriber PII cannot leave your boundary. The SDK itself is stateless and adds no infrastructure footprint; the footprint is Novu's.
Recommended migration path. Treat the archived SDK as a reference implementation, not a dependency. Three options, in descending order of preference:
Http facade with retry(), throw(), and a typed DTO layer. Removes the archived dependency entirely while keeping Novu's value.Compatibility. Verify Composer constraints against your Laravel and PHP matrix first — this is the single most likely blocker. Confirm config caching works (php artisan config:cache with the published config), confirm the facade alias does not collide, and confirm the client honours a configurable base URL so you can point at self-hosted Novu or a proxy.
Sequencing.
Mail:: / Notification::).The adapter interface in step 2 is the load-bearing decision. It makes the archived-package question a swap, not a rewrite.
Maintenance. You own it. Budget a standing line item: quarterly review against Novu's API changelog, plus Composer constraint upkeep at every Laravel major upgrade. If you vendor a fork, add it to your dependency-update rotation explicitly — archived packages silently rot because no bot opens PRs against them.
Support. No upstream maintainer. Escalation is Novu's community Discord and their public API docs; the SDK's own code is the only documentation for its quirks. Set expectations with stakeholders: this is a "supported by us" component, not a vendor-supported one.
Scaling. The SDK does no work — it serialises a payload and makes an HTTP call. Throughput is bounded by Novu's API rate limits and your queue worker concurrency, not by the package. Two practical constraints: trigger calls from request paths will add latency (dispatch to a queue), and per-subscriber fan-out multiplies API calls — batch where Novu supports it or accept the rate-limit ceiling.
Failure modes to design for.
Ramp-up. Low for sending notifications — a mid-level Laravel developer is productive in a day. Moderate for the adapter and resilience layer — a senior developer, roughly a week. High for workflow design, provider configuration, and subscriber preference modelling, which are Novu platform skills rather than package skills and represent the real long-term cost. Plan for one person to become the internal Novu owner; a 12-star archived SDK will not grow that expertise for you.
Bottom line. The package is an acceptable scaffold and a poor dependency. Adopt Novu's platform if notification orchestration is a genuine need; consume it through an internal adapter you control, and do not let the archived SDK become a load-bearing part of your stack.
How can I help you explore Laravel packages today?