---
title: Slack alerts
description: Post Glowo alerts into a Slack channel using an incoming webhook.
sidebar:
  icon: <svg viewBox='0 0 24 24' width='100%' height='100%' fill='currentColor' xmlns='http://www.w3.org/2000/svg'><path d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/></svg>
  label: Slack
---

{/* Source of truth: packages/shared/src/notifications.ts — slackChannelSchema.
    Message shape: packages/api/src/notifications/infrastructure/dispatchers/
    slack-message.builder.ts (mrkdwn links, deliberately not Block Kit).
    Action track: packages/api/src/notifications/domain/action-track.ts */}

## Configuration

| Field | Value |
| --- | --- |
| `webhookUrl` | A Slack incoming webhook URL |

## Getting a webhook URL

1. **Create a Slack app**

    Go to [api.slack.com/apps](https://api.slack.com/apps) and create a new app
    in your workspace.

2. **Enable incoming webhooks**

    Under **Incoming Webhooks**, turn the feature on.

3. **Add it to a channel**

    Choose **Add New Webhook to Workspace** and pick the channel alerts should
    land in. Slack gives you a URL.

4. **Paste it into Glowo**

    Create a Slack channel in Glowo with that URL, then use **Test** to confirm
    the message arrives.

:::caution
The webhook URL is a secret and is bound to one Slack channel. Anyone holding it
can post to that channel. If it leaks, revoke it in Slack and create a new one.
:::

## Message format

Alerts arrive as formatted messages with the monitor name, the status change,
and links back to Glowo — including acknowledge and pause actions.

Glowo uses Slack's `mrkdwn` links rather than Block Kit buttons. Links render
consistently everywhere Slack messages are read, including notification
previews and mobile, where interactive blocks often do not.

## Action track

Slack is one of three channels (with [Discord](/alerting/discord) and
[Telegram](/alerting/telegram)) that receive an inline follow-up when an alert
is muted or reactivated, so the thread reflects what actually happened. Email,
SMS, PagerDuty and webhook channels get no such message — a standalone "muted"
email is noise when the alert itself already went out.

## Practical notes

- **One webhook per channel.** To post to `#alerts` and `#platform`, create two
  Glowo channels with two Slack webhooks.
- **Scope it.** A workspace-wide Slack channel subscribed to every event on
  every monitor becomes background noise within a week. See
  [scoping](/alerting/channels).
- Slack is for awareness, not for waking people. Pair it with
  [SMS](/alerting/sms) or [PagerDuty](/alerting/pagerduty) for out-of-hours.
