> ## Documentation Index
> Fetch the complete documentation index at: https://test-8ad8522e-fix-integration-docs-standard-alert-rename.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Issue Alerts

> Learn how RUM Issues trigger alerts, and how to configure alert grading and data filtering

RUM automatically aggregates error events reported by the SDK into Issues, helping you prioritize the most impactful problems, reduce service downtime, and minimize user frustration.

You can inspect Issues through daily checks in the console, or configure alert notifications to be notified the moment a problem occurs. Flashduty RUM's alerting capabilities include:

* **Alert Notifications**: Deliver Issues as alert events to Flashduty channels, notifying responders through escalation rules
* **Alert Grading**: Customize alert priority based on error attributes such as user, page, or environment
* **Data Filtering**: Filter out noise data before Errors are aggregated into Issues, reducing unnecessary alerts

## Enable Alerts

<Steps>
  <Step title="Enter Application Details">
    Go to "Application Details" - "Alert Settings" page
  </Step>

  <Step title="Enable Alerts">
    Turn on the alert switch and select multiple channels to deliver alerts to
  </Step>

  <Step title="Configure Notification Rules">
    Alert notification rules follow the escalation rules under the channel. You can set up responders for your team to assign alerts when they occur
  </Step>
</Steps>

<Frame>
  <img src="https://docs-cdn.flashcat.cloud/images/png/2bbd455a2ac702246e8399b6628f9158.png" alt="Alert Settings" />
</Frame>

<Warning>
  You must have the On-call service enabled to turn on Issue alerts. Note that the On-call service is charged based on active users, but members without a License can also receive alert notifications — even the free version has basic notification capabilities.
</Warning>

## Alert Trigger Conditions

| Trigger Condition          | Description                                                                                                                                                                                                                             |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **New Issue**              | An error event causes a new Issue to appear, triggering an alert event                                                                                                                                                                  |
| **Issue Update**           | Error events continue to merge into an unclosed Issue (For Review, Reviewed), and more than 24 hours have passed since the last alert event, a new alert event will be triggered                                                        |
| **Issue Reopened**         | A new error merges into a closed Issue, causing the Issue to be reopened (regression)                                                                                                                                                   |
| **Issue Priority Upgrade** | When a higher-priority error event enters a lower-priority Issue, the Issue priority is automatically upgraded and a new alert event is triggered. For example, a P2 Issue receiving an error matching a P0 rule will be upgraded to P0 |

<Note>
  * An Issue triggers an alert event, which is delivered to the channel
  * Whether an alert notification is triggered depends on your integration configuration, noise reduction configuration, and escalation rule configuration under the channel
  * When an Issue is closed, the system triggers a close-type alert event, and its associated incident may automatically recover
</Note>

## Alert Severity

### Default Grading Rules

If no custom alert grading rules are configured, the severity of alert events triggered by Issues is automatically determined by the system:

<Tabs>
  <Tab title="Basic Judgment">
    | Condition                              | Severity |
    | -------------------------------------- | -------- |
    | Issue has existed for more than 7 days | Info     |
    | Crash issue                            | Critical |
  </Tab>

  <Tab title="Scoring System">
    Determine level through accumulated score:

    | Score Range | Severity |
    | ----------- | -------- |
    | ≥70 points  | Critical |
    | ≥40 points  | Warning  |
    | \<40 points | Info     |
  </Tab>

  <Tab title="Scoring Factors">
    | Factor                 | Scoring Rule                                                                    |
    | ---------------------- | ------------------------------------------------------------------------------- |
    | **Environment Impact** | Production (50 pts), Staging (30 pts), Other (10 pts)                           |
    | **Error Keywords**     | Contains critical keywords (+30 pts) or warning keywords (+15 pts)              |
    | **Suspected Cause**    | API failure (+20 pts), Code exception (+15 pts), Unknown/Network error (+5 pts) |
    | **Issue Duration**     | Over 24 hours (+20 pts), Over 12 hours (+10 pts)                                |
  </Tab>
</Tabs>

### Custom Alert Grading

You can configure custom alert grading rules in "Alert Settings" to set alert priority (P0 / P1 / P2) based on error attributes, enabling more granular alert control.

Custom grading rules are evaluated when an Error is reported, producing a "preset priority". When the Error is aggregated into an Issue:

* **New Issue**: The Issue priority is determined by the preset priority of the first Error
* **Matching existing Issue**: If the Error's preset priority is higher, the Issue priority is automatically upgraded (never downgraded)
* **No rule matched**: Default priority P2 is used

Each grading rule consists of the following elements:

| Element              | Description                                                                                  |
| -------------------- | -------------------------------------------------------------------------------------------- |
| **Rule Name**        | A name for easy identification and management                                                |
| **Match Conditions** | Filter conditions based on Error attributes; multiple conditions within a rule use AND logic |
| **Alert Level**      | Priority assigned on match: P0 (Critical) / P1 (Warning) / P2 (Info)                         |

Rules are evaluated from top to bottom in priority order; **the first matching rule takes effect immediately**, and subsequent rules are not checked. You can drag and drop rules to adjust their priority order.

<Tip>
  Each application supports a maximum of **6** alert grading rules. Each rule supports up to **2** OR condition groups, each group up to **3** AND conditions, and each condition up to **8** match values.
