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

# Slack

> Send Qodex scheduled test-run summaries to a Slack channel through an incoming webhook.

# Slack

Use the Slack integration when your team wants scheduled test results to land in a channel.

Qodex sends the notification when a scheduled run finishes. The message includes the run status, failed scenarios, regressions, environment, duration, cadence, and a link back to the full run.

## How Slack notifications work

Each schedule can store a webhook URL and a notification rule.

| Setting             | What it does                                     |
| ------------------- | ------------------------------------------------ |
| Webhook URL         | Destination for the run-completion notification. |
| `notifyOn: always`  | Send a message after every run.                  |
| `notifyOn: failure` | Send only when the run fails.                    |
| `notifyOn: never`   | Do not send schedule notifications.              |

If the URL host is `hooks.slack.com`, Qodex sends a Slack-formatted message. If the URL is any other HTTPS endpoint, Qodex sends the generic JSON webhook payload instead.

## 1. Create a Slack incoming webhook

In Slack, create an incoming webhook for the channel that should receive Qodex updates.

Slack returns a URL like:

```text theme={null}
https://hooks.slack.com/services/T.../B.../...
```

Keep this URL private. Anyone with it can post to that channel.

## 2. Add it to a schedule

In Qodex, open your project and go to **Schedules**.

Create or edit a schedule, paste the Slack webhook URL into the **Webhook URL** field, choose when Qodex should notify the channel, and save.

## 3. Test the notification

Run the schedule on demand or wait for the next scheduled run.

When the run finishes, the Slack channel should receive a summary with a link to the test run. If nothing arrives, check that the webhook URL is valid and that the schedule's notification rule is not set to `never`.

## Current limit

This page describes Slack incoming webhooks. A full Slack App with slash commands, bot users, threading, and richer channel controls is planned but not currently shipped.

Use [Generic webhook](/integrations-generic-webhook) if you want to route the same run event through your own relay.

## Next steps

<CardGroup cols={2}>
  <Card title="Run tests on a schedule" icon="clock" href="/run-tests-on-schedule">
    Configure the schedule that sends Slack notifications.
  </Card>

  <Card title="Generic webhook" icon="webhook" href="/integrations-generic-webhook">
    Send the same event shape to any HTTPS endpoint.
  </Card>

  <Card title="Findings overview" icon="circle-alert" href="/findings">
    Understand what failed runs mean.
  </Card>

  <Card title="Integrations" icon="plug" href="/integrations">
    Return to all integrations.
  </Card>
</CardGroup>
