pagerduty.endpoint() function

pagerduty.endpoint() returns a function that sends a message to PagerDuty that includes output data.


pagerduty.endpoint() is a factory function that outputs another function. The output function requires a mapFn parameter.


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 properties:

  • routingKey
  • client
  • client_url
  • class
  • eventAction
  • group
  • severity
  • source
  • component
  • summary
  • timestamp
  • customDetails
Function type signature
    ?url: string,
) => (
    mapFn: (
        r: {A with _pagerdutyDedupKey: string},
    ) => {
        B with
        timestamp: K,
        summary: string,
        source: J,
        severity: I,
        routingKey: H,
        group: G,
        eventAction: F,
        clientURL: E,
        client: D,
        class: C,
) => (<-tables: stream[A]) => stream[{A with _status: string, _sent: string, _pagerdutyDedupKey: string, _body: string}]

For more information, see Function type signatures.



PagerDuty v2 Events API URL.

Default is


Send critical statuses to a PagerDuty endpoint

import "pagerduty"
import "influxdata/influxdb/secrets"

routingKey = secrets.get(key: "PAGERDUTY_ROUTING_KEY")
toPagerDuty = pagerduty.endpoint()

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

    |> toPagerDuty(
        mapFn: (r) =>
            ({r with
                routingKey: routingKey,
                client: r.client,
                clientURL: r.clientURL,
                class: r.class,
                eventAction: r.eventAction,
                severity: r.severity,
                source: r.source,
                component: r.component,
                summary: r.summary,
                timestamp: r._time,
                customDetails: {"ping time":, load: r.load},

Was this page helpful?

Thank you for your feedback!

The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more