ExecuteNotificationStrategy job is dispatched for each attached audience profile and the notification status moves from Draft to Published.
End-to-end workflow
Create a content template
Notifications pull their fields from Nova Dynamic Resources templates. Before creating a notification, define a template that describes the fields your content team needs.Refer to the
templates section of config/notification-center.php for template configuration.Create a notification record
Navigate to Notification Center → Notifications → New Notification in the Nova sidebar.Fill in the core fields:
Expand the Advanced Settings panel to configure optional fields:Save the notification. Its status is Draft at this point — it cannot be edited or deleted once published.
| Field | Validation | Notes |
|---|---|---|
| Subject | required, max 50 chars | Displayed as the notification title |
| Body | required | Rich-text content via Trix editor |
| Summary | required, max 100 chars | Short plain-text description used by push/WhatsApp channels |
The Type field determines which delivery strategy is used. Each type maps to a strategy defined in
config/notification-center.php under the strategies key, controlling which channels are attempted and in what order.Attach audiences and publish
Open the notification’s detail view. Click Actions → Publish Notification.A modal appears with a single required field:Select the audience you want to target and confirm. The action:
- Sets the notification
statustoPUBLISHED. - Attaches the selected audience via
$notification->audiences()->attach($audience->id). - Dispatches
ExecuteNotificationStrategy::dispatch($notification)for immediate processing.
Monitor deliveries
After publishing, switch to the Deliveries tab on the notification detail view. Three metrics cards appear on detail:
- Total Targets — number of profiles targeted
- Deliveries Per Day — daily delivery trend chart
- Deliveries By Status — breakdown by status (pending, sent, received, failed)
Notification type and delivery strategy
The notification Type field links directly to a strategy entry in config. Here are the defaults:- channels — ordered list; if a channel times out, the next one is attempted (automatic escalation).
- retry_interval — seconds between retries, supports escalating delays as an array.
- max_attempts — maximum delivery attempts per channel.
- timeout_per_channel — hours before a channel attempt is considered timed-out.
- days / hours — time window restricting when notifications can be sent.
The scheduler re-dispatches strategies hourly for all published, non-expired notifications, so any notification that failed delivery will be retried automatically within its configured time window.