> ## Documentation Index
> Fetch the complete documentation index at: https://docs.happyuptime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

Connect Happy Uptime to Slack for paging, channel alerts, and on-call @-mentions.

# 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

**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 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
  **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`:

```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

| 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** |