# Slack alerts

> Create a Slack Incoming Webhook, connect it in BooleanSMTP, send a test alert, and fix the most common errors.

BooleanSMTP posts a Slack message the moment an outgoing email finally fails to send. Setup uses a Slack Incoming Webhook
you create yourself — BooleanSMTP only ever sees the webhook URL you paste in.

## Create a Slack Incoming Webhook

1. In Slack, add the **Incoming Webhooks** app to your workspace (**Apps → search "Incoming WebHooks" → Add to Slack**).
2. Choose the channel alerts should post into, then add the integration.
3. Slack shows you a **Webhook URL** that looks like `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX`.
   Copy it. Anyone with this URL can post messages into that channel, so keep it private.

## Connect Slack in BooleanSMTP

1. In the BooleanSMTP sidebar, click **Alerts**.
2. Under **Available Providers**, click the **Slack** card.

![The Connect Slack form: Friendly Label, the Incoming Webhook URL field, and the Live Channel toggle.](../../../assets/screenshots/alerts-slack.webp)

3. In **Friendly Label**, enter a name for this channel (for example "Ops Slack").
4. In **Incoming Webhook URL**, paste the URL you copied.
5. Leave **This webhook URL is proxied through a third-party relay** unchecked, unless you are intentionally routing the
   webhook through your own proxy instead of pointing straight at Slack. Checking it accepts any HTTPS URL instead of just
   `hooks.slack.com`.

## Send a test alert

1. Toggle **Live Channel** on. BooleanSMTP does not send real alerts through a channel that is off.
2. Click **Send Test**. BooleanSMTP posts a real message to Slack using the values currently in the form.
3. Click **Activate Channel** to save.

A failed test shows Slack's own error text, not just "failed" — see below for what the common ones mean.

## Common errors

**"Slack Webhook URL is required."** — the **Incoming Webhook URL** field is empty.

**"This does not look like a Slack webhook URL."** — the URL doesn't match Slack's webhook shape. Check you copied the
full URL Slack generated, not a different service's webhook — or check **This webhook URL is proxied through a
third-party relay** if you're intentionally using a proxy.

**"channel_not_found"** — the webhook was deleted, or its channel was removed. Create a new Incoming Webhook and update the
URL here.

**"channel_is_archived"** — the destination channel was archived in Slack. Unarchive it, or create a new webhook pointing
at an active channel.

**A rate-limit message** — Slack is rate-limiting this webhook. This is rare for normal alert volume; if you see it often,
several sites are likely sharing one webhook — create a separate webhook per site.

**Send Test worked, but no alerts arrive** — confirm **Live Channel** is on and the channel was saved with **Activate
Channel** (or **Update Channel**), not left unsaved in the form.

**Alerts arrive in the wrong channel** — the webhook URL fixes the destination channel in Slack; there's no separate
channel selector in BooleanSMTP. Create a new webhook against the right channel and update the URL here.

See also: [Alerts](/alerts/), [Discord alerts](/alerts/discord/), [Telegram alerts](/alerts/telegram/).
