Slack
Slack distribution is live: connect an Incoming Webhook URL (or a bot token for the Slack Web API) and Vibgrate posts a DriftScore chat card after every scan, using the same canonical payload builder as Cortex, OpsLevel, and Backstage. RiskScore and DriftRisk™ appear in the same message once the SCA pipeline computes them for that scan.
What's live today
Slack connections push the canonical score payload as a Block Kit chat card (DriftScore, risk level, trend, top risk, top remediation, and a deep link back into Vibgrate) to a Slack Incoming Webhook URL. The first message after a scan carries DriftScore; RiskScore and DriftRisk™ are added to a second message once the SCA pipeline computes RiskScore for that scan — they're omitted, not shown as 0, until then. A Score types setting per connection (DriftScore only / DriftRisk only / both) controls whether a channel gets the first message, the second, or both — a DriftScore-only channel is never messaged about RiskScore at all. Pushes run automatically after a scan and on demand via a manual sync, gated by the integrations:write permission and logged to the delivery log like every other connection.
What's still coming
Per-channel routing rules (different event types to different channels) and OAuth-based workspace installs are not yet available — today one connection maps to one webhook URL/channel. Ticket-style Slack workflows and the stronger per-connection access-snapshot RBAC model (already used by the webhook framework) are tracked for a later pass.