---
title: slack.endpoint() function
description: slack.endpoint() returns a function that can be used to send a message to Slack per input row.
url: https://docs.influxdata.com/flux/v0/stdlib/slack/endpoint/
estimated_tokens: 1682
product: Flux
version: v0
---

# slack.endpoint() function

-   Flux 0.41.0+
-   View InfluxDB support

`slack.endpoint()` returns a function that can be used to send a message to Slack per input row.

Each output row includes a `_sent` column that indicates if the message for that row was sent successfully.

### Usage

`slack.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 POST request.

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

-   channel
-   color
-   text

##### Function type signature

```js
(
    ?token: string,
    ?url: string,
) => (
    mapFn: (r: A) => {B with text: D, color: string, channel: C},
) => (<-tables: stream[A]) => stream[{A with _sent: string}]
```

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

## Parameters

### url

Slack API URL. Default is `https://slack.com/api/chat.postMessage`.

If using the Slack webhook API, this URL is provided ine Slack webhook setup process.

### token

Slack API token. Default is `""`.

If using the Slack Webhook API, a token is not required.

## Examples

### Send status alerts to a Slack endpoint

```js
import "sampledata"
import "slack"

data =
    sampledata.int()
        |> map(fn: (r) => ({r with status: if r._value > 15 then "alert" else "ok"}))
        |> filter(fn: (r) => r.status == "alert")

data
    |> slack.endpoint(token: "mY5uP3rSeCr37T0kEN")(
        mapFn: (r) => ({channel: "Alerts", text: r._message, color: "danger"}),
    )()
```

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