# Notification Channels

> Set up notification channels in TraceKit for Slack, Discord, Microsoft Teams, PagerDuty, OpsGenie, email, and Telegram to receive alert notifications.

- Canonical: https://tracekit.dev/docs/channels

# Notification Channels

Configure where you want to receive alert notifications. TraceKit supports Email, Slack, Telegram, Discord, Microsoft Teams, PagerDuty, and OpsGenie.

**Plan availability:**

- **All Plans:** Email, Telegram
- **Growth+:** Slack, Discord
- **Pro:** Teams, PagerDuty, OpsGenie

## Email

**All plans**

Email notifications are sent to organization owners automatically when no other channels are configured. No setup required.

When an alert fires and no notification channels are enabled, TraceKit sends an email to all organization owners with the alert details, dashboard link, and trace link.

## Slack

**Growth plan and above**

Receive alerts directly in your Slack workspace using incoming webhooks.

1. Go to [api.slack.com/apps](https://api.slack.com/apps) and create a new app "From scratch"
2. Navigate to **Incoming Webhooks** and toggle it **On**
3. Click **Add New Webhook to Workspace** and select a channel (e.g., #alerts)
4. Copy the webhook URL and paste it in TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels)

Example webhook URL format:

```
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXX
```

## Telegram

**All plans**

Get instant notifications on your phone or desktop via Telegram bot.

1. Open Telegram, search for **BotFather**, and send `/newbot`
2. Follow the prompts to name your bot and copy the **bot token**
3. Send `/start` to your bot, then visit `api.telegram.org/bot<TOKEN>/getUpdates` to get your **Chat ID**
4. In TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels), add a Telegram channel with your bot token and chat ID

## Discord

**Growth plan and above**

Receive rich embed notifications in your Discord channels with severity colors and action links.

1. Right-click the Discord channel where you want alerts and click **Edit Channel**
2. Go to **Integrations** > **Webhooks** > **New Webhook**
3. Name it (e.g., "TraceKit Alerts") and click **Copy Webhook URL**
4. In TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels), add a Discord channel and paste the webhook URL

Optional: customize the bot username, avatar, or target a specific thread.

## Microsoft Teams

**Pro plan**

Receive Adaptive Card notifications in Microsoft Teams channels via Workflows webhooks.

**Note:** Legacy O365 Connector URLs are no longer supported (retired April 30, 2026). Use Power Automate Workflows webhooks instead.

1. In Microsoft Teams, go to **Apps** > search for **Workflows**
2. Choose **"Post to a channel when a webhook request is received"**
3. Name the workflow and select the target channel
4. Copy the generated **webhook URL** and paste it in TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels)

## PagerDuty

**Pro plan**

Trigger PagerDuty incidents from TraceKit alerts with severity mapping and automatic deduplication.

1. In PagerDuty, go to **Services** > **Service Directory** and select your service
2. Go to the **Integrations** tab and click **Add Integration**
3. Select **Events API v2** and copy the **Integration Key**
4. In TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels), add a PagerDuty channel and paste the routing key

- **Severity mapping:** critical = critical, warning = warning, info = info
- **Deduplication:** Repeat firings of the same alert rule update the existing incident instead of creating new ones
- **Test notifications:** Test creates then immediately resolves an incident so nothing lingers

## OpsGenie

**Pro plan**

Create OpsGenie alerts from TraceKit with priority mapping, deduplication, and region-aware routing.

1. In OpsGenie, go to **Settings** > **Integrations** > **Add Integration**
2. Select **API** and copy the **API Key** (use the Integration API key, not the Global API key)
3. In TraceKit's [Notification Channels](https://app.tracekit.dev/alerts/channels), add an OpsGenie channel with your API key and select your region (US or EU)

**Important:** Use an **Integration API key**, not a Global API key. Global keys will be rejected because they use different permissions.

- **Priority mapping:** critical = P1, error = P2, warning = P3, info = P5
- **Deduplication:** Repeat firings update the existing OpsGenie alert via alias matching
- **Regions:** US (api.opsgenie.com) or EU (api.eu.opsgenie.com) -- select the region matching your OpsGenie instance

## Tips and Best Practices

### Use Multiple Channels

Set up Slack for teams, PagerDuty for on-call, and Telegram for personal to ensure critical alerts reach the right people.

### Separate by Severity

Route critical alerts to PagerDuty/OpsGenie for incident management, and warnings to Slack/Discord for awareness.

### Test Before Going Live

Always use the "Test" button to verify your channels work correctly before creating alert rules.

### Keep Tokens Secure

Webhook URLs, API keys, and bot tokens are sensitive. All credentials are encrypted at rest in TraceKit.

## Next Steps

- [Set Up Channels Now](https://app.tracekit.dev/alerts/channels)
- [Learn About Alert Rules](/docs/alerts)
