---
title: opsgenie.endpoint() function
description: opsgenie.endpoint() sends an alert message to Opsgenie using data from table rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/sranka/opsgenie/endpoint/
estimated_tokens: 2667
product: Flux
version: v0
---

# opsgenie.endpoint() function

-   Flux 0.84.0+
-   View InfluxDB support

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

`opsgenie.endpoint()` sends an alert message to Opsgenie using data from table rows.

### Usage

opsgenie.endpoint is a factory function that outputs another function. The output function requires a `mapFn` parameter.

#### mapFn

A function that builds the record used to generate the POST request. Requires an `r` parameter.

`mapFn` accepts a table row (`r`) and returns a record that must include the following fields:

-   message
-   alias
-   description
-   priority
-   responders
-   tags
-   actions
-   details
-   visibleTo

For more information, see `opsgenie.sendAlert`.

##### Function type signature

```js
(
    apiKey: string,
    ?entity: string,
    ?url: string,
) => (
    mapFn: (
        r: A,
    ) => {
        B with
        visibleTo: [string],
        tags: E,
        responders: [string],
        priority: string,
        message: string,
        details: D,
        description: string,
        alias: string,
        actions: C,
    },
) => (<-tables: stream[A]) => stream[{A with _sent: string}] where D: 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.

### entity

Alert entity used to specify the alert domain.

## Examples

### Send critical statuses to Opsgenie

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

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

crit_statuses =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and status == "crit")

crit_statuses
    |> endpoint(
        mapFn: (r) =>
            ({
                message: "Great Scott!- Disk usage is: ${r.status}.",
                alias: "disk-usage-${r.status}",
                description: "",
                priority: "P3",
                responders: ["user:john@example.com", "team:itcrowd"],
                tags: [],
                entity: "my-lab",
                actions: [],
                details: "{}",
                visibleTo: [],
            }),
    )()
```

[notification endpoints](/flux/v0/tags/notification-endpoints/) [transformations](/flux/v0/tags/transformations/)
