---
title: discord.endpoint() function
description: discord.endpoint() sends a single message to a Discord channel using a Discord webhook and data from table rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/chobbs/discord/endpoint/
estimated_tokens: 1867
product: Flux
version: v0
---

# discord.endpoint() function

-   Flux 0.69.0+
-   View InfluxDB support

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

`discord.endpoint()` sends a single message to a Discord channel using a [Discord webhook](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks&?page=3) and data from table rows.

### Usage

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

#### mapFn

A function that builds the record used to generate the Discord webhook request. Requires an `r` parameter.

`mapFn` accepts a table row (`r`) and returns a record that must include the following field:

-   `content`

For more information, see the `discord.send()` `content` parameter.

##### Function type signature

```js
(
    username: A,
    webhookID: string,
    webhookToken: string,
    ?avatar_url: B,
) => (mapFn: (r: C) => {D with content: E}) => (<-tables: stream[C]) => stream[{C with _sent: string}]
```

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

## Parameters

### webhookToken

(Required) Discord [webhook token](https://discord.com/developers/docs/resources/webhook).

### webhookID

(Required) Discord [webhook ID](https://discord.com/developers/docs/resources/webhook).

### username

(Required) Override the Discord webhook’s default username.

### avatar\_url

Override the Discord webhook’s default avatar.

## Examples

### Send critical statuses to a Discord channel

```js
import "influxdata/influxdb/secrets"
import "contrib/chobbs/discord"

discordToken = secrets.get(key: "DISCORD_TOKEN")
endpoint =
    telegram.endpoint(webhookToken: discordToken, webhookID: "123456789", username: "critBot")

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

crit_statuses
    |> endpoint(mapFn: (r) => ({content: "The status is critical!"}))()
```

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