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
- Go to Settings → Integrations in Koalr.
- Click Connect Slack.
- You are redirected to Slack's OAuth authorization page.
- Select the Slack workspace you want to connect.
- Review the requested permissions and click Allow.
- You are redirected back to Koalr.
Permissions requested
Koalr requests the following Slack bot token scopes:
| Scope | Why we need it |
|---|---|
chat:write | Post messages and notifications to channels |
channels:read | List public channels so you can select notification destinations in Koalr |
users:read | Look up Slack users by email to mention specific team members in alerts |
users:read.email | Required 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:
- Open the private channel in Slack.
- Type
/invite @Koalrand press Enter. - The bot is now a member of the private channel and can post there.
- 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.