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

# Slack channels

> Send team notifications to a Slack channel with an incoming webhook

Wirespeed can post notifications to a Slack channel. You create an incoming webhook for the channel in a Slack app, then add its URL to Wirespeed as a Slack channel. Managing Slack channels, sending test messages, and choosing which notifications go to each channel require the Admin role. Other users can open a channel to see a read-only form, its status, and its delivery history, without **Send Test**.

Slack channels are for team-wide notifications. Wirespeed doesn't need access to your Slack workspace beyond the webhook, so there's no OAuth install and no bot to invite to the channel.

For workflows built in Slack's Workflow Builder, or for a custom payload, use the Webhooks notification channel instead. Slack workflow webhook URLs aren't accepted here.

## Supported notification types

Slack channels can receive these notification types:

* New Case Escalation
* New Case Auto Contained
* New System Security Event
* New Critical Defect
* Integration Health
* Account & Billing

Activity Summary is sent by email only. Slack channels receive every notification in real time; [frequency settings](https://docs.wirespeed.co/settings/notifications.md#notification-frequency) apply only to email.

## Before you start

You need permission to create apps in your Slack workspace, or an admin who can create the webhook for you.

## Step 1: Create the webhook in Slack

1. Go to [api.slack.com/apps](https://api.slack.com/apps) and select **Create New App**, then **From scratch**. Name the app (for example, "Wirespeed") and choose your workspace. If you already have an app for Wirespeed, open it instead.
2. In the app's settings, open **Incoming Webhooks** and turn on **Activate Incoming Webhooks**.
3. Select **Add New Webhook to Workspace**, choose the channel Wirespeed should post to, and select **Allow**.
4. Copy the **Webhook URL**. It starts with `https://hooks.slack.com/services/`.

Each webhook posts to the one channel you picked when you created it. To post to several channels, add a webhook for each and save each as its own Slack channel in Wirespeed.

> [!NOTE]
>
> Slack may change these screens. If what you see doesn't match, follow Slack's guide: [Sending messages using incoming webhooks](https://api.slack.com/messaging/webhooks).

The webhook URL is the only credential needed to post to the channel: anyone who has it can post messages there. Treat it like a password and don't paste it into tickets, chats, or screenshots. Slack may also revoke a webhook URL it finds published publicly. If it leaks, remove the webhook in your Slack app settings, create a new one, and paste its URL into the channel in Wirespeed.

## Step 2: Add the channel in Wirespeed

1. Go to **Settings > Notifications**.
2. On the **Slack** card, select **Connect**. If your team already has Slack channels, select the gear icon (⚙, **Manage Slack Channels**) instead.
3. Select **Add Slack Channel**.
4. Enter a **Name**. Name each webhook after its Slack channel, for example `#security-alerts`, so you can tell them apart. The name is shown in the Slack dropdown when you set up a notification.
5. Paste the **Webhook URL** you copied in step 1.
6. Optionally select **Send Test** to post a test message.
7. Select **Save**.

Wirespeed stores the webhook URL encrypted. After you save it, you can replace it but not view it. Each webhook URL can be saved as only one Slack channel per team.

When you edit a channel, the **Webhook URL** field shows `••••••••` in place of the saved URL. Leave it unchanged to keep the saved URL, or paste a new URL to replace it.

### Send Test

**Send Test** sends a sample notification to this webhook. If you've entered a new URL, the test uses that URL; otherwise it uses the saved one. Changing the URL clears the previous result.

**Accepted by Slack** means Slack accepted the request, and the message should appear in the channel shortly. Wirespeed allows up to 5 test sends per team per minute.

## Step 3: Choose which notifications to send

1. In **Settings > Notifications**, find the notification type in the **Team Account Notifications** card.
2. Select the **gear icon** (⚙, **Configure**) to open the configure dialog.
3. Turn on the **Slack Channel** switch, then choose one of your channels under **Select a Slack channel**. Add more channels, up to 10, with **Add Another Channel**.
4. Save your changes.

A channel that's already selected for this notification type, that you turned off, or that Wirespeed disabled after failed deliveries can't be selected; the menu labels it **Already selected**, **Turned off**, or **Disabled after errors**. To turn a channel back on or resolve it, select **Manage Slack Channels** at the bottom of the menu.

If your team has no Slack channels yet, the section is titled **Slack** and shows **Connect** instead.

Service providers configure client teams the same way as email inboxes. Slack channel subscriptions on your service provider team work like your other service provider subscriptions: they automatically watch all of your client accounts, so the channel receives notifications for every client team and everyone in it sees them. To send a single client team's notifications to its own channel, set it up while viewing that client team. See [Service provider behavior](https://docs.wirespeed.co/settings/notifications.md#service-provider-behavior).

## Channel status

The **Slack Channels** page lists each channel with its status. Anyone on your team with access to Notifications settings can see the status, failure count, last error, and delivery history. Only admins can change a channel.

| Status | What you see | Meaning |
| - | - | - |
| **Active** | The **Enabled** switch is on | Notifications are delivered. |
| **Failing** | An amber warning icon next to the name | Recent deliveries failed for a reason that counts toward disabling the channel. The tooltip shows how many, for example "2 of 3 failed deliveries". |
| **Turned off** | The **Enabled** switch is off. Channels with subscriptions also show **Inactive while disabled** under the subscription count | You paused the channel. Notifications to it are not sent. |
| **Disabled after failed deliveries** | A red icon next to the name and a **Re-enable** button. Channels with subscriptions also show **Inactive until re-enabled** | Wirespeed disabled the channel and paused its subscriptions. |

### Automatic disabling

Wirespeed disables a Slack channel after **three failed deliveries without a successful delivery in between**, counting only these failures:

* Slack rejects the URL or the webhook's permissions (HTTP 401 or 403, for example `invalid_token` or `action_prohibited`).
* The webhook no longer exists, or its channel was deleted (HTTP 404 or 410, for example `no_service` or `channel_not_found`).
* Slack reports that the webhook can no longer post, in another 4xx error: the channel was archived (`channel_is_archived`), the app or workspace was removed or disabled (`no_active_hooks`, `no_team`, `team_disabled`), or posting there is denied (`posting_to_general_channel_denied`, `user_not_found`).

A successful delivery resets the count. Slack outages, rate limits, and timeouts never count toward disabling a channel, and they don't reset the count either; Wirespeed retries those deliveries instead. Test sends don't count.

When a channel is disabled, its subscriptions are paused. They resume when you re-enable the channel.

### Re-enable a channel

1. On the **Slack Channels** page, select **Re-enable** on the disabled channel. The dialog shows a red banner with the last error and how to fix it.
2. Fix the cause in Slack (see [Troubleshooting](#troubleshooting)). If you created a new webhook, paste its URL in **Webhook URL**.
3. Select **Re-enable** in the red banner or **Send Test** above the footer (either reads **Retry** after a failed test) to send a test message to the URL that will be saved. If you changed the URL, the test uses the new URL.
4. When the test passes, the error banner turns gray and a green **The channel is in a healthy state.** banner appears. Select **Re-enable** in the green banner, or **Save Changes** in the footer, to save.

A passing test is required. **Save Changes** stays disabled until the test of the URL that will be saved succeeds, and editing the URL clears the result so you must test again. If the problem returns after you re-enable, the channel is disabled again after three more failed deliveries.

To pause or resume a channel yourself, use its **Enabled** switch.

### Delivery history

Open a channel by selecting its row, or by selecting the **…** (**Actions**) menu on the row and then **Edit** (**View** if you aren't an admin), and select **View Delivery History**. The dialog shows the 100 most recent deliveries, test sends, and status changes, with the **Time**, **Event**, **Type**, **Result**, and **Attempt** of each. Only tests of the channel's saved URL appear. A test of a URL you've typed but not saved isn't recorded.

## Limits

When Slack responds that a webhook is over the limit (HTTP 429), Wirespeed pauses deliveries to that channel for the wait time Slack asks for (at most 5 minutes, and 30 seconds when Slack doesn't say), then sends the pending messages. Throttling doesn't count toward disabling the channel. A notification that can't be delivered within about 6 hours is dropped instead of arriving late.

Text longer than Slack allows is shortened with an ellipsis. A message with more content than Slack's block limit is cut off and ends with a note to view the full details in Wirespeed.

## Troubleshooting

### Errors when you save the URL

| Message | Fix |
| - | - |
| Use a Slack incoming webhook URL ([https://hooks.slack.com/services/…](https://hooks.slack.com/services/…)) | The URL isn't from Slack's incoming webhooks. Create the webhook as described in [step 1](#step-1-create-the-webhook-in-slack). |
| Slack workflow webhooks aren't supported here. | The URL belongs to a Slack Workflow Builder workflow, which expects a different payload. Create an incoming webhook in a Slack app, or use the Webhooks notification channel for workflows and custom payloads. |
| This isn't a Slack incoming webhook URL. | Copy the **Webhook URL** from the app's **Incoming Webhooks** page, not from your browser's address bar. |
| Enter a valid URL | Paste the URL exactly as Slack gave it. |
| Webhook URL must start with https\:// | Copy the URL again without editing it. |
| Webhook URL must use the default https port | Copy the URL again without editing it. |
| Webhook URL must not contain a username or password | Copy the URL again without editing it. |
| This Slack webhook URL is already saved as another Slack channel | Use the existing channel, or create a second webhook for a second channel. |
| A Slack channel named "…" already exists | Channel names must be unique within a team, ignoring case. Choose another name. |

### Send Test results

| Message | Fix |
| - | - |
| Slack rejected the request (401, 403, 404, or an error such as `no_service`) | The webhook was revoked, the app was removed from the workspace, or the channel was deleted or archived. Create a new webhook and paste its URL. |
| No response from Slack within 10 seconds, or Couldn't reach Slack | Slack is slow or unavailable. Try again later. |
| Too many test notifications | Wait for the time shown, then try again. |

### Failing or disabled channels

The status tooltip and the dialog that **Re-enable** opens show the last error and a hint.

| Hint | Cause | Fix |
| - | - | - |
| The Slack channel was deleted or archived, or the webhook was revoked. | Slack returned `channel_not_found`, `no_service`, or `channel_is_archived`. | Create a new incoming webhook for the channel, then select **Re-enable** on the channel, paste the URL, send a passing test, and save with **Save Changes**. |
| Slack blocked the request. | Slack returned `action_prohibited`. The app was removed from the workspace, the webhook was revoked, or a workspace setting blocks it. | Create a new incoming webhook and paste its URL. If that doesn't help, ask your Slack workspace admin whether a setting restricts the app. |
| The saved URL can't be used. | Wirespeed couldn't use the saved URL. This never counts toward disabling a channel. | Paste the URL again. Contact support if it keeps happening. |
| Check the webhook in your Slack app settings. | Another error. | Open the app's **Incoming Webhooks** page, fix the problem, then select **Re-enable** on the channel, send a passing test, and save with **Save Changes**. |

## Edit, replace, or delete a channel

* **Rename or replace the URL:** select the channel's row, or the **…** (**Actions**) menu on the row and then **Edit**. Change the name or paste a new URL, then select **Update**. Leave the URL as is to keep the current one. Replacing the URL of a failing channel clears its error state. A channel you turned off stays off.
* **Channels disabled after failed deliveries** open with a **Re-enable** button in the red banner that sends a test, and the save button is **Save Changes**. It stays disabled until a test of the URL that will be saved passes. Saving then re-enables the channel, with or without a new URL.
* **Delete:** select the **…** (**Actions**) menu on the row, then **Delete**. Deleting a channel also deletes the subscriptions that send notifications to it, and can't be undone.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.