Documentation

Microsoft Teams event handler

Microsoft Teams is a widely used “digital workspace” that facilitates communication among team members. To configure Kapacitor to send alerts to one or more Microsoft Teams channels, do the following:

Set up Teams

  1. Log in to Teams, and then create a new incoming webhook for a Teams channel.
  2. In your kapacitor.conf file, add a [teams] section with configuration options for the Microsoft Teams event handler, including the incoming webhook URL as the channelurl. For example:
[teams]
  enabled = true
  default = true
  channel-url =  "https://outlook.office.com/webhook/..."
  global = true
  state-changes-only = true
  1. To add multiple Microsoft Teams clients, repeat steps 1-2 to obtain a new web hook and add another [teams] section in kapacitor.conf. The channelurl acts as a unique identifier for each configured Teams client.

Configuration

enabled

Set to true to enable the Microsoft Teams event handler.

default

If there are multiple teams configurations, identify one as the default.

channelurl

Specify the Microsoft Team webhook URL to send messages and alerts.

global

Set to true to send all alerts to Teams without explicitly specifying Microsoft Teams in the TICKscript.\

state-changes-only

Set to true to send alerts for state-changes-only. Only applies if global is true.

Handler file options

The following options can be set in a Microsoft Teams event handler file or when using .teams() in a TICKscript.

NameTypeDescription
teamstringSpecifies which Team configuration to use when there are multiple configurations.
channelstringTeams channel to post messages to. If empty uses the channel from the configuration.

Example handler file

id: handler-id
topic: topic-name
kind: teams
options:
  team: 'teams.microsoft.com/team/'
  channel: '#alerts'

For information about using handler files, see Add and use event handlers.

Example alerts

Send alert to Teams channel in configuration file

  stream
    |alert()
       .teams()

Send alert to Teams channel with webhook (overrides configuration file)

  stream
    |alert()
       .teams()
       .channelURL('https://outlook.office.com/webhook/...')

Send alerts to Teams from a TICKscript

Use the .teams() attribute in your TICKscripts to:

  • Send alerts to Teams
  • Define a Teams handler that subscribes to a topic and sends published alerts to Teams

To avoid posting a message every alert interval, use AlertNode.StateChangesOnly so only events where the alert changed state are sent to Teams.

The following TICKscript uses the .teams() event handler to send the message, “Hey, check your CPU”, to the #alerts Teams channel when idle CPU usage drops below 20%.

teams-cpu-alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .warn(lambda: "usage_idle" < 20)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .teams()

Send alerts to Teams from a defined handler

The following example sends an alert to the cpu topic with the message, “Hey, check your CPU”. A Teams handler is added that subscribes to the cpu topic and publishes all alert messages to Teams.

Create a TICKscript that publishes alert messages to a topic. The TICKscript below sends an critical alert message to the cpu topic any time idle CPU usage drops below 5%.

cpu_alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 5)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .topic('cpu')

Add and enable the TICKscript:

kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert

Create a handler file that subscribes to the cpu topic and uses the Teams event handler to send alerts to Teams. This handler uses a non-default Teams handler, “critical-alerts”, which sends messages to the #critical-alerts channel in Teams.

teams_cpu_handler.yaml

id: teams-cpu-alert
topic: cpu
kind: teams
channelurl: 'alerts'

Add the handler:

kapacitor define-topic-handler teams_cpu_handler.yaml

Was this page helpful?

Thank you for your feedback!


InfluxDB OSS 2.9.0: API tokens are hashed by default

Stronger token security in InfluxDB OSS 2.9.0 — tokens are hashed on disk by default. Existing tokens are hashed on first startup and can’t be recovered afterward. Capture any plaintext tokens you still need before you upgrade.

View InfluxDB OSS 2.9.0 release notes

Hashed tokens authenticate exactly like unhashed tokens — clients and integrations keep working.

Also new in 2.9.0:

  • Configurable backup compression
  • Restore support for backups containing hashed tokens
  • Tighter Edge Data Replication queue validation
  • Flux upgrade
  • Compaction reliability improvements

Key enhancements in Explorer 1.8

Explorer 1.8 is now available with streaming data subscriptions (beta), line protocol preview, and query history & saved queries.

View Explorer 1.8 release notes

Explorer 1.8 includes new features and improvements that make it easier to ingest, explore, and manage data.

Highlights:

  • Streaming data subscriptions (beta): Stream data into Explorer from MQTT, Kafka, and AMQP sources.
  • Line protocol preview: Preview line protocol, schema, and parse errors before data is written.
  • Custom sample data: Generate custom sample datasets with line protocol and schema preview.
  • Query history and saved queries: Browse query history and save/re-run named queries.
  • Retention period management: Set, update, or clear retention periods on databases and tables.

For more details, see Explorer 1.8 release notes

InfluxDB 3.9: Performance upgrade preview

InfluxDB 3 Enterprise 3.9 includes a beta of major performance upgrades with faster single-series queries, wide-and-sparse table support, and more.

InfluxDB 3 Enterprise 3.9 includes a beta of major performance and feature updates.

Key improvements:

  • Faster single-series queries
  • Consistent resource usage
  • Wide-and-sparse table support
  • Automatic distinct value caches for reduced latency with metadata queries

Preview features are subject to breaking changes.

For more information, see:

Telegraf Enterprise now in public beta

Get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

See the Blog Post

The upcoming Telegraf Enterprise offering is for organizations running Telegraf at scale and is comprised of two key components:

  • Telegraf Controller: A control plane (UI + API) that centralizes Telegraf configuration management and agent health visibility.
  • Telegraf Enterprise Support: Official support for Telegraf Controller and Telegraf plugins.

Join the Telegraf Enterprise beta to get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

For more information:

Telegraf Controller v0.0.7-beta now available

Telegraf Controller v0.0.7-beta is now available with new features, improvements, bug fixes, and an important breaking change.

View the release notes
Download Telegraf Controller v0.0.7-beta

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On May 27, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2