Integration types
Internal notifications
EVO team Slack workspace receives:- Sync status reports
- Health alerts
- Daily metrics
Client workspace
Brand clients can connect their Slack:- Strategy updates
- Weekly reports
- Bidirectional chat sync (optional)
Internal Slack
Webhook notifications
Notifications sent via webhook:Configuration
Client workspace
OAuth connection
- Navigate to brand detail → Integrations
- Click “Connect Slack”
- Client authorizes EVO app
- Select notification channel
- Connection active
Notifications sent
Bidirectional chat
Optional feature linking EVO chat to Slack:- EVO messages appear in Slack
- Slack messages appear in EVO
Implementation
Slack client
File:app/services/integrations/slack_client.rb
Strategy Slack update
File:app/services/brands/strategy_slack_update.rb
Sends formatted strategy summary:
- Key points
- Link to full strategy
- Brand branding
Weekly report sender
File:app/services/weekly_reports/sender.rb
Sends report notification:
- Metric highlights
- Direct link to report
- Comparison to previous week
Channel linking
Setup
- Admin connects brand to Slack
- Select EVO channel to link
- Select Slack channel to link
- Enable bidirectional sync
Models
Webhook handling
Events endpoint
File:app/controllers/api/webhooks/slack_controller.rb
Handles:
- Message events
- Channel updates
- User presence