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

# Slack

> Send Validio notifications to designated Slack channels.

The Slack integration lets you send Validio data quality notifications to designated Slack channels, with optional interactive message features for triaging incidents directly from Slack.

![A Slack channel showing a Validio incident notification with a metric graph and a reply thread](https://mintcdn.com/validio/h4NQPs1kJwlpB1Yj/images/docs/integrations/900-slack-notification-thread.png?fit=max\&auto=format\&n=h4NQPs1kJwlpB1Yj\&q=85\&s=432a61c92896b172a4d5ca7adae107e9)

Slack notifications with metric graph and management options in threads

In Validio, you configure Slack in two steps: create a Slack **integration** that holds the app credentials once, then create one or more **channels** that point that integration at specific Slack channels.

## Prerequisites for adding a Slack integration

Before creating the Slack integration in Validio, you must create and configure an app in Slack with the necessary permission scopes to communicate with your Validio installation. Follow the step-by-step instructions in [Setting up a Slack App for Validio](https://docs.validio.io/docs/integrations/notification-channels/slack/slack-app-setup-for-validio.md).

After completing the Slack app setup you should have:

* A **Bot User OAuth Token** with the `xoxb-` prefix. You can find and generate this token under **Features > OAuth & Permissions > OAuth Tokens**. (You will need to install the app to your workspace to generate the token.) Validio uses the bot token to authenticate your app for sending messages.
* *(Required only if you enable interactive messages.)* An **App-Level Token** with the `xapp-` prefix. You can find and generate this token under **Settings > Basic Information > App-Level Token**. Validio uses the app token to retrieve user events from Slack.
* *(Required only if you enable interactive messages.)* **Socket Mode** enabled on the Slack app. Navigate to **Settings > Socket Mode > Connect using Socket Mode** to enable the feature.
* The **Channel ID** of each Slack channel you plan to notify. You can find the channel ID in the Slack channel's details.

## Network requirements

If your Validio installation runs behind a firewall or HTTP proxy, allowlist the Slack endpoints below so Validio can send notifications and, when enabled, power interactive messages. For HTTP proxy configuration, see [VPC Communication](https://docs.validio.io/docs/deployment/virtual-private-cloud/vpc-communication-and-services.md).

Validio communicates with Slack over the Slack Web API on `slack.com` (HTTPS). When interactive messages are enabled, Validio also opens a Socket Mode WebSocket connection.

| Endpoint | Protocol | Used for | Required |
| :- | :- | :- | :- |
| `slack.com` | HTTPS | Sending/updating notifications, uploading metric graphs, reading workspace users | Always |
| `wss-primary.slack.com`, `wss-backup.slack.com`, `wss-mobile.slack.com` | WebSocket | Socket Mode connection for interactive messages | Only with interactive messages |

Validio opens the WebSocket connection to a URL that Slack returns dynamically from `slack.com/api/apps.connections.open`. In practice this resolves to one of the `wss-*.slack.com` hosts above, but Slack assigns it at connection time, so allowlist all three.

### Path-based allowlisting

If your proxy or firewall filters by path rather than host, allowlist these Slack Web API paths on `slack.com`:

* `/api/apps.connections.open` *(interactive messages only)*
* `/api/auth.test`
* `/api/users.list`
* `/api/views.open`
* `/api/chat.postMessage`
* `/api/chat.update`
* `/api/files.getUploadURLExternal`
* `/api/files.completeUploadExternal`

The Socket Mode WebSocket uses a dynamic path (`wss://wss-*.slack.com/link/…`) and cannot be pinned to a fixed path.

## Create a Slack integration

1. In Validio, navigate to **Workspace > Integrations** and click **+ New integration**.
2. From the **Integration type** list, select **Slack**.
3. Enter a **Name** for the integration, for example "Production Slack".
4. Enter the **Bot token** from your Slack app.
5. (Optional) Enable **Interactive messages** so users can manage incidents directly from Slack. When this option is enabled, the **App-level token** field is required — enter the App-Level Token you generated for your Slack app.
6. (Optional) Click **Test integration** to verify the connection.
7. Click **Create integration**.

![The Slack integration form, showing bot token and interactive messages options](https://mintcdn.com/validio/h4NQPs1kJwlpB1Yj/images/docs/integrations/900-slack-integration.png?fit=max\&auto=format\&n=h4NQPs1kJwlpB1Yj\&q=85\&s=4ec081f37fa535c97f8329da7df04012)

Slack integration configuration

## Create a notification channel for Slack

After the integration is created, add a channel that points to a specific Slack channel.

1. In Validio, navigate to **Notifications > Channels** and click **+ New channel**.
2. Under **Integration**, select the Slack integration you created.
3. Enter a **Name** for the channel. This name is used when you reference the channel from notification rules.
4. Enter the **Slack channel ID** of the destination channel in your Slack workspace. You can find the channel ID in the Slack channel details.
5. Select the **Namespace** where the channel will be created. Only users who are assigned to the same namespace will have access to this channel.
6. Click **Create**.

### Slack channel configuration parameters

| Field | Description |
| :- | :- |
| Integration | Select an existing Slack integration. If no Slack integration exists, create one first at **Workspace > Integrations**. |
| Name | Identifier for this Validio channel, used to label it in the channels list. |
| Slack channel ID | ID of the channel in your Slack workspace where notification messages will be sent. |
| Namespace | Namespace where the channel will be created. Only users who are assigned to the same namespace will have access to this channel. |

### Notifying multiple Slack channels with one integration

You can reuse a single Slack integration for many Slack channels. Create a new Validio channel for each Slack channel and select the same integration; only the **Slack channel ID** differs between them.

## Slack notification

![A Validio Slack notification zoomed in on the metric graph, with incident management options in the thread](https://mintcdn.com/validio/h4NQPs1kJwlpB1Yj/images/docs/integrations/900-slack-notification-graph.png?fit=max\&auto=format\&n=h4NQPs1kJwlpB1Yj\&q=85\&s=f8f712264a2734692e1a12836d6b9270)

Example of a Slack notification, zoomed in on the metric graph and with management options in threads

When a notification rule on the Slack channel triggers, a notification is sent to the specified Slack channel. Incident notifications are grouped together and details are provided in threads. You can update the status and owner, mute future notifications, and add comments within the message thread. For more information, see [Adding Notification Rules](https://docs.validio.io/docs/notifications/notification-rules.md).

Incident notifications also show the incident **priority** in the message body, so on-call engineers can route the alert without opening Validio.

### Tagging owners in Slack messages

A notification rule on a Slack channel can @-mention the incident owner in the messages it sends, so the person responsible is pulled into the thread. Turn on **Mention owners in notifications** on the rule to enable it — the option is off by default, and you do not need **Interactive messages** to use it. When it is enabled, Validio adds an **Owner** field with the mention to the incident message.

Validio matches the owner to a Slack user by email address, so the email on the Validio user account must match the one on their Slack account. If the source or validator has no owner, or the owner has no matching Slack user, the notification is still sent — it simply arrives without a mention. For more information, see [Mention Owners in Notifications](https://docs.validio.io/docs/notifications/notification-rules.md#mention-owners-in-notifications).

> [!NOTE]
>
> **Notifications on Backfilled Validators**
>
> Validio does not send notifications for incidents when backfilling validators.