</Tip>

#### Supported Match Fields

| Field                                     | Description                             | Example                         |
| ----------------------------------------- | --------------------------------------- | ------------------------------- |
| User ID (`error.usr_id`)                  | User identifier that reported the error | `vip_001`                       |
| User Email (`error.usr_email`)            | User email address                      | `*@vip.com`                     |
| Page URL (`error.view_url`)               | Full page URL where the error occurred  | Contains `/payment`             |
| Error Type (`error.error_type`)           | Error type classification               | `TypeError`, `SyntaxError`      |
| Error Message (`error.error_message`)     | Error description text                  | Contains `Cannot read property` |
| Stack (`error.error_stack`)               | Error stack trace                       | Contains `at handleClick`       |
| Environment (`error.env`)                 | Environment where the error occurred    | `production`, `staging`         |
| Service (`error.service`)                 | Service the error belongs to            | `payment`                       |
| Version (`error.version`)                 | Application version                     | `1.2.0`                         |
| Browser (`error.browser_name`)            | Browser name                            | `Chrome`, `Safari`              |
| Browser Version (`error.browser_version`) | Browser version number                  | `120.0`                         |
| Is Crash (`error.is_crash`)               | Whether it's a crash error              | `true`                          |

Match operators support "contains" and "not contains".

#### Configuration Examples

<AccordionGroup>
  <Accordion title="VIP user errors — immediate alert">
    Set the highest priority for VIP user errors to ensure immediate response:

    * Match condition: User ID contains `vip`
    * Alert level: P0 (Critical)
  </Accordion>

  <Accordion title="Payment page errors — prioritized handling">
    The payment page is a critical business flow; related errors need priority handling:

    * Match condition: Page URL contains `/payment`
    * Alert level: P1 (Warning)
  </Accordion>

  <Accordion title="Production crashes — immediate alert">
    Production crashes require immediate response:

    * Match condition: Environment contains `production`, AND Is Crash contains `true`
    * Alert level: P0 (Critical)
  </Accordion>
</AccordionGroup>

<Tip>
  * Issue priority can only be upgraded, never downgraded, ensuring important problems are not deprioritized by subsequent lower-priority errors
  * To adjust priority based on Issue impact (e.g., affected user count or error count), configure it in the Flashduty [Alert Pipeline](/en/on-call/integration/alert-integration/alert-pipelines)
</Tip>

## Data Filtering

Data filtering allows you to filter out unwanted noise data **before** Errors are aggregated into Issues. Filtered Errors will not participate in Issue aggregation or trigger alerts.

You can add filter rules in "Alert Settings". Each rule can have multiple match conditions with AND logic within the same rule. Supported match fields are the same as [Custom Alert Grading](#custom-alert-grading).

| Scenario                          | Example Rule                                 |
| --------------------------------- | -------------------------------------------- |
| Exclude third-party script errors | Error Stack contains `cdn.third-party.com`   |
| Exclude known harmless errors     | Error Message contains `ResizeObserver loop` |
| Exclude debug page errors         | Page URL contains `/debug`                   |

<Tip>
  * Filtered Errors will not participate in Issue aggregation or alerting, but the data is still retained and can be viewed in the Explorer using filter conditions
  * If you only want to temporarily suppress certain alerts while retaining Issue data, use the "Alert Drop" feature in the Flashduty Alert Pipeline
</Tip>

## Integration with Flashduty

RUM alerts work in deep collaboration with Flashduty, forming a complete alert processing chain:

| Layer            | Configuration Location       | Core Capability                                            | Use Cases                                                                 |
| ---------------- | ---------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------- |
| Data Filtering   | RUM Alert Settings           | Filter noise Errors                                        | Permanently ignore third-party script errors, debug page errors, etc.     |
| Alert Grading    | RUM Alert Settings           | Set priority based on Error attributes                     | VIP user alerts, critical page alerts, etc.                               |
| Alert Processing | Flashduty Integration Config | Title customization, priority adjustment, drop/suppression | Adjust level based on affected user count, suppress repeated alerts, etc. |
| Alert Dispatch   | Flashduty Channel            | Routing, on-call scheduling, notification channels         | Dispatch to different teams, configure notification methods, etc.         |

You can further process RUM alerts in the Flashduty [Alert Pipeline](/en/on-call/integration/alert-integration/alert-pipelines), such as adjusting alert levels based on affected user count, suppressing repeated alerts by time window, or customizing alert title formats.

## Further Reading

<CardGroup cols={2}>
  <Card title="RUM Alert Noise Reduction" icon="sliders" href="/en/rum/best-practices/alert-noise-reduction">
    Typical scenario configurations to quickly reduce unnecessary alert noise
  </Card>

  <Card title="Alert Pipeline" icon="filter" href="/en/on-call/integration/alert-integration/alert-pipelines">
    Clean, transform, and filter alerts at the integration layer
  </Card>

  <Card title="Noise Reduction" icon="volume-slash" href="/en/on-call/channel/noise-reduction">
    Aggregate and suppress alerts at the channel level
  </Card>

  <Card title="Escalation Rules" icon="route" href="/en/on-call/channel/escalation-rule">
    Configure escalation rules to route alerts to the right responders
  </Card>
</CardGroup>
