Skip to main content

Prerequisites

  • A Laravel application with Laravel Nova installed and configured
  • PHP 8.2 or higher
  • Nova 5.4 or higher
1

Install and register

Require the package via Composer:
composer require opscale-co/notification-center
Then register the tool in app/Providers/NovaServiceProvider.php:
// in app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
    return [
        // ...
        new \Opscale\NotificationCenter\Tool(),
    ];
}
2

Run the install command

Publish the config and run migrations in one step:
php artisan notification-center:install
This creates all required database tables and publishes config/notification-center.php.
3

Create a Template

In the Nova dashboard, navigate to Notification Center → Templates and create a new template.Templates are built with Nova Dynamic Resources and define the fields available when composing a notification (e.g., subject, body, call-to-action URL).
Create one template per channel type if you need different field layouts for email vs. SMS vs. push.
4

Create an Audience

Navigate to Notification Center → Audiences and create an audience. Three types are available:
  • Static — manually curated list of profiles
  • Dynamic — membership resolved at query time based on criteria rules
  • Segment — named reusable cohort based on shared profile attributes
Profiles represent the individual recipients. Add profiles to the audience, or configure the dynamic rules that determine membership automatically.
5

Create and publish a Notification

Navigate to Notification Center → Notifications and create a new notification.
  1. Select a typeMarketing, Transactional, System, Alert, or Reminder. The type determines which delivery strategy from config/notification-center.php is used.
  2. Attach the template you created in step 3.
  3. Attach the audience you created in step 4.
  4. Optionally set an expiration date. The hourly scheduler skips expired notifications.
  5. Click the Publish Notification action.
Once published, the notification is eligible for delivery. The built-in scheduler dispatches strategies hourly for all published, non-expired notifications.
The default strategy for each type is defined in config/notification-center.php. For example, Alert notifications attempt webpush first, then whatsapp, then card, with a 1-hour timeout per channel.
6

Monitor deliveries

Navigate to Notification Center → Deliveries and Notification Center → Events in the Nova dashboard to monitor delivery status.
  • Deliveries — one record per channel attempt, showing status, attempt count, and timestamps
  • Events — tracking records generated when a recipient opens a notification or clicks an action link
Every delivery is assigned unique open and action slugs automatically. If you have set GOOGLE_ANALYTICS_ID in your .env, tracking events are also sent to GA4.

Next steps

Delivery strategies

Learn how strategies control channels, retries, and time windows.

Channels

Explore all 9 channels and their configuration requirements.

Audiences

Understand static, dynamic, and segment audience types.

Tracking

Set up open and action tracking with optional GA4 integration.

Build docs developers (and LLMs) love