---
title: victorops.endpoint() function
description: victorops.endpoint() sends events to VictorOps using data from input rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/bonitoo-io/victorops/endpoint/
estimated_tokens: 2482
product: Flux
version: v0
---

# victorops.endpoint() function

-   Flux 0.108.0+
-   View InfluxDB support

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

`victorops.endpoint()` sends events to VictorOps using data from input rows.

### Usage

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

#### mapFn

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

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

-   monitoringTool
-   messageType
-   entityID
-   entityDisplayName
-   stateMessage
-   timestamp

For more information, see `victorops.event()` parameters.

##### Function type signature

```js
(
    url: string,
    ?monitoringTool: A,
) => (
    mapFn: (
        r: B,
    ) => {
        C with
        timestamp: H,
        stateMessage: G,
        messageType: F,
        entityID: E,
        entityDisplayName: D,
    },
) => (<-tables: stream[B]) => stream[{B with _sent: string}]
```

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

## Parameters

### url

(Required) VictorOps REST endpoint integration URL.

Example: `https://alert.victorops.com/integrations/generic/00000000/alert/<api_key>/<routing_key>` Replace `<api_key>` and `<routing_key>` with valid VictorOps API and routing keys.

### monitoringTool

Tool to use for monitoring. Default is `InfluxDB`.

## Examples

### Send critical events to VictorOps

```js
import "contrib/bonitoo-io/victorops"
import "influxdata/influxdb/secrets"

apiKey = secrets.get(key: "VICTOROPS_API_KEY")
routingKey = secrets.get(key: "VICTOROPS_ROUTING_KEY")
url = "https://alert.victorops.com/integrations/generic/00000000/alert/${apiKey}/${routingKey}"
endpoint = victorops.endpoint(url: url)

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

crit_events
    |> endpoint(
        mapFn: (r) =>
            ({
                monitoringTool: "InfluxDB",
                messageType: "CRITICAL",
                entityID: "${r.host}-${r._field}-critical",
                entityDisplayName: "Critical alert for ${r.host}",
                stateMessage: "${r.host} is in a critical state. ${r._field} is ${string(
                        v: r._value,
                    )}.",
                timestamp: now(),
            }),
    )()
```

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