> ## 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.

# JumpCloud Alert Integration

> Send JumpCloud Insights alerts to Flashduty On-call through a webhook notification channel.

Send alerts raised by JumpCloud Insights rules to Flashduty On-call through a JumpCloud webhook notification channel. Each JumpCloud alert maps to one Flashduty alert: it triggers when the alert is raised and recovers when the alert is marked Resolved or becomes Auto-Resolved in JumpCloud.

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

  ***

  You can obtain an integration push URL in either of the following ways.

  ### Use a dedicated integration

  1. In the Flashduty console, select **Channel** and open a channel
  2. Select **Configuration** → **Integrations** → **Private integration**, then click **Add an integration**
  3. Select **JumpCloud**, then 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 **JumpCloud** and enter an integration name
  3. Configure the default route and select a channel; you can add more rules under **Route** after creation
  4. Click **Save** and copy the generated **Push URL**
</div>

## Configure JumpCloud

***

<Steps>
  <Step title="Create a webhook notification channel">
    1. Sign in to the JumpCloud Admin Portal as an administrator and go to **Settings → Notification Channels → Webhooks**
    2. Click **+Add** and enter a channel name (up to 100 characters)
    3. Paste the full Flashduty push URL into **URL**. It must include `integration_key`
    4. Set **Authentication** to **None**. Flashduty authenticates with the `integration_key` in the URL
    5. Click **Save**. If the channel is disabled by default, enable it from the channel's overflow menu
  </Step>

  <Step title="Select the channel in an Insights rule">
    1. Open the Insights rule you want to route, or create a new one
    2. In the notification section, select the webhook channel you just created
    3. Turn on **Alert Resolution** (notify when an alert is resolved) and **Alert Acknowledgement** (notify when an alert is acknowledged). Without Alert Resolution, Flashduty never receives the recovery and the alert does not close
    4. Save the rule
  </Step>

  <Step title="Verify">
    When the rule condition is met, JumpCloud raises an alert and sends it to the channel. Confirm an active alert appears in Flashduty, then mark the alert Resolved in JumpCloud and confirm the Flashduty alert recovers.

    The channel page's **Test Webhook** button only shows a simulated request and response in a dialog, and JumpCloud does not document its request body. Flashduty parses requests in the real alert format and returns 400 for a request without `alert_id`. If a test request fails for that reason, real alerts are not affected.
  </Step>
</Steps>

## Alert Key

***

Flashduty builds the Alert Key from `alert_id`, the ID of the JumpCloud alert. JumpCloud sends the same `alert_id` on every status change of one alert (Open, Acknowledged, Resolved, Auto-Resolved), so the trigger and the recovery land on the same Flashduty alert. Changes to the title, priority, description or update time do not change the Alert Key. A request without `alert_id` is rejected.

JumpCloud documents that a new event after the threshold is reached updates the existing alert; those updates all fold into the same Flashduty alert.

## Status and severity

***

| JumpCloud `status` | Flashduty status |
| :- | :- |
| `Open`, `Acknowledged` | Trigger or update |
| `Resolved`, `Auto-Resolved` | Recovery |

| JumpCloud `priority` | Flashduty severity |
| :- | :- |
| `Critical`, `High` | Critical |
| `Medium` | Warning |
| `Low` | Info |
| Empty or any other value | Warning |

A recovery keeps the severity of the last payload.

## Labels

***

| Label | Source |
| :- | :- |
| `alert_id` | `alert_id` |
| `category` | `category`, the alert category |
| `priority` / `status` | `priority` and `status` |
| `rule_id` | `rule_id`, the rule that raised the alert |
| `organization` | `organization_name` |
| `source_id` / `source_name` / `source_type` | ID, name and type of the alert source |
| `event` | `di_event`, the event that raised the alert |
| `event_description` | `event_description` |
| `url` | `source_url` |

The alert title comes from `alert_title` and the description from `description`.

## Troubleshooting

***

* **Flashduty returns an invalid-parameter error**: check that the URL is complete and includes `integration_key`, and that the request body is JSON
* **An alert does not recover**: check that Alert Resolution is on in the rule and that the channel is enabled
* **No notifications arrive**: check that the Insights rule selects this webhook channel and that the triggering event falls inside the rule's monitoring window

For the field definitions, see [JumpCloud webhook channels](https://jumpcloud.com/support/create-webhook-channels) and [Create an Insights rule](https://jumpcloud.com/support/create-an-insights-rule).
