telegram.endpoint() function

The telegram.endpoint() function is a user-contributed function maintained by the package author and can be updated or removed at any time.

The telegram.endpoint() function sends a message to a Telegram channel using data from table rows.

Function type: Output

import "contrib/sranka/telegram"

  url: "",
  token: "S3crEtTel3gRamT0k3n",
  parseMode: "MarkdownV2",
  disableWebPagePreview: false,

For information about retrieving your Telegram bot token and channel ID, see Set up a Telegram bot.



URL of the Telegram bot endpoint. Default is

Data type: String


(Required) Telegram bot token.

Data type: String


Parse mode of the message text. Default is "MarkdownV2".

Data type: String


Disable preview of web links in the sent message. Default is false.

Data type: Boolean


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


A function that builds the object used to generate the POST request. Requires an r parameter.

Data type: Function

mapFn accepts a table row (r) and returns an object that must include the following fields:

  • channel
  • text
  • silent

For more information, see telegram.message() parameters.


Send critical statuses to a Telegram channel
import "influxdata/influxdb/secrets"
import "contrib/sranka/telegram"

token = secrets.get(key: "TELEGRAM_TOKEN")
endpoint = telegram.endpoint(token: token)

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

  |> endpoint(mapFn: (r) => ({
      channel: "-12345",
      text: "Disk usage is **${r.status}**.",
      silent: true

Package author and maintainer

Github: @sranka
InfluxDB Slack: @sranka

Set your InfluxDB URL

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.