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

# Nobl9 Alert Integration

> Sync alerts fired by Nobl9 SLO alert policies to Flashduty On-call through the Nobl9 Webhook alert method.

Use the Nobl9 Webhook alert method to sync alerts fired by SLO alert policies to Flashduty On-call. Each Nobl9 alert (`alert_id`) maps to one Flashduty alert. The Nobl9 Webhook documentation describes no recovery notification, so alerts must be closed by the channel's auto-close timeout or manually.

<div className="hide">
  ## In Flashduty On-call

  ***

  Get the integration push URL in either of two ways.

  ### Use a dedicated integration

  1. In the Flashduty console, select **Channels** and open a channel
  2. Select **Settings** → **Integrations** → **Dedicated integrations**, then click **Add an integration**
  3. Select **Nobl9** and click **Save**
  4. Open the generated integration card and copy the **Push URL**

  ### Use a shared integration

  1. In the Flashduty console, select **Integration Center → Alert Events**
  2. Select **Nobl9** and enter an integration name
  3. Configure the default route and select a channel; add more rules under **Routes** after creation
  4. Click **Save** and copy the generated **Push URL**
</div>

## Configure in Nobl9

***

<Steps>
  <Step title="Create the Webhook alert method">
    1. In Nobl9, go to **Integrations → Alert methods** and select **Webhook**
    2. Set **URL** to the full Flashduty push URL (must start with `https://`)
    3. Select a **Project** and enter a **Name** (lowercase letters, digits and dashes)
    4. Under **Notification details**, choose the custom JSON template and paste the template below
    5. Save, then optionally click **Test** on the alert method details page. Nobl9 does not publish the test request body; if it carries no `alert_id`, Flashduty returns a parameter error, which does not mean the setup is wrong. Verify with a real alert

    ```json theme={null}
    {
      "alert_id": "$alert_id",
      "alert_policy_name": "$alert_policy_name",
      "slo_name": "$slo_name",
      "severity": "$severity",
      "timestamp": "$iso_timestamp",
      "organization": "$organization",
      "project_name": "$project_name",
      "service_name": "$service_name",
      "objective_name": "$objective_name",
      "alert_policy_conditions_text": "$alert_policy_conditions_text",
      "slo_details_link": "$slo_details_link"
    }
    ```
  </Step>

  <Step title="Attach it to an alert policy">
    Edit the alert policy to monitor and add the new Webhook alert method under **Alert methods**.
  </Step>

  <Step title="Enable auto-close">
    Enable [auto-close on timeout](/en/on-call/channel/create-edit) on the channel that receives these alerts. A duration of 24 hours is recommended.
  </Step>
</Steps>

<Warning>
  Use the template above. Nobl9's default fields do not include `alert_id`, and Flashduty rejects requests without it.
</Warning>

## Payload

***

| Field | Meaning | In Flashduty |
| :- | :- | :- |
| `alert_id` | Unique alert ID | Alert Key, label `alert_id` |
| `alert_policy_name` + `slo_name` | Alert policy and SLO names | Title (`policy: SLO`), labels `alert_policy`, `slo`, `resource` |
| `severity` | `high`, `medium` or `low` | Severity, label `severity` |
| `timestamp` | Trigger time | Description |
| `organization`, `project_name`, `service_name`, `objective_name` | Organization, project, service, objective | Labels `organization`, `project`, `service`, `objective` |
| `alert_policy_conditions_text`, `slo_details_link` | Trigger conditions, SLO details link | Description |

## Alert Key

***

Flashduty uses `alert_id` (Nobl9 docs: "Unique identifier of the alert") as the Alert Key. Repeated deliveries for the same Nobl9 alert merge into one Flashduty alert.

## Severity

***

| Nobl9 `severity` | Flashduty severity |
| :- | :- |
| `high` | Critical |
| `medium` | Warning |
| `low` | Info |
| Other or empty | Warning |

## FAQ

***

<AccordionGroup>
  <Accordion title="Do alerts recover automatically?">
    No. The Nobl9 Webhook documentation has no recovery notification. Enable auto-close on the channel, or close alerts manually in Flashduty.
  </Accordion>
</AccordionGroup>

## Troubleshooting

***

* **Nobl9 test fails**: a test request without `alert_id` is rejected, which is expected; otherwise confirm the URL is the full push URL starting with `https://` and includes `integration_key`
* **Flashduty returns a parameter error**: confirm the template contains `"alert_id": "$alert_id"`

See the official Nobl9 documentation: [Webhook alert method](https://docs.nobl9.com/alerting/alert-methods/webhook/).
