> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-admin/configuration/notifications.md).

# Notifications

Which notification resource is used, and what your staff are told about.

## Which resource

{% code title="shared/config/integrations.lua" %}

```lua
Config.Notifications = {
    resource = nil,   -- nil = detect
    duration = 8000,
}
```

{% endcode %}

Left alone it detects `mango_notify`, `ox_lib`, `okokNotify`, `esx_notify` or `qb-core`, in that order, and falls back to a plain chat line if none of them are running. A report nobody is told about is worse than an ugly notification.

Force one by name if you would rather:

```lua
resource = 'ox_lib',
```

## What players are told

```lua
onAction      = true,    -- tell a player when staff do something TO them
showStaffName = false,   -- and whether to name who did it
```

Spectating is deliberately absent — a spectate that announces itself is not a spectate — and so are kicks and bans, which already end with a disconnect screen that says more than a toast could.

## What staff are told

| Setting         | Raises a notification when                       |
| --------------- | ------------------------------------------------ |
| `onNewReport`   | A report comes in                                |
| `onReportReply` | A player writes in a report that is already open |
| `onNewBan`      | Somebody is banned                               |

Staff replying to each other is deliberately **not** announced: the panel already updates an open thread live, and a pop-up per message would be a storm on a busy shift.
