Backend Module: Web > Notifications 

After installation, navigate to Web > Notifications in the TYPO3 backend. The module lets editors compose messages and deliver them to frontend users (individuals or groups) via email and/or database notifications.

Listing Messages 

The module overview displays all composed messages in a paginated list (50 per page). Each row shows:

  • Level — severity badge (Info, Notice, Warning, Error, …)
  • Subject — message title
  • Created — creation date and author
  • Sent at — timestamp of last send, or "Not sent" if pending
  • Actions — Send / Resend buttons

Use the filter bar at the top to narrow results by level.

Composing a Message 

Click the Create button (pencil icon) in the module button bar.

Field

Required

Description

Level

Yes

Severity of the notification (Info, Notice, Warning, …). Displayed as a badge in both the backend list and the notification email.

Subject

Yes

Short title of the message (max 255 characters).

Message

Yes

Full message body. Supports basic HTML.

Link

No

Optional URL or internal TYPO3 page link displayed as a call-to-action button in the notification.

Recipients

Yes

Select one or more frontend users or frontend user groups. All members of selected groups will receive the notification.

Excluded recipients

No

Frontend users to exclude from delivery (useful to target a group but skip specific members).

Channels

No

Select one or more delivery channels: Mail and/or Database. If left empty, both channels are used.

Click Save to store the message without sending it.

Sending Messages 

After saving (or from the list view), click the Send button. The module will:

  1. Resolve all recipient UIDs from the selected users and groups, minus any excluded recipients.
  2. Remove duplicates.
  3. Load NotifiableFrontendUser objects for each resolved UID.
  4. Instantiate a BackendUserSentMessageToFrontendUser notification.
  5. Call $dispatcher->send($recipients, $notification) — the same call you would make from your own PHP code.
  6. Record the sent_at timestamp on the message record.
  7. Display a flash message confirming how many recipients were notified.

Resending Messages 

Click Resend to dispatch a message again to the same recipients and channels. The sent_at timestamp is updated. Useful when delivery failed or you want to send a reminder.

Using the Module as a Code Sample 

The backend module is deliberately simple so that its source code is easy to read. If you need to send batch notifications from your own extension, study NotificationController::sendAction() — it shows the full pattern:

// Simplified version of what the module does:

$recipients = $this->resolveRecipients($message);   // returns Notifiable[]

$notification = new BackendUserSentMessageToFrontendUser(
    subject:  $message->getSubject(),
    message:  $message->getMessage(),
    level:    $message->getLevel(),
    link:     $message->getLink(),
    channels: $this->parseChannels($message),
);

$this->notificationDispatcher->send($recipients, $notification);
Copied!

Replace BackendUserSentMessageToFrontendUser with your own Notification subclass and $recipients with any collection of Notifiable objects to adapt this pattern to your use case.