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

# Obkio alert integration

> Send network monitoring alerts from Obkio to Flashduty On-call through a webhook notification.

Use the organization-level webhook notification of Obkio to send network monitoring alerts to Flashduty On-call. Each Obkio alert (`alert_id`) maps to one Flashduty alert, and repeated notifications for the same alert merge into it.

<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 **Obkio** 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 **Obkio** 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>

## In Obkio

***

The webhook is configured at the organization level and requires permission to change the organization's advanced parameters.

<Steps>
  <Step title="Enter the webhook URL">
    1. In Obkio, click **More** (bottom left) **→ your organization name → Change Organization's Advanced Parameters**
    2. Find **Webhooks Settings** and make sure **Webhook Type** is set to `Obkio`
    3. Paste the full Flashduty push URL into **Webhook URL**; it must include `integration_key`
    4. **Webhook Secret** can stay empty; Flashduty does not verify signatures
    5. This page has no Save button. The value is saved when the field loses focus (for example, click an empty area of the page). Reload the page to confirm **Webhook URL** is still set
  </Step>

  <Step title="Turn on auto-close">
    The Obkio webhook documentation describes no recovery notification, so alerts in Flashduty do not recover on their own. Turn on [auto-close](/en/on-call/channel/create-edit) for the channel, start the timer from **incident triggered**, and set a duration of 4 hours, adjusting it to how long your network alerts usually last.
  </Step>

  <Step title="Verify">
    Wait for a real Obkio alert, such as latency above the threshold, and confirm that Flashduty receives an active alert. Obkio retries a delivery that does not return 2xx up to 8 times, with delays growing from 30 seconds to 15 minutes.

    The Obkio documentation describes no test delivery. Flashduty only handles deliveries whose `type` is `alert_notification`; any other type returns success and creates no alert.
  </Step>
</Steps>

## Alert Key

***

Flashduty uses `data.alert_id` from the webhook as the Alert Key. Obkio's example lists `alert_id` (the alert) separately from `notification_id` (this notification); the notification ID differs on every delivery, so it is not part of the Alert Key. The Obkio documentation does not say whether `alert_id` stays the same across notifications for one alert. If it changes, each notification becomes its own alert and auto-close cleans them up.

Changes to the event type, severity, or description never change the Alert Key. A delivery without `data.alert_id` is rejected.

## Status and severity

***

Flashduty sets the severity from `data.severity` (the Obkio levels, see [Notifications](https://obkio.com/docs/notifications/)):

| Obkio level | Flashduty severity |
| :- | :- |
| `critical` | Critical |
| `error` | Critical |
| `warning` | Warning |
| `information` | Info |
| `ok` | Recovery (Ok) |
| Empty or other | Warning |

The Obkio documentation does not say whether the `ok` level is ever sent. If it is, the alert with that `alert_id` recovers.

## Labels

***

| Label | Source |
| :- | :- |
| `alert_id` | Obkio alert ID, the Alert Key |
| `event_type` / `check` | Event type, such as `latency` |
| `severity` | Raw Obkio level |
| `session_key` | Session identifier |
| `agent_client_id` / `agent_client_name` | Agent that runs the test |
| `agent_server_id` / `agent_server_name` | Agent being tested |
| `template_id` / `template_name` | Monitoring template |

The title comes from `event_description`, such as `High latency: 118.32 ms`.

## Troubleshooting

***

* **Flashduty returns an invalid-parameter error**: the message names the missing field (`data.alert_id`). Check that Webhook Type is `Obkio`
* **Obkio keeps retrying**: confirm the URL is complete and includes `integration_key`; Obkio stops retrying once it gets a 2xx response
* **The alert does not recover**: this is expected; confirm auto-close is on for the channel
* **No alert arrives**: Obkio smart notifications wait before sending, and a notification with severity `error` is delayed 2 minutes by default; if the issue clears in that time, nothing is sent

For field details, see the [Obkio webhook documentation](https://obkio.com/docs/notification-webhooks-obkio-type/).
