Slack Integration
Receive Nadi alerts in Slack channels.
Setup
1. Connect Slack
- Go to Settings → Integrations
- Click Connect Slack
- Authorize Nadi to access your workspace
- Select a default channel
2. Configure Channels
Choose which channels can receive alerts:
- Click Manage Channels
- Add channels (public or private)
- Invite the Nadi bot to private channels
3. Create Alert Rules
- Go to Alerts → Rules
- Create a new rule
- Select Slack as the action
- Choose the target channel
Notification Format
Standard Alert
Alert Preview
New Error in my-app (production)
TypeError: Cannot read property 'name' of undefined
- Location: app/services/UserService.php:45
- Events: 23 | Users: 12
[ View in Nadi ] [ Resolve ] [ Ignore ]
Rich Context
When available, alerts include:
- Error message
- File and line number
- Event and user counts
- Environment tags
- Quick action buttons
Features
Interactive Buttons
- View in Nadi - Open issue in dashboard
- Resolve - Mark as resolved from Slack
- Ignore - Mark as ignored from Slack
- Assign - Assign to team member
Thread Replies
Enable threading to keep channels clean:
- Go to Settings → Slack
- Enable Use Threads
New events on the same issue reply to the original message.
Mentions
Mention users or groups:
yaml
actions:
- channel: slack
target: "#alerts"
options:
mention: "@oncall"Or mention the channel:
yaml
options:
mention: "<!channel>" # or "<!here>"Scheduled Digests
Receive summary digests instead of individual alerts:
- Go to Alerts → Digests
- Create a new digest
- Select frequency (hourly, daily)
- Choose Slack channel
Slash Commands
Interact with Nadi from Slack:
| Command | Description |
|---|---|
/nadi status | View current error status |
/nadi recent | Show recent issues |
/nadi resolve [issue-id] | Resolve an issue |
/nadi ignore [issue-id] | Ignore an issue |
Channel Best Practices
Channel Structure
#nadi-critical - Production errors, immediate attention
#nadi-alerts - All production alerts
#nadi-staging - Staging environment
#nadi-digests - Daily/weekly summariesPer-Team Channels
Route to team-specific channels:
yaml
# Frontend errors
conditions:
tags:
team: frontend
actions:
- channel: slack
target: "#frontend-errors"
# Backend errors
conditions:
tags:
team: backend
actions:
- channel: slack
target: "#backend-errors"Troubleshooting
Bot Not Posting
- Check bot is in the channel
- Verify channel permissions
- Re-authorize the integration
Missing Channels
- Invite Nadi bot to private channels
- Refresh channel list in settings
Rate Limits
If hitting Slack rate limits:
- Enable alert aggregation
- Use digests for high-volume alerts
- Reduce alert frequency
Security
Permissions
Nadi requests minimal permissions:
- Post messages to channels
- Read channel list
- Respond to slash commands
Data in Slack
Alerts contain:
- Error message
- File location
- Event counts
Alerts do NOT contain:
- Full stack traces
- Request data
- User PII
Next Steps
- Alert Rules - Configure rules
- Teams - Microsoft Teams
- Webhooks - Custom integrations