Documentation

slack.endpoint() function

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

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

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

Was this page helpful?

Thank you for your feedback!


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.