Overview
Slack notifications are triggered by:- New entries (
saycommand) - Ball flips (responsibility handoffs)
- Status changes (OPEN → CLOSED, etc.)
- Handoffs (explicit ball transfers)
Setup
#engineering-threads)Slack Webhook Setup
========================================
To get a webhook URL:
1. Go to https://api.slack.com/apps?new_app=1
2. Create app 'From scratch', name it 'Watercooler'
3. Go to 'Incoming Webhooks' → Toggle On
4. Click 'Add New Webhook to Workspace'
5. Select channel and authorize
Paste your webhook URL: https://hooks.slack.com/services/T.../B.../...
Testing webhook... ✓
✓ Saved to /home/user/.watercooler/config.toml
Slack notifications enabled:
✓ New entries (say)
✓ Ball flips
✓ Status changes
✓ Handoffs
Testing
Send a test notification:Notification Types
New Entry (Say)
Triggered bywatercooler say:
Ball Flip
Triggered when ball ownership changes:Status Change
Triggered bywatercooler set-status:
Handoff
Triggered bywatercooler handoff:
Configuration
Config File Location
Slack settings are stored in:Config Structure
Environment Variable
Alternatively, set via environment variable:Customization
Disable Specific Notifications
Edit~/.watercooler/config.toml:
Adjust Rate Limiting
Prevent notification spam:Multiple Channels
To send notifications to different channels, create multiple webhooks:- Create webhooks for each channel in Slack app settings
- Use environment variables for context-specific webhooks:
Advanced Integration
MCP Server Notifications
If using the MCP server, notifications are sent automatically:Custom Notification Format
For custom integrations, use the webhook directly:Thread Summary Digests
Send periodic summaries:send-digest.sh:
Disabling Notifications
Temporary Disable
Unset environment variable:Permanent Disable
Troubleshooting
Webhook URL Invalid
If you see “Invalid webhook URL format”:Test Failed
If test notification fails:-
Check webhook URL: Verify it’s correct in config
- Verify webhook is active: Go to Slack app settings → Incoming Webhooks
-
Check network connectivity:
No Notifications Received
If commands run but no Slack messages appear:-
Verify configuration:
-
Check notification settings: Ensure the event type is enabled
-
Test explicitly:
- Check rate limiting: If sending many notifications rapidly, they may be rate-limited
Rate Limited by Slack
Slack limits webhook requests to ~1 per second. If you see 429 errors:-
Increase min_notification_interval:
- Batch operations: Group multiple updates before notifying
tomlkit Not Available
If you see “tomlkit required”:Best Practices
1. Use Dedicated Channel
Create a specific channel for thread notifications:2. Configure Rate Limiting
For active projects:3. Disable Noisy Events
If ball flips happen frequently:4. Use Thread Mentions
Include relevant people in notifications:5. Test Before Production
Always test webhooks before using in CI/CD:Security
Protect Webhook URL
Treat webhook URLs as secrets:- Don’t commit to version control
- Use environment variables in CI/CD
- Rotate regularly if exposed
Regenerate Webhook
If webhook is compromised:- Go to Slack app settings → Incoming Webhooks
- Delete the compromised webhook
- Create a new webhook
- Update Watercooler config:
Integration with CI/CD
GitHub Actions
GitLab CI
Next Steps
Multi-Agent Workflows
Design collaborative workflows with Slack notifications
Branch Pairing
Get notified when paired branches are merged