---
title: OpsGenie v2 event handler
description: The OpsGenie v2 event handler allows you to send Kapacitor alerts to OpsGenie. This page includes configuration options and usage examples.
url: https://docs.influxdata.com/kapacitor/v1/reference/event_handlers/opsgenie/v2/
estimated_tokens: 3817
product: Kapacitor
version: v1
---

# OpsGenie v2 event handler

[OpsGenie](https://www.opsgenie.com/) is an incident response orchestration platform for DevOps & ITOps teams. Kapacitor can be configured to send alert messages to OpsGenie.

> This page is specific to OpsGenie’s v2 API. If still using their v1 API, view the [OpsGenie v1 event handler](/kapacitor/v1/reference/event_handlers/opsgenie/v1/) documentation.

## Configuration

Configuration as well as default [option](#options) values for the OpsGenie v2 event handler are set in your `kapacitor.conf`. Below is an example configuration:

```toml
[opsgenie2]
  enabled = true
  api-key = "mysupersecretapikey"
  teams = ["team1", "team2"]
  recipients = ["recipient1", "recipient2"]
  url = "https://api.opsgenie.com/v2/alerts"
  recovery_action = "notes"
  details = false
  global = false
```

#### `enabled`

Set to `true` to enable the OpsGenie v2 event handler.

#### `api-key`

Your OpsGenie API Key.

#### `teams`

Default OpsGenie teams. *Can be overridden per alert.*

#### `recipients`

Default OpsGenie recipients. *Can be overridden per alert.*

#### `url`

The OpsGenie API URL. ***This should not need to be changed.***

#### `recovery_action`

The recovery action specifies which action to take when alerts recover. Valid values include:

-   `notes` - Add a note to the alert.
-   `close` - Close the alert.
-   custom - Use the `.RecoveryAction()` method to specify the `recovery_action` in a TICK script.

#### `details`

If `true`, the alert details field is sent as the OpsGenie alert description field. If `false`, details are encoded as description.

#### `global`

If `true`, all alerts are sent to OpsGenie without specifying `opsgenie2` in the TICKscript. The team and recipients can still be overridden.

## Options

The following OpsGenie v2 event handler options can be set in a [handler file](/kapacitor/v1/reference/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using `.opsGenie2()` in a TICKscript.

| Name | Type | Description |
| --- | --- | --- |
| teams-list | list of strings | List of teams. |
| recipients-list | list of strings | List of recipients. |

### Example: handler file

```yaml
id: handler-id
topic: topic-name
kind: opsgenie2
options:
  teams-list:
    - 'team1'
    - 'team2'
  recipients-list:
    - 'recipient1'
    - 'recipient2'
```

### Example: TICKscript

```js
|alert()
  // ...
  .opsGenie2()
    .teams('team1', 'team2')
    .recipients('recipient1', 'recipient2')
```

## OpsGenie Setup

To allow Kapacitor to send alerts to OpsGenie, [create an OpsGeneie API Integration](https://docs.opsgenie.com/docs/api-integration#section-using-api-integration). Use the generated API key as the `api-key` in the `[opsgenie2]` section of your `kapacitor.conf`

## Using the OpsGenie event handler

With the OpsGenie v2 event handler enabled and configured in your `kapacitor.conf`, use the `.opsGenie2()` attribute in your TICKscripts to send alerts to OpsGenie or define an OpsGenie v2 handler that subscribes to a topic and sends published alerts to OpsGenie.

The examples below use the following OpsGenie configuration defined in the `kapacitor.conf`:

***OpsGenie v2 settings in kapacitor.conf***

```toml
[opsgenie2]
  enabled = true
  api-key = "mysupersecretapikey"
  teams = ["engineering"]
  recipients = ["supervisor1", "supervisor2"]
  url = "https://api.opsgenie.com/v2/alerts"
  recovery_action = "close"
  global = false
```

### Send alerts to OpsGenie from a TICKscript

The following TICKscript uses the `.opsGenie2()` event handler to send the message, “Hey, check your CPU”, to OpsGenie whenever idle CPU usage drops below 10%.

***opsgenie2-cpu-alert.tick***

```js
stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: 'usage_idle' < 10)
    .message('Hey, check your CPU')
    .opsGenie2()
      .teams('engineering', 'support')
      .recoveryAction('notes')
```

### Send alerts to OpsGenie from a defined handler

The following setup sends an alert to the `cpu` topic with the message, “Hey, check your CPU”. An OpsGenie v2 handler is added that subscribes to the `cpu` topic and publishes all alert messages to OpsGenie.

Create a TICKscript that publishes alert messages to a topic. The TICKscript below sends an alert message to the `cpu` topic any time idle CPU usage drops below 10%.

***cpu\_alert.tick***

```js
stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: 'usage_idle' < 10)
    .message('Hey, check your CPU')
    .topic('cpu')
```

Add and enable the TICKscript:

```bash
kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert
```

Create a handler file that subscribes to the `cpu` topic and uses the OpsGenie v2 event handler to send alerts to OpsGenie.

***opsgenie2\_cpu\_handler.yaml***

```yaml
id: opsgenie-cpu-alert
topic: cpu
kind: opsgenie2
options:
  teams-list:
    - 'engineering'
    - 'support'
```

Add the handler:

```bash
kapacitor define-topic-handler opsgenie2_cpu_handler.yaml
```
