---
title: "Configuration"
manual: "Laravel-style notification system for TYPO3"
version: "1.4"
source: "Configuration/Index.rst"
modified: "2026-09-14T21:25:06+00:00"
---

> [!TIP]
> Use the table of contents in the left panel to navigate.

# Configuration

## Extension Configuration

The extension does not currently expose options in the TYPO3 Extension
Configuration panel (**Admin Tools > Settings > Extension Configuration**).
All behaviour is controlled through TypoScript or PHP configuration.

## TypoScript

The extension ships with empty `constants.typoscript` and
`setup.typoscript` templates. These are reserved for future frontend plugin
configuration. No TypoScript is required for the backend module or the
developer API.

## Symfony Messenger (Queue Configuration)

The `BackendUserSentMessageToFrontendUser` notification implements the
`ShouldQueue` interface, which means it is dispatched via the Symfony
Messenger component by default.

To process the queue, configure a transport and run the messenger worker:

```bash
vendor/bin/typo3 messenger:consume
```

Refer to the TYPO3 Core documentation on [Symfony Messenger](https://docs.typo3.org/m/typo3/reference-coreapi/13.4/en-us/ApiOverview/MessageBus/Index.html) for full
transport configuration options (Doctrine, Redis, AMQP, etc.).

If you want to send notifications **synchronously** (without a queue worker),
call `notifyNow()` instead of `notify()` — see [Developer Reference](../Developer/Index.html#developer-api).

## Backend Module Access

The **Web > Notification Messages** module is registered under the `web` module
group. Access is controlled via TYPO3's standard backend user/group
permissions.

To grant a backend user group access:

1.  Go to **System > Backend Users** and edit the relevant user group.
1.  Under **Access Lists > Modules**, tick **Web > Notification Messages**.
1.  Save and clear caches.

## Notification Levels

Levels follow [RFC 5424](https://datatracker.ietf.org/doc/html/rfc5424) severity constants:

| Constant | Value | Meaning |
| --- | --- | --- |
| `NotificationLevel::LEVEL_INFO` |  | Informational message |
| `NotificationLevel::LEVEL_NOTICE` | 1 | Normal but significant event |
| `NotificationLevel::LEVEL_WARNING` | 2 | Warning condition |
| `NotificationLevel::LEVEL_ERROR` | 3 | Error condition |
| `NotificationLevel::LEVEL_CRITICAL` | 4 | Critical condition |
| `NotificationLevel::LEVEL_ALERT` | 5 | Action must be taken immediately |
| `NotificationLevel::LEVEL_EMERGENCY` | 6 | System is unusable |

## Notification Channels

Two built-in channels are available:

| Constant | String key | Implementation class |
| --- | --- | --- |
| `NotificationChannel::CHANNEL_MAIL` | `mail` | `Lex\Notifications\Channel\EmailChannel` |
| `NotificationChannel::CHANNEL_DATABASE` | `database` | `Lex\Notifications\Channel\DatabaseChannel` |

Custom channels are **automatically registered** by implementing
`Lex\Notifications\Channel\ChannelInterface` — no `Services.yaml` entry
needed. See [Adding Custom Channels](../Developer/Index.html#custom-channels) for the full pattern.
