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

# OpManager Alert Events

> Sync OpManager alert events to Flashduty via webhook for automated alert noise reduction

Sync OpManager alert events to Flashduty via webhook for automated alert noise reduction.

<div class="hide">
  ## In Flashduty

  ***

  You can obtain an integration push URL through either of these two methods:

  ### Using Private Integration

  Choose this method when you don't need to route alerts to different channels - it's simpler.

  <details>
    <summary>Expand</summary>

    1. Go to the Flashduty console, select **Channel**, and enter a specific channel's details page
    2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
    3. Select **OpManager** integration and click **Save** to generate a card
    4. Click the generated card to view the **push URL**, copy it for later use, and you're done
  </details>

  ### Using Shared Integration

  Choose this method when you need to route alerts to different channels based on the alert payload information.

  <details>
    <summary>Expand</summary>

    1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
    2. Select **OpManager** integration:
       * **Integration Name**: Define a name for this integration
    3. Configure the default route and select the corresponding channel (after the integration is created, you can go to `Route` to configure more routing rules)
    4. Click **Save** and copy the newly generated **push URL** for later use
    5. Done
  </details>
</div>

## In OpManager

***

<div class="md-block">
  ## I. OpManager Alert Push Configuration

  1. Log in to your `OpManager` console, select `Settings => Notification Profiles` from the navigation menu
  2. On the `Notifications` page, click `Add` and select `Invoke a Webhook` to add a configuration profile

  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-1.png" />

  3. Begin configuring specific content on the Webhook editing page
  4. In `Hook URL`, select `POST` as the request method and fill in the **integration push URL** as the `URL`
  5. Select `raw` for `Data Type` and `JSON` for `Payload Type`
  6. Fill in the following content for `Body Content`:

  ```
  {
       "alarmid":"$alarmid",
       "message":"$message",
       "displayName":"$displayName",
       "category":"$category",
       "severity":"$stringseverity",
       "strModTime":"$strModTime",
       "eventType":"$eventType",
       "entity":"$entity",
       "lastPolledValue":"$lastPolledValue",
       "Intf_ifDescr":"$IntfField(ifDescr)",
       "Intf_displayName":"$IntfField(displayName)",
       "Intf_ifAlias":"$IntfField(ifAlias)",
       "Intf_ifName":"$IntfField(ifName)",
       "Intf_ipAddress":"$IntfField(ipAddress)",
       "Intf_physMedia":"$IntfField(physMedia)",
       "Intf_ifIndex(ifIndex)":"$IntfField(ifIndex)",
       "Intf_ifCircuitID(ifCircuitID)":"$IntfField(ifCircuitID)",
       "Intf_ifSpeedIn(ifSpeedIn)":"$IntfField(ifSpeedIn)",
       "Intf_ifSpeedOut(ifSpeedOut)":"$IntfField(ifSpeedOut)",
       "Intf_lineID":"$IntfCustomField(Circuit ID)",
       "Intf_note":"$IntfCustomField(Comments)",
       "Intf_contacts":"$IntfCustomField(Contact Name)",
       "Intf_SLA":"$IntfCustomField(SLA)",
       "Custom_BuildingNo":"$CustomField(Building)",
       "Custom_cabinet":"$CustomField(Cabinet)",
       "Custom_note":"$CustomField(Comments)",
       "Custom_contacts":"$CustomField(Contact Name)",
       "Custom_department":"$CustomField(Department)",
       "Custom_RoomNo":"$CustomField(Floor)",
       "Custom_serial":"$CustomField(SerialNumbe)",
       "Monitor_monitorName":"$MonitorField(monitorName)",
       "Monitor_instance":"$MonitorField(instance)",
       "Monitor_protocol":"$MonitorField(protocol)",
       "Device_type":"$DeviceField(type)",
       "Device_ipAddress":"$DeviceField(ipAddress)",
       "Device_isSNMP":"$DeviceField(isSNMP)",
       "Device_dependent":"$DeviceField(dependent)",
       "Device_hardDiskSize":"$DeviceField(hardDiskSize)",
       "Device_ramSize":"$DeviceField(ramSize)"
  }
  ```

  **Special Note**: Custom fields are not currently supported. Even if referenced in the Body Content, they will not take effect.

  7. Keep the `Request Headers` as default
  8. Fill in any value between 1-300 for `Time Out` and click next

  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-2.png" />

  9. On the `Choose the criteria` configuration page, check `Notify when the alarm is cleared` and configure other options as needed

  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-3.png" />

  10. Select the devices you want to apply this configuration to, move them to the selected devices window using the right arrow, then click next
  11. Configure Time Window/Delayed Trigger/Recurring Trigger as needed, then click next
  12. Add the name `Flashduty` for this configuration profile, then click `Save` to complete the setup
</div>

## II. Status Mapping

<div class="md-block">
  | OpManager    | Flashduty | Status   |
  | ------------ | --------- | -------- |
  | Critical     | Critical  | Critical |
  | Service Down | Critical  | Critical |
  | Trouble      | Warning   | Warning  |
  | Attention    | Info      | Info     |
</div>
