Slack Integration
Configure Slack notifications to keep your team informed about feature flag activity, stale alerts, and cleanup PRs.
The Slack integration sends real-time notifications to your team's Slack channels. Stay informed about flag detection, stale flag alerts, and automated cleanup PRs without leaving Slack.
Features
| Notification Type | Description |
|---|---|
| Flag Detection | When flags are added or removed in PRs |
| Stale Flag Alerts | When flags exceed the stale threshold |
| Cleanup PR Created | When FlagShark creates a removal PR |
Setting Up Slack
Step 1: Create a Slack App
Step 2: Enable Incoming Webhooks
Screenshot needed: unknown → unknown
Step 3: Configure in FlagShark
#flagshark)Configuration Options
| Setting | Description | Default |
|---|---|---|
| Enabled | Master toggle for Slack notifications | Off |
| Webhook URL | Your Slack incoming webhook URL | Required |
| Channel | Target Slack channel (for display only) | #flagshark |
| Stale Flag Alerts | Send alerts when flags become stale | On |
| PR Comments | Send notifications for PR flag activity | On |
Notification Examples
Flag Detection
When FlagShark detects flags in a pull request:
🔵 Flags Detected in PR
Repository: acme/web-app
Pull Request: #142 - Add new checkout flow
Author: @jane-smith
Flags Added:
• enable-new-checkout
• feature-express-shipping
View in FlagShark →
Color coding:
- Blue attachment — Flags added
- Green attachment — Flags removed
Stale Flag Alert
When flags exceed your stale threshold:
⚠️ Stale Flags Detected
Repository: acme/web-app
3 flags are older than 90 days
Flags requiring attention:
• enable-dark-mode (102 days)
• feature-recommendations (95 days)
• experiment-pricing (91 days)
Review in FlagShark →
Cleanup PR Created
When FlagShark creates an automated removal PR:
✅ Cleanup PR Created
Repository: acme/web-app
Flag: enable-new-checkout (127 days old)
FlagShark has created a PR to remove this flag:
PR #156: Remove feature flag: enable-new-checkout
Review PR →
Message Formatting
Slack notifications use rich formatting:
| Element | Purpose |
|---|---|
| Header | Notification type with emoji |
| Repository | Which repo was affected |
| Details | Flag names, ages, PR info |
| Links | Direct links to FlagShark and GitHub |
| Color | Visual indicator of notification type |
| Timestamp | When the event occurred |
Channel Strategy
Single Channel
The simplest approach is a single #flagshark channel for all notifications:
Pros:
- Easy to set up
- All flag activity in one place
- Good for small teams
Cons:
- Can get noisy for large teams
- Mixes different notification types
Multiple Channels
For larger organizations, consider multiple webhooks:
| Channel | Notifications |
|---|---|
#flagshark-alerts | Stale flag alerts only |
#flagshark-activity | PR detection activity |
#eng-cleanup | Cleanup PR notifications |
Team-Specific Channels
Route notifications to team-specific channels:
#frontend-flags— Frontend repository activity#backend-flags— Backend repository activity#mobile-flags— Mobile app activity
Best Practices
Reduce Notification Noise
- Adjust stale threshold — Increase from 90 to 120 days
- Disable PR notifications — Keep only stale alerts if flag detection is too noisy
- Create a dedicated channel — Separate from your main engineering channel
Ensure Important Alerts Get Seen
- Set channel notifications — Configure Slack to notify for all messages in the FlagShark channel
- Pin important alerts — Pin stale flag alerts for visibility
- Create a weekly review — Schedule time to review the channel
Integration with Workflows
- Triage stale flags weekly — Review stale alerts in sprint planning
- Assign cleanup PRs — When a cleanup PR notification arrives, assign it
- Track in your issue tracker — Create tickets from Slack messages
Troubleshooting
Notifications Not Appearing
Check these common issues:
- Webhook URL incorrect — Verify you copied it correctly
- Integration disabled — Check the master toggle in Settings
- Channel archived — Ensure the Slack channel still exists
- App uninstalled — The Slack app may have been removed
Test Your Webhook
Run this command to verify your webhook works:
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Test from FlagShark setup"}' \
YOUR_WEBHOOK_URL
If you see the message in Slack, the webhook is working.
Webhook Expired
Slack webhooks can stop working if:
- The Slack app is uninstalled and reinstalled
- The channel is deleted and recreated
- Workspace settings change
Solution: Create a new webhook and update it in FlagShark settings.
Missing Notifications
If some notifications aren't appearing:
- Check notification settings — Ensure the specific type is enabled
- Review timing — Stale alerts run daily, not in real-time
- Check filters — Some flags may be excluded (permanent flags list)
Security Considerations
Webhook Security
- Webhook URLs should be treated as secrets
- Anyone with the URL can post to your channel
- Rotate webhooks periodically if concerned
Data in Notifications
Slack notifications include:
- Repository names
- Flag names
- PR titles and numbers
- Usernames
They do not include:
- Source code
- Full file contents
- API keys or secrets
Compliance
For compliance-sensitive environments:
- Use a private channel for FlagShark notifications
- Review Slack's data retention policies
- Consider audit logging requirements
Enterprise Features
Enterprise plans include additional Slack features:
| Feature | Description |
|---|---|
| Multiple webhooks | Different channels for different notification types |
| Custom formatting | Customize message templates |
| Repository routing | Route by repository to specific channels |
| Slack app installation | Direct Slack app (no webhook needed) |
Contact sales@flagshark.io for enterprise features.