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

# Slack alerts for Armature workflows and monitors

> Send Slack notifications when an Armature workflow run fails or a tool monitor fires. Configure alert rules per channel or user in a few steps.

Armature can post a Slack message every time a workflow run fails, errors out, or returns a non-passing evaluator verdict — and every time a tool monitor detects a failure. Alert rules are the link between a workflow or tool monitor and a Slack channel. Each rule targets one object (a workflow or a tool monitor) and one destination channel, so you can route different failures to different channels or audiences.

## Prerequisites

* A paid Armature plan (alert rules require a paid subscription).
* A Slack workspace where you have permission to install apps.

## Setting up Slack alerts

<Steps>
  <Step title="Install the Armature Slack app">
    Go to **Alerts** in the Armature sidebar. In the destinations row at the top you will see a **Slack** card. If Slack is not yet connected, click **Connect Slack**.

    A popup opens the Slack OAuth install flow. Select the workspace you want to post to and authorize the app. When the popup closes, the card updates to show **Connected** and your workspace name.

    <Note>
      The Slack app requires three bot token scopes: `chat:write`, `chat:write.public`, and `channels:read`. Armature uses these to list public channels and send messages. No message-read or user-data scopes are requested.
    </Note>

    If you need to install the app into an additional workspace or rotate the authorization, click **Reauthorize** on the connected card at any time.
  </Step>

  <Step title="Create a new alert rule">
    Click **New rule** in the top-right of the Alerts page. The rule modal opens with Slack selected as the destination.

    Fill in the rule fields:

    | Field                       | What to enter                                                                                                    |
    | --------------------------- | ---------------------------------------------------------------------------------------------------------------- |
    | **Name**                    | A short label shown in the alerts table and in the Slack message, for example `Production evaluator regression`. |
    | **Target object**           | Choose **Workflow** or **Tool monitor** from the dropdown.                                                       |
    | **Workflow / Tool monitor** | Select the specific workflow or tool monitor to watch.                                                           |
    | **Slack workspace**         | Automatically selected if you have one workspace connected. If you have multiple, pick the right one.            |
    | **Destination**             | The Slack channel or user to notify. See [channel targets](#channel-targets) below.                              |
    | **State**                   | Leave enabled to start watching immediately, or toggle to **Paused** to save the rule without activating it.     |
  </Step>

  <Step title="Choose a channel target">
    The **Destination** field has two modes:

    **Select channel** — Armature lists the public channels in your workspace. Pick one from the dropdown.

    **Enter Slack ID** — Type a channel ID (`C1234567890`) or user ID (`U1234567890`) directly. Use this mode for private channels or DMs.

    <Tip>
      To send alerts to a private channel, invite the Armature bot to that channel first (`/invite @Armature`), then switch to **Enter Slack ID** mode and paste the channel ID. Channel IDs are found in the channel's **About** panel in Slack.
    </Tip>

    You can also type `#alerts` style names in **Enter Slack ID** mode — Armature resolves them against the installed workspace.
  </Step>

  <Step title="Save the rule">
    Click **Create Slack alert rule**. The rule appears in the alerts table with a status of **Watching — never fired**.

    Armature will post to the configured channel the next time the watched workflow or tool monitor produces a failure.
  </Step>
</Steps>

## Channel target formats

Armature accepts several formats for the **Destination** field when using **Enter Slack ID** mode:

| Format       | Example       | Notes                                                           |
| ------------ | ------------- | --------------------------------------------------------------- |
| Channel name | `#alerts`     | Resolved against the installed workspace. Public channels only. |
| Channel ID   | `C1234567890` | Works for public and private channels.                          |
| User ID      | `U1234567890` | Sends a direct message to that user.                            |

Use the **Select channel** dropdown for the simplest experience with public channels. Switch to **Enter Slack ID** whenever you need a private channel or a DM target.

## Alert rule statuses

Each rule shows one of three statuses in the alerts table:

| Status                                | Meaning                                                         |
| ------------------------------------- | --------------------------------------------------------------- |
| **Watching — never fired**            | The rule is active and has not fired yet.                       |
| **Fired** (with a relative timestamp) | The rule fired within the last 24 hours.                        |
| **Paused — won't fire**               | The rule is saved but disabled and will not send notifications. |

Rules that fired more than 24 hours ago return to a healthy watching state, showing the last-fired time.

## Pausing and resuming rules

Click the **Pause** icon on any rule row to stop it from sending notifications without deleting it. Click **Resume** to re-enable it. Pausing is useful during planned maintenance windows or when you want to silence a known noisy rule temporarily.

## Editing and deleting rules

Click the rule name or the **Edit** icon to reopen the rule modal and change the target, channel, or enabled state. Deleting a rule stops it from watching its target; delivery history for past fires is preserved.

<Warning>
  When you delete a rule, Armature stops watching the target immediately. Any in-flight notification for the current failure may still be delivered, but no future alerts will fire.
</Warning>

## Reauthorizing Slack

If the bot token becomes invalid (for example, the app is uninstalled from the Slack workspace), click **Reauthorize** on the Slack destination card and complete the OAuth flow again. Existing alert rules that reference the old integration will resume delivery once the workspace is reconnected.

## Related

* [Email alerts](/alerts/email) — notify an email address instead of a Slack channel.
