---
title: opsgenie.sendAlert() function
description: opsgenie.sendAlert() sends an alert message to Opsgenie.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/sranka/opsgenie/sendalert/
estimated_tokens: 595
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/contrib/sranka/opsgenie/sendalert/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.84.0+

InfluxDB support

> [!Important]
> `opsgenie.sendAlert()` is a user-contributed function maintained by
> the [package author](#package-author-and-maintainer).

`opsgenie.sendAlert()` sends an alert message to Opsgenie.

##### Function type signature

```js
(
    apiKey: string,
    message: string,
    ?actions: A,
    ?alias: string,
    ?description: string,
    ?details: B,
    ?entity: string,
    ?priority: string,
    ?responders: [string],
    ?tags: C,
    ?url: string,
    ?visibleTo: [string],
) => int where B: Stringable
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### url

Opsgenie API URL. Defaults to `https://api.opsgenie.com/v2/alerts`.

### apiKey

(Required)
(Required) Opsgenie API authorization key.

### message

(Required)
(Required) Alert message text.
130 characters or less.

### alias

Opsgenie alias usee to de-deduplicate alerts.
250 characters or less.
Defaults to [message](/flux/v0/stdlib/contrib/sranka/opsgenie/sendalert/#message).

### description

Alert description. 15000 characters or less.

### priority

Opsgenie alert priority.

Valid values include:

* `P1`
* `P2`
* `P3` (default)
* `P4`
* `P5`

### responders

List of responder teams or users.
Use the `user: `prefix for users and `teams: `prefix for teams.

### tags

Alert tags.

### entity

Alert entity used to specify the alert domain.

### actions

List of actions available for the alert.

### details

Additional alert details. Must be a JSON-encoded map of key-value string pairs.

### visibleTo

List of teams and users the alert will be visible to without sending notifications.
Use the `user: `prefix for users and `teams: `prefix for teams.

## Examples

### Send the last reported status to a Opsgenie

```js
import "influxdata/influxdb/secrets"
import "contrib/sranka/opsgenie"

apiKey = secrets.get(key: "OPSGENIE_APIKEY")

lastReported =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses")
        |> last()
        |> findRecord(fn: (key) => true, idx: 0)

opsgenie.sendAlert(
    apiKey: apiKey,
    message: "Disk usage is: ${lastReported.status}.",
    alias: "example-disk-usage",
    responders: ["user:john@example.com", "team:itcrowd"],
)
```

[single notification](/flux/v0/tags/single-notification/)
