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.

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
returned by the API or shown in the console again.
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.
An email channel sends one message per 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.
Slack
Slack delivery uses the Rius Slack app, which you install into your Slack workspace once per Rius workspace:
- 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.
- 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
- Pre-defined alerts: attach your first channel to Consistent Error Pattern.
- Custom alerts: build rules that deliver to the same channels.