Koalrdocs
Integrations

Slack Integration

Connect Slack to receive CODEOWNERS drift alerts, coverage notifications, standup digests, and weekly insights.

The Slack integration lets Koalr deliver notifications directly to your team's Slack channels. You choose which notification types to enable and which channels to route them to.

Connecting Slack

Koalr connects to Slack using a Slack OAuth bot token.

OAuth connection steps

  1. Go to Settings → Integrations in Koalr.
  2. Click Connect Slack.
  3. You are redirected to Slack's OAuth authorization page.
  4. Select the Slack workspace you want to connect.
  5. Review the requested permissions and click Allow.
  6. You are redirected back to Koalr.

Permissions requested

Koalr requests the following Slack bot token scopes:

ScopeWhy we need it
chat:writePost messages and notifications to channels
channels:readList public channels so you can select notification destinations in Koalr
users:readLook up Slack users by email to mention specific team members in alerts
users:read.emailRequired alongside users:read to match Koalr users to Slack accounts by email

Koalr only posts to channels you explicitly configure as notification destinations. We do not read message history or access private channels unless the Koalr bot is explicitly invited to them.

Notification types

After connecting Slack, you configure notification destinations per notification type. Each type can be routed to a different channel.

CODEOWNERS drift alerts

When Koalr detects that your CODEOWNERS files have drifted from actual file ownership patterns, it sends an alert to the configured drift channel. The alert includes:

  • Repository name
  • Number of files with ownership drift
  • Link to the CODEOWNERS drift report in Koalr

Configure the drift alert channel in Settings → Integrations → Slack → CODEOWNERS Drift.

Coverage threshold alerts

When a repository's test coverage drops below its configured minimum threshold, Koalr sends a Slack alert. The alert includes:

  • Repository name and current coverage percentage
  • The configured threshold that was breached
  • Link to the coverage dashboard for that repository

Configure coverage alert channels per repository in Settings → Integrations → Coverage. See Coverage threshold alerts for details.

Standup digest

Koalr can send a daily standup digest to an engineering channel summarizing:

  • PRs opened, merged, and awaiting review across all repositories
  • Blocked PRs (open for more than 2 days with no activity)
  • Any high-risk deployments from the previous day

The standup digest sends at a configurable time (default: 9:00 AM in the organization's timezone). Configure it in Settings → Integrations → Slack → Standup Digest.

Weekly insights

At the end of each work week, Koalr sends a weekly insights summary to a configured channel. The summary includes:

  • DORA metric trends (week-over-week comparison)
  • Top contributors by PRs merged
  • Any teams or repositories with concerning trends

Configure the weekly insights channel in Settings → Integrations → Slack → Weekly Insights.

Inviting the Koalr bot to private channels

By default, the Koalr bot can only post to public channels. To route notifications to a private channel:

  1. Open the private channel in Slack.
  2. Type /invite @Koalr and press Enter.
  3. The bot is now a member of the private channel and can post there.
  4. In Koalr's notification settings, the private channel will appear in the channel selector after the bot is invited.

Mentioning users in alerts

When Koalr can match a Koalr user to a Slack account by email address, alerts will include a direct Slack mention (@username) for the responsible team member. This works for CODEOWNERS drift alerts (mentions the file owner) and coverage alerts (mentions the last committer).

Disconnecting Slack

To disconnect Slack, go to Settings → Integrations → Slack and click Disconnect. All notification subscriptions are paused immediately. Reconnecting Slack restores the previously configured notification channels.