Discord delivery for findings: embeds, thresholds, dedupe
Discord servers make good operations rooms for small teams: fast channels, low ceremony, history that scrolls. RowShield's Discord destination meets that register — findings arrive as structured embeds rather than walls of text, thresholds decide which severities reach which channel, and transition-only delivery keeps repeats off the timeline.
Discord delivery ships on the Team plan (fifteen projects, fifteen-minute scans, unlimited seats), together with custom generic webhooks for anywhere else. This page covers message anatomy, routing and the quiet-by-default behaviours — plus what remains deliberately manual.
RowShield does not detect this yet. This guide gives you the catalog queries to check it yourself. The nine rules that do ship are listed on the rules index.
What arrives in Discord
Each alert renders as an embed with the finding's identity intact: project, rule, severity, affected table or bucket, and a plain-language rationale. Remediation SQL travels inside the embed — generated from your actual columns, owner-scoped, FORCE ROW LEVEL SECURITY always included — so whoever picks it up can move straight to a reviewed fix.
Sensitive content stays out of the message body by design. Exposed data is summarised as column names and counts, discovered keys appear as fingerprints rather than values, webhook URLs are stored masked, and network failures resolve to fixed phrases instead of raw responses. An embed screenshot shared around a server leaks none of your data.
Thresholds and routing
Every destination owns a severity threshold, Discord channels included. A typical arrangement routes critical findings to an incidents channel while medium items such as unindexed predicates land in a general log channel; adjusting routing never touches scan configuration, because thresholds attach to destinations rather than projects.
Destination entitlements follow the plan: HTML email on Free, Slack from Indie, Discord embeds and custom generic webhooks from Team, with Growth quoted individually above that. Cadence scales the same way — daily, hourly, then every fifteen minutes — so the fastest plans feed channels that expect pace.
Dedupe by design
Delivery fires on transitions only: created, regressed, resolved. A finding present across twenty consecutive scans produces exactly one message, and a fix that held produces one resolved message — so the channel timeline reads as narrative instead of noise, and scrolling back reconstructs the quarter without an archive script.
Retried scans are idempotent, so infrastructure hiccups cannot manufacture duplicate alerts, and a project sitting in a broken state pages once rather than every cycle. Silence in the channel consequently carries information rather than ambiguity: the last known state has not changed since the message before it.
Limits, stated plainly
RowShield automates detection, formatting and delivery; the manual remainder is yours — choosing thresholds, deciding which channel is authoritative, and reviewing remediation SQL before it reaches a migration. No destination configuration substitutes for someone eventually reading the message and acting.
One boundary worth naming for Discord specifically: delivery goes through standard webhooks, so rotation of a compromised webhook URL happens in your server settings and updates in project settings here. Masked storage means RowShield support can identify which webhook is which without ever holding the full value.
Frequently asked
- Which plans include Discord alert delivery?
- Discord embeds are included on the Team plan alongside custom generic webhooks; Free includes HTML email and Indie adds Slack. Growth is quoted individually above that, and current rates are on the pricing page.
- Do repeated findings spam the Discord channel?
- No. Messages fire on transitions — created, regressed, resolved — and unchanged state emits nothing, including across retried scans. A persistent finding appears once and stays visible in the dashboard until its state changes.
- Can I send the same findings somewhere besides Discord?
- Yes — Team also includes generic webhooks for arbitrary destinations, and Slack Block Kit and HTML email are supported below it. Each destination carries its own severity threshold independently.
Check your project in about ten seconds
Paste a URL. No signup, no writes, nothing stored.
Run the free audit