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

# Slack Alerts

> Paradime Slack Alerts: Set up and manage alerts for dbt™ projects. Stay informed of important events and anomalies.

<Info>
  Paradime integrates natively with Elementary CLI to enable you to generate report and/or send alerts using the Bolt scheduler out of the box. **No additional installation required.**
</Info>

## Configuring Slack

### 1. Create a Slack app

Go to the [Slack page to create apps](https://api.slack.com/apps?new_app=1) and create a new app (from scratch). You can call this it "Paradime Alerts" and connect it to the workspace of your choice. You can add the Paradime logo for the Bot. **Download this** **[here](https://20146536.fs1.hubspotusercontent-na1.net/hubfs/20146536/logo-no-text-light-transparent-3x.png).**

### 2. Create a Slack token

Go to the "OAuth & Permissions" page for your newly-created app, and add the following scopes under "Bot Token Scopes":

* `channels:join` - Join public channels in a workspace
* `channels:read` - View basic information about public channels in a workspace
* `chat:write` - Send messages as \<app>
* `files:write` - Upload, edit, and delete files as \<app>
* `users:read` - View people in a workspace
* `users:read.email` - View email addresses of people in a workspace
* `groups:read` - View basic information about private channels that your slack app has been added to

### 3. Install app at your Workspace and add to your alerts Slack Channel

At the "OAuth & Permissions" page, click "Install to \[workspace\_name]" in order to generate Slack token.

## Configure a Bolt schedule with Elementary CLI

<Info>
  You can use a runtime environment variable to pass your Slack token to the `edr` command at runtime. [Check our docs here.](/products/bolt/special-environment-variables/runtime-environment-variables)
</Info>

### Alert on tests and models

Configure a [Bolt schedule](/products/bolt/index) with the `edr monitor` CLI command at the end. Ideally this should be the command after your dbt runs and tests:

```bash theme={"system"}
dbt run
dbt test
edr monitor --slack-token <your_slack_token> --slack-channel-name <slack_channel_to_post_at>
```

### Alert on source freshness failures

To alert on source freshness, you will need to run `edr run-operation upload-source-freshness` right after each execution of `dbt source freshness`. This operation will upload the results to a table, and the execution of `edr monitor` will send the actual alert.

```bash theme={"system"}
dbt source freshness
edr run-operation upload-source-freshness --project-dir .
edr monitor --slack-token <your_slack_token> --slack-channel-name <slack_channel_to_post_at>
```

<Info>
  `Note:`

  * `dbt source freshness` and `upload-source-freshness` needs to run from the same machine.
  * `upload-source-freshness` requires passing `--project-dir` argument.
</Info>


## Related topics

- [Send Elementary alerts to Slack](/products/bolt/creating-schedules/templates/observability-templates/send-elementary-alerts-to-slack.md)
- [Sending Alerts](/integrations/elementary-data/sending-alerts/index.md)
- [Trigger a Slack notification when a Bolt run is overrunning](/developers/webhooks/custom-webhook-guides/slack-notification.md)
- [Creating Bolt Schedules](/guides/paradime-101/running-dbt-in-production-with-bolt/creating-bolt-schedules.md)
- [Slack](/integrations/slack.md)
