Slack

Happy Uptime's Slack integration handles three jobs:

  1. Channel alerts — post incident notifications to any channel.
  2. On-call paging — DM the person currently on-call (resolved live from your schedule).
  3. Identity linking — map Happy Uptime users to Slack users so @mentions and avatars work.

Install the app

1

Open Integrations

Go to Dashboard → Integrations → Slack.

2

Click Connect Slack

You'll be redirected to Slack's OAuth consent screen. Pick the workspace and the default channel for incident alerts.

3

Approve scopes

The app requests:

  • chat:write — post messages
  • channels:read — list public channels in the picker
  • commands — for /happyuptime slash command
  • incoming-webhook — webhook for the channel chosen during install
  • users:read, users:read.email — list Slack users for identity matching
  • im:write — DM the person on call
4

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.

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:

yaml
alert_channels: - id: slack-page type: slack_app channel: incidents notify_oncall: true schedule: engineering-oncall

When this channel fires, Happy Uptime:

  1. Resolves the current on-call person from engineering-oncall (override > fixed shift > rotation).
  2. Posts to #incidents with <@U01ABCD> mentioning the on-call person directly.
  3. 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

SymptomCauseFix
missing_scopeApp was installed before a scope was addedDisconnect and reinstall
Channel list emptyBot not in any channelsInvite @happyuptime to channels (or just pick during install)
@mention doesn't notifyUser isn't linkedSettings → Slack Identity → Link
Duplicate channel rowsOld install before dedup fixDelete duplicates from Integrations → Slack → Channels
Ask a question... ⌘I