Slack
Connect Happy Uptime to Slack for paging, channel alerts, and on-call @-mentions.
Slack
Happy Uptime's Slack integration handles three jobs:
- Channel alerts — post incident notifications to any channel.
- On-call paging — DM the person currently on-call (resolved live from your schedule).
- Identity linking — map Happy Uptime users to Slack users so
@mentionsand avatars work.
Install the app
Open Integrations
Go to Dashboard → Integrations → Slack.
Click Connect Slack
You'll be redirected to Slack's OAuth consent screen. Pick the workspace and the default channel for incident alerts.
Approve scopes
The app requests:
chat:write— post messageschannels:read— list public channels in the pickercommands— for/happyuptimeslash commandincoming-webhook— webhook for the channel chosen during installusers:read,users:read.email— list Slack users for identity matchingim:write— DM the person on call
Done
The selected channel is added as an alert channel automatically.
Add more channels
After install, Integrations → Slack → Channels lets you add additional channels without re-running OAuth. The channel picker is searchable and polls every 5 seconds — create a new channel in Slack and it appears immediately.
Channel names are stored without the leading #. The picker handles deduplication by (workspace_id, channel_id), so the same channel can't be added twice.
Link Slack identities
For @mentions and Slack avatars on member rows, link each Happy Uptime user to their Slack account.
Auto-match: Happy Uptime tries to match by email on first install. Anyone whose Happy Uptime email matches their Slack email is linked automatically.
Manual link: Settings → Slack Identity — pick from the list of workspace users.
When a Happy Uptime user is linked to Slack, they show as @username (U01ABCD) in member pickers, and incident DMs go to that user.
Paging the on-call person
Create an alert channel of type slack_app with notify_oncall: true:
yamlalert_channels: - id: slack-page type: slack_app channel: incidents notify_oncall: true schedule: engineering-oncall
When this channel fires, Happy Uptime:
- Resolves the current on-call person from
engineering-oncall(override > fixed shift > rotation). - Posts to
#incidentswith<@U01ABCD>mentioning the on-call person directly. - Sends them a DM with the same incident link.
If escalation is configured and the page isn't acked, the next layer is paged after the timeout.
Disconnect
Integrations → Slack → Disconnect revokes the OAuth grant and removes all linked channels. Identity links are preserved in case you reconnect.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
missing_scope | App was installed before a scope was added | Disconnect and reinstall |
| Channel list empty | Bot not in any channels | Invite @happyuptime to channels (or just pick during install) |
@mention doesn't notify | User isn't linked | Settings → Slack Identity → Link |
| Duplicate channel rows | Old install before dedup fix | Delete duplicates from Integrations → Slack → Channels |