Service
Matrix (via Element or any homeserver) — the self-hosting community's dominant open, federated chat protocol. Sending a message to a room via the Client-Server API's /send endpoint is a common way to route alerts into a self-hosted chat stack.
Why now
One of the most-run pieces of self-hosted infrastructure alongside ntfy/Gotify — a natural next target now that the newer relay services (Pinglet/Trigv) are tracked. Established, not a fad, but still very actively used.
Apprise comparison
Apprise supports Matrix (matrix:// / matrixs://) — this is a clear gap versus Apprise's coverage today.
Proposed scope
Mirror providers/discord or providers/slack shape (webhook-like POST with auth):
providers/matrix package
Config{ HomeserverURL, RoomID, AccessToken, ... }
New(cfg, wrapper) *Client, (*Client).Send(ctx, notify.Message) error via transport.Wrapper
Note
Per CLAUDE.md, this repo's near-term policy is to keep the provider list to what's ported from Charon and not add new integrations without an explicit go-ahead — Matrix is explicitly named there as an example of what's currently out of scope. This issue exists purely to track the request; do not implement without maintainer sign-off.
Service
Matrix (via Element or any homeserver) — the self-hosting community's dominant open, federated chat protocol. Sending a message to a room via the Client-Server API's
/sendendpoint is a common way to route alerts into a self-hosted chat stack.Why now
One of the most-run pieces of self-hosted infrastructure alongside ntfy/Gotify — a natural next target now that the newer relay services (Pinglet/Trigv) are tracked. Established, not a fad, but still very actively used.
Apprise comparison
Apprise supports Matrix (
matrix:///matrixs://) — this is a clear gap versus Apprise's coverage today.Proposed scope
Mirror
providers/discordorproviders/slackshape (webhook-like POST with auth):providers/matrixpackageConfig{ HomeserverURL, RoomID, AccessToken, ... }New(cfg, wrapper) *Client,(*Client).Send(ctx, notify.Message) errorviatransport.WrapperNote
Per
CLAUDE.md, this repo's near-term policy is to keep the provider list to what's ported from Charon and not add new integrations without an explicit go-ahead — Matrix is explicitly named there as an example of what's currently out of scope. This issue exists purely to track the request; do not implement without maintainer sign-off.