Manual

Channels

Channels control where Dregs sends notifications. Every channel — email, Slack, or webhook — subscribes to a list of events and fires whenever Dregs emits a matching event. The same channel can receive identity scoring events, badge changes, and escalations.

What Are Channels

A channel is a delivery mechanism. Each channel has a type (email, Slack, or webhook), a configuration (where it delivers), and a list of events it subscribes to. Dregs delivers a notification to a channel whenever an event matching that channel's subscriptions fires.

Manage channels from Settings → Notifications, or through the REST API.

Events

Every channel subscribes to one or more of the following events:

  • IDENTITY_SCORED — fires whenever an identity finishes a scoring cycle. Useful for keeping an external system's copy of the scores up to date. Can be very high-volume; most teams only wire this to webhooks, not email or Slack.
  • IDENTITY_BADGES_CHANGED — fires when an identity gains or loses a badge. Good middle-ground signal — less noisy than every score, more frequent than escalations.
  • ESCALATION_OPENED — fires when an escalation opens because an identity crossed a rule's threshold.
  • ESCALATION_CLOSED — fires when an escalation closes (resolved, acknowledged, or its conditions no longer match).

Channel Types

Dashboard

The dashboard is always on and implicit. Every escalation appears in the Dregs dashboard regardless of which channels you configure — you don't need to create a dashboard channel. Even if every external channel is misconfigured or down, escalations remain visible in the dashboard.

Email

Sends notifications to one or more team members' inboxes. Typically subscribed to ESCALATION_OPENED — higher-volume events like IDENTITY_SCORED are usually too noisy for email.

Slack

Posts notifications to a Slack channel using an Incoming Webhook URL. Each message appears as a richly formatted card with the event type, severity (for escalations), identity, current scores, badges, and a link to the identity in your Dregs dashboard.

Setting up a Slack channel (recommended)

  1. In Dregs, go to Settings → Notifications and click Create Channel.
  2. Choose Slack, give the channel a name, and click Add to Slack.
  3. Slack will ask you to pick a workspace and a channel for Dregs to post to. Authorize, and you'll be redirected back to the dashboard.
  4. Pick the events you want this Slack channel to receive. For most teams, ESCALATION_OPENED and ESCALATION_CLOSED are the right default — noisy events like IDENTITY_SCORED tend to overwhelm a chat room.
  5. Click Test channel to confirm a message lands in your Slack room.

Manual setup (advanced)

If your team prefers to manage the Slack app yourselves, or your deployment doesn't have Add-to-Slack configured, you can paste an Incoming Webhook URL directly:

  1. Visit api.slack.com/apps and click Create New App → From scratch. Give it a name (e.g. "Dregs") and pick the workspace.
  2. In the left sidebar, click Incoming Webhooks and toggle them on.
  3. Click Add New Webhook to Workspace, choose the channel, and authorize.
  4. Copy the webhook URL that Slack generates — it looks like https://hooks.slack.com/services/T.../B.../....
  5. In Dregs, open the create-channel drawer, choose Slack, expand Or paste a webhook URL manually, and paste the URL.

The Slack webhook URL is a credential — anyone with it can post to your Slack channel. Dregs stores it as a secret and never displays it again after creation. To rotate the URL, edit the channel and paste a new one. To revoke entirely, remove the webhook from your Slack app.

Webhook

Sends HTTP POST requests to a URL you specify. Your application receives structured JSON payloads and reacts programmatically — automatic shadow-banning, rate limiting, account lockdown, downstream system updates. See Webhooks for the payload schema, signature verification, and retry semantics.

Escalation-specific routing

Escalation rules can optionally list channels to notify when that specific rule opens or closes an escalation — on top of the channel's own global event subscriptions. This lets you broadcast (via a channel subscribing to ESCALATION_OPENED globally) and also do targeted per-rule routing (via the rule's channels list) in the same system. Deliveries are deduped so a channel targeted both ways fires at most once per escalation.

Test Deliveries

Before relying on a channel in production, send a test delivery to verify the integration. The test uses the same delivery path as real events, so an endpoint that handles the test correctly will handle real notifications too.

Delivery Tracking

Dregs logs every notification sent to an external channel as a delivery record with full detail: status (pending, delivered, or failed), HTTP status code, payload size, error message if applicable, and attempt number.

View delivery history for any channel in Settings. This makes debugging straight­ forward — you see exactly what Dregs sent and exactly what the receiving system responded.