Skip to content

Custom event (event_type: "custom") renders empty title/message in Telegram and in /api/notifications/history #297

Description

@jriosruiz

ProxMenux Monitor version: 1.2.4

Description:
Events sent to POST /api/notifications/send with event_type: "custom" are accepted
successfully (success: true, 200 OK, event appears in /api/notifications/history),
but the title and message fields are always stored as empty strings — regardless of
what is sent in the request body. As a result, the Telegram (and Email) channel receives
a completely empty notification.

This was tested with three payload variants, all producing the same empty result:

1) Minimal payload matching the official docs example exactly:

curl -X POST http://:8008/api/notifications/send
-H "Authorization: Bearer "
-H "Content-Type: application/json"
-d '{"event_type":"custom","severity":"warning","data":{"message":"Prueba sin title"}}'

Response: {"channels_sent":["telegram","email"],"errors":[],"success":true,"total_channels":2}

2) With title + message nested under data:

-d '{"event_type":"custom","severity":"info","data":{"title":"Test Title","message":"Test message content"}}'

3) With a top-level category field added:

-d '{"event_type":"custom","severity":"warning","category":"services","data":{"message":"Prueba con category"}}'

Result in all three cases, checked via GET /api/notifications/history?channel=telegram&limit=1:

{
    "history": [
        {
            "channel": "telegram",
            "error_message": null,
            "event_type": "custom",
            "id": 460,
            "message": "",
            "sent_at": "2026-08-14T23:42:08.007339",
            "severity": "warning",
            "source": "api",
            "success": 1,
            "title": ""
        }
    ]
}

Expected behavior: data.message (and optionally data.title) should populate the
message/title fields shown in the history and dispatched to the configured channels,
as suggested by the docs example at https://proxmenux.com/en/docs/monitor/notifications/#api-endpoints.

Environment:

  • ProxMenux Monitor v1.2.4
  • Quiet Hours: disabled on the Telegram channel (ruled out as a cause)
  • Channel tested: Telegram (also affects Email, per channels_sent)
  • Notifications enabled, Telegram channel confirmed working via "Send Test" button

Additional note: unrelated native PVE events (e.g. a vzdump partial-fail notification
for a VM) were also observed arriving in Telegram with a literal unrendered [TITLE]
placeholder instead of the actual title, suggesting the title-rendering issue may not be
isolated to the custom event type.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions