Documentation

victorops.endpoint() function

victorops.endpoint() is a user-contributed function maintained by the package author.

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

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

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(),  }),  )()

Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.7

Key enhancements in InfluxDB 3.7 and the InfluxDB 3 Explorer 1.5.

See the Blog Post

InfluxDB 3.7 is now available for both Core and Enterprise, landing alongside version 1.5 of the InfluxDB 3 Explorer UI. This release focuses on giving developers faster visibility into what their system is doing with one-click monitoring, a streamlined installation pathway, and broader updates that simplify day-to-day operations.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2