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

# Notification Preferences

> Choose which channels Causeloop uses to notify you, and which events trigger a notification.

The Notifications settings page controls your personal notification preferences — the channels Causeloop uses to reach you, the minimum severity that triggers an alert, and which individual events you want to hear about.

Open it from the sidebar: **Settings → Notifications**. These are per-user settings; every member of the workspace manages their own.

<Note>
  This page covers your **personal preference settings**. For alert rule configuration — defining conditions that trigger notifications across the workspace — see [Notifications & Alerts](/product-guide/notifications-alerts).
</Note>

***

## Channels

Causeloop supports the following delivery channels. Toggle each channel on or off in the **Channels** section.

| Channel             | Description                                                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Email**           | Notifications sent to your account email address. Enabled automatically when any event has email turned on.                           |
| **Slack**           | Posts to an incoming webhook URL you provide. Paste your workspace's Slack incoming webhook URL into the **Slack webhook URL** field. |
| **Microsoft Teams** | Posts to a Teams incoming webhook URL. Paste your webhook URL into the **Teams webhook URL** field.                                   |
| **PagerDuty**       | Escalates critical events to PagerDuty. Enable the toggle and configure the integration key in the field that appears.                |

<Tip>
  To generate a Slack incoming webhook, go to your Slack workspace's **Apps → Incoming Webhooks** and create one for your preferred channel. Paste the `https://hooks.slack.com/…` URL into Causeloop.
</Tip>

***

## Alert thresholds

Use these global filters to suppress noise before per-event settings are consulted.

| Setting                         | Description                                                                                                     |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Minimum severity for alerts** | Only send alerts for issues at or above this severity level. Accepts `p1`, `p2`, `p3`, `p4`. Default: `p2`.     |
| **Minimum risk score**          | Only send alerts when the associated risk score meets or exceeds this value. 0–100. Default: `70`.              |
| **Digest frequency**            | How often to send digest emails that roll up lower-priority events. `realtime`, `hourly`, `daily`, or `weekly`. |

***

## Per-event preferences

The **Events** table lets you control each event type independently across channels (`in-app`, `email`, `slack`).

| Event key                    | When it fires                                                      |
| ---------------------------- | ------------------------------------------------------------------ |
| `new_issue_ingested`         | A new issue arrives from a connected source or is created manually |
| `issue_escalated_critical`   | An issue's severity is raised to P1                                |
| `pattern_detected`           | Causeloop identifies a new recurring pattern                       |
| `pattern_confirmed`          | A pattern reaches the confirmation confidence threshold            |
| `new_prediction`             | A new prediction is generated for an active pattern                |
| `high_confidence_prediction` | A prediction exceeds the workspace confidence threshold            |
| `recommendation_pushed`      | A fix recommendation is published for a pattern                    |
| `member_invited`             | Someone is invited to the workspace (admins)                       |
| `weekly_digest`              | A scheduled digest of the past week's activity                     |

Toggle each channel cell (`in-app`, `email`, `slack`) for each event independently. The **email** and **slack** master channel toggles reflect whether any event has that channel enabled.

***

## Saving preferences

Click **Save preferences**. The UI sends `PATCH /v1/settings/notifications` with your full preferences object.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH "https://api.causeloop.ai/v1/settings/notifications" \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "digest_frequency": "daily",
      "min_severity_for_alert": "p2",
      "min_risk_score_for_alert": 70,
      "slack_webhook_url": "https://hooks.slack.com/services/…",
      "events": [
        { "key": "pattern_detected", "in_app": true, "email": true, "slack": true },
        { "key": "new_prediction",   "in_app": true, "email": false, "slack": false }
      ]
    }'
  ```
</CodeGroup>

To retrieve current preferences:

```bash theme={null}
curl -X GET "https://api.causeloop.ai/v1/settings/notifications" \
  -H "Authorization: Bearer $TOKEN"
```

For the full REST specification see [API Reference](/api-reference/overview). To configure workspace-wide alert rules, see [Notifications & Alerts](/product-guide/notifications-alerts).
