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

# Notifications

> How Prizm sends notifications when new exception records are created or existing records change status.

<script type="application/ld+json">
  {`{
            "@context": "https://schema.org",
            "@type": "TechArticle",
            "headline": "Notifications",
            "description": "How Prizm sends notifications when new exception records are created or existing records change status.",
            "url": "https://docs.dqlabs.ai/architecture/exceptions/notifications",
            "publisher": {
              "@type": "Organization",
              "name": "DQLabs Inc",
              "logo": "https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg"
            }
            }`}
</script>

<Frame />

Exception Record Notifications alert the relevant team when new failing records are written or when existing records change lifecycle state. They are separate from metric alert notifications — metric alerts fire on the aggregate result (the metric failed), exception notifications fire on the individual records (these specific rows failed).

## Notification triggers

| Trigger                   | When it fires                                      | Recipient              |
| :------------------------ | :------------------------------------------------- | :--------------------- |
| **New exception records** | A metric run writes new failing records            | Configured audience    |
| **Record assigned**       | A record is assigned or reassigned to a user       | **Assigned user only** |
| **Status change**         | A record status is updated (e.g. NEW → INPROGRESS) | Configured audience    |
| **Record aged**           | A record exceeds a configurable SLA age threshold  | Configured audience    |
| **Bulk status change**    | A batch of records is updated in one action        | Configured audience    |

<Note>
  **Assignment notifications are user-specific.** When a record is assigned to an individual user, only that user receives the assignment notification — not the full configured audience. For all other triggers, notifications go to the audience configured on the metric.
</Note>

## Notification channels

Exception notifications are delivered through the same channels configured under **Settings → Notifications**:

* Email
* Slack
* Microsoft Teams
* PagerDuty
* Webhook

## Audience configuration

For triggers that send to the configured audience, notifications can be scoped to:

| Audience            | Who receives it                                     |
| :------------------ | :-------------------------------------------------- |
| **Asset owner**     | The team or user responsible for the affected table |
| **Metric owner**    | The user who created or owns the metric             |
| **Custom audience** | A specific list of users or groups                  |

<Note>
  If no audience is configured on the metric and a record is not individually assigned, no notification is sent for audience-based triggers. Assignment notifications are always sent to the assigned user regardless of audience configuration.
</Note>

## How to configure exception notifications

<Steps>
  <Step title="Navigate to the metric">
    Open the metric whose exception records should trigger notifications.
  </Step>

  <Step title="Open Configuration → Exception">
    In the metric configuration, find the **Exception** section.
  </Step>

  <Step title="Enable Write Exception">
    Toggle **Write Exception** on. This enables both exception record capture and notification sending.
  </Step>

  <Step title="Set notification triggers">
    Choose which lifecycle events should fire notifications: new records, status changes, aging threshold, etc.
  </Step>

  <Step title="Configure audience">
    Select the audience for audience-based triggers: asset owner, metric owner, or a custom user/group list.
  </Step>

  <Step title="Save">
    Click **Save Changes**. Notifications take effect on the next metric run.
  </Step>
</Steps>

<Warning>
  Exception notifications are only sent when **Write Exception** is enabled on the metric. If a metric fails but exception writing is off, no exception records are created and no exception notifications are fired — only the standard metric alert notification fires.
</Warning>
