victorops.endpoint() function

victorops.endpoint() is a user-contributed function maintained by the package author and can be updated or removed at any time.

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


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


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



(Required) VictorOps REST endpoint integration URL.

Example:<api_key>/<routing_key> Replace <api_key> and <routing_key> with valid VictorOps API and routing keys.


Tool to use for monitoring. Default is InfluxDB.


Send critical events to VictorOps

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

apiKey = secrets.get(key: "VICTOROPS_API_KEY")
routingKey = secrets.get(key: "VICTOROPS_ROUTING_KEY")
url = "${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")

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

Was this page helpful?

Thank you for your feedback!

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.