How it works
The system has three layers:- Workspace Connection links your Slack workspace to Mission Control via OAuth. The bot gets installed into your workspace and joins the channels you invite it to.
- Notification Rules control which event types get sent to which channels. Each rule maps a notification type (e.g., “Outlier Alerts”) to a specific Slack channel.
- Automated Dispatch fires notifications in real-time when events occur — no polling or manual triggers needed.
The bot can only post to channels it has been invited to. If a channel doesn’t appear in the dropdown, invite the bot to that channel first in Slack.
Connecting your workspace
1
Go to Administration > Slack Settings
Navigate to the Slack Settings page under Administration in the sidebar.
2
Click Add to Slack
Click the Add to Slack button. You’ll be redirected to Slack’s OAuth consent screen.
3
Authorize the app
Select the workspace you want to connect and click Allow. You’ll be redirected back to Mission Control with a success message.
4
Invite the bot to channels
In Slack, go to each channel where you want notifications and type
/invite @Houston. The bot needs to be a member of a channel before it can post there.Agency vs Client installs
- Agency users who install the app get the workspace flagged as an agency workspace. They can route notifications for any of their clients.
- Client users who install get a client workspace scoped to their account. Their notifications are automatically scoped to their own data.
Configuring notifications
Switch to the Notifications tab to manage notification rules.Adding a notification
1
Click Add Notification
Click the Add Notification button in the top right.
2
Select a channel
Type to search for a Slack channel. Only channels the bot has been invited to will appear.
3
Choose the notification type
Select what type of event should trigger a message to this channel:
4
Select a client (agency users only)
Agency users with access to multiple clients will see a Client dropdown. Choose a specific client to scope the notification, or leave it as All Clients to receive notifications for every client.Client users don’t see this field — their notifications are automatically scoped to their account.
5
Toggle active and save
The Active toggle lets you temporarily disable a notification without deleting it. Click Add Notification to save.
Daily digest
The daily digest sends a summary to configured channels at a set time each day. Configure it on the Connection tab:- Toggle Daily Digest on for the workspace
- Select the send time from the dropdown
- Click Save
- Notes summary (count by status)
- Outlier summary (count by severity)
- Key metrics snapshot
The daily digest requires the Celery Beat scheduler to be running. See the deployment section below.
Houston in Slack
When an outlier alert is posted, it includes an Ask Houston button. Clicking it starts a threaded conversation with Houston, Mission Control’s AI copilot, directly in Slack. Houston has access to the same tools as the web chat:- Channel performance metrics
- Outlier occurrence details
- Notes and reports
- Customer data
--client <client_id> in your first message to set the context, or ask Houston to switch by mentioning a client name.
Deployment
The Slack integration requires three background processes alongside the Django web server:Slack Bot (Socket Mode)
Celery Worker
Celery Beat
Environment variables
The bot and app tokens are stored per-workspace in the database after OAuth installation. The
SLACK_BOT settings dict in settings.py provides fallback tokens for the Socket Mode bot process.
.png?fit=max&auto=format&n=Frm2GFbmok4D-yJA&q=85&s=93c3ebd47542af65d1cd06d8563a7f6e)