> ## 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.

# Set up alerts

> Use Bolt alert templates to control exactly what your Slack and Microsoft Teams failure notifications say, with Jinja2 variables for run and error context.

Alert templates let you control exactly what your Bolt notifications say, using Jinja2 to surface run status, command details, and error context. Create a template once, then attach it to any channel across your schedules.

<Note>
  **Prerequisites**

  * A [Bolt schedule](/guides/paradime-101/running-dbt-in-production-with-bolt/creating-bolt-schedules) you can edit.
  * A [Slack or Microsoft Teams notification channel](/guides/paradime-101/running-dbt-in-production-with-bolt/setting-up-notifications) configured on the schedule.

  Estimated time: 10 minutes.
</Note>

## Steps

<Steps>
  <Step title="Create a template">
    1. Go to **Bolt > Alert templates** in the top navigation.
    2. Select **+ New template**.
    3. Give the template a name.
    4. Write the message using plain text, template variables, and Jinja expressions.
    5. Save the template.

    Templates expose variables such as `{{ status }}`, `{{ run_link }}`, `{{ duration }}`, the per-command `{{ commands }}` list, and error context via `{{ error_command }}` and `{{ error_output }}`, so you can push a fully formatted failure alert straight into your incident channel.
  </Step>

  <Step title="Attach it to a schedule">
    1. Open the Bolt schedule you want to configure.
    2. Go to the **Notification settings** tab.
    3. Under **Notification destinations**, find the Slack or Teams channel to customize.
    4. Select your saved template from the template dropdown on that channel row.
    5. Select **Deploy** to save.
  </Step>
</Steps>

<Check>
  Trigger a run (or wait for the next failure) and confirm the alert lands in your channel formatted by your template. If the message shows raw variables, check the Jinja syntax in the template editor's preview.
</Check>

## Next steps

<CardGroup cols={2}>
  <Card title="Set up self-healing" href="/guides/orchestrate-data-pipelines/set-up-self-healing" icon="shield">
    Automatically open a fix PR when a run fails.
  </Card>

  <Card title="Set up notifications" href="/guides/paradime-101/running-dbt-in-production-with-bolt/setting-up-notifications" icon="bell">
    Configure the channels alerts are sent to.
  </Card>

  <Card title="Alert templates reference" href="/products/bolt/creating-schedules/alert-templates" icon="braces">
    All template variables and options.
  </Card>
</CardGroup>


## Related topics

- [Set up self-healing](/guides/orchestrate-data-pipelines/set-up-self-healing.md)
- [PII Anonymization with dbt™ Mesh Setup](/guides/pii-anonymization-with-dbt-tm-mesh-setup.md)
- [Send failures to your incident tools](/guides/orchestrate-data-pipelines/send-failures-to-incident-tools.md)
- [Set up notifications](/guides/paradime-101/running-dbt-in-production-with-bolt/setting-up-notifications.md)
- [Configure Alerts](/products/radar/real-time-alerting/configure-alerts.md)
