---
title: pagerduty.endpoint() function
description: pagerduty.endpoint() returns a function that sends a message to PagerDuty that includes output data.
url: https://docs.influxdata.com/flux/v0/stdlib/pagerduty/endpoint/
estimated_tokens: 598
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/pagerduty/endpoint/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.43.0+

InfluxDB support

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

### Usage

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

#### mapFn

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

```js
(
    ?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](/flux/v0/function-type-signatures/).

## Parameters

### url

PagerDuty v2 Events API URL.

Default is `https://events.pagerduty.com/v2/enqueue`.

## Examples

### Send critical statuses to a PagerDuty endpoint

```js
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")

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

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