Skip to Content
RiusPlatformAlertsDistribution channels

Distribution channels

Channels are the destinations firings get delivered to. You define them once per workspace on the Alerts page, then attach any of them to any alert from that alert’s details page (the Delivers to section). While an alert is enabled, every firing goes to each of its attached, enabled channels.

Channels are admin-only, including viewing them: a member does not see the Distribution channels section or an alert’s Delivers to list.

Distribution channels

Webhook

A webhook channel POSTs a JSON payload to an HTTPS URL you provide. You can add request headers, for example an Authorization token your receiver expects; header values are stored encrypted, are write-only, and are never shown again, in the console or over MCP.

Every delivery sends one JSON body per firing:

{ "text": "Consistent Error Pattern: TimeoutError: model call exceeded 60s", "alert_id": "01J9…", "workspace_id": "01J8…", "kind": "consistent_error_pattern", "service": "support-bot", "step": "llm.call", "error": "TimeoutError: model call exceeded 60s", "title": "TimeoutError: model call exceeded 60s", "labels": { "service": "support-bot", "step": "llm.call" }, "occurrences": 14, "runs": 5, "first_seen": "2026-09-03T14:02:11Z", "last_seen": "2026-09-03T15:27:40Z", "sample_trace_ids": ["9f3a2c81…", "b04e11d9…"], "url": "https://eu.console.rius-glassflow.com/…" }

text is a render-ready one-liner, so the same payload posts usefully to a generic receiver and to chat webhooks. service, step, and error are present when the detector attaches them, and labels carries the same values plus any detector-specific keys such as tool or trace_id. sample_trace_ids is a bounded sample (at most 10), never the complete list; follow url for the full firing. Timestamps are RFC3339 in UTC.

Email

An email channel sends each firing to every recipient on the channel: a designed HTML mail with a plain-text fallback, a deep link to the firing, and the firing’s age alongside its UTC timestamp.

Each recipient gets their own copy of the mail, so recipients don’t see each other’s addresses. Every mail has an unsubscribe link in its footer, and mail clients such as Gmail show their own Unsubscribe button for it. That button unsubscribes from this channel at once, without opening the page.

Unsubscribing

The unsubscribe link removes that address from that channel’s recipient list. It stops emails from that channel only: other email channels, other workspaces, and Slack and webhook channels are not affected. The footer says so next to the link.

  • No Rius account needed. The link opens a page that names the address, the channel, and the workspace, and the recipient confirms with a button. Opening the page changes nothing.
  • Unsubscribe from all. When the address is also on other email channels in the same workspace, the page offers Unsubscribe from all alert emails for that workspace, which removes it from every email channel there. It shows how many other channels the address is on, not their names.
  • Admins stay in control. A workspace admin sees the address gone from the channel’s recipients and can add it back. An address that is added back gets mail again.
  • The last recipient. If the last recipient unsubscribes, the channel is disabled and has no recipients. To turn it back on, an admin adds a recipient and then enables the channel.

Slack

Slack delivery uses the Rius Slack app, which you install into your Slack workspace once per Rius workspace:

  1. In the new channel dialog, choose Slack and click Add to Slack. Slack’s authorization page opens; the app requests permission to post messages and to list the channels you can pick from.
  2. Once the workspace is connected, name the channel and pick the Slack channel to post into. Public channels work as they are. For a private channel, invite the app in Slack first; Rius refuses a channel the app cannot post to rather than saving a channel that will never deliver.

The Slack connection is shared: after the first install, additional Slack channels skip straight to the channel picker. Disconnecting the workspace disables every Slack channel that uses it.

Channel deliveries are per firing, not batched. A noisy alert posts once per firing; tune the alert’s thresholds rather than muting the channel.

Next steps

Last updated on