Keeping alerting configuration in sync across environments has always been tedious.You can now manage notification channels — Slack, PagerDuty, email, webhooks, and more — as code using the Dash0 CLI, Terraform provider, and Kubernetes operator.
Notification channels control where Dash0 sends alerts when check rules fire. Until now they could only be configured through the UI, which made it difficult to version-control, review, and replicate them across organizations. With IaC support, you define a channel once in a YAML file and apply it from your terminal, CI/CD pipeline, or GitOps workflow.
How it works
Each notification channel is defined as a CRD-enveloped YAML document with kind: Dash0NotificationChannel.The spec.type field selects the channel type (one of 17 supported integrations), and spec.config holds the type-specific settings such as webhook URLs or Slack channel names.Notification channels are organization-level resources, so no --dataset flag is required.
Dash0 CLI
Since v1.9.0:
notification-channel-cli.sh1234567891011121314# Create a notification channel from a YAML filedash0 notification-channels create -f slack-alerts.yaml# List all notification channelsdash0 notification-channels list# Get a single notification channel as YAMLdash0 notification-channels get <id> -o yaml# Update an existing notification channeldash0 notification-channels update <id> -f slack-alerts-updated.yaml# Delete a notification channeldash0 notification-channels delete <id>
Terraform provider
Since v1.8.0:
notification-channel.tf123resource "dash0_notification_channel" "slack_alerts" {notification_channel_yaml = file("${path.module}/channels/slack-alerts.yaml")}
Import existing channels with terraform import dash0_notification_channel.slack_alerts <origin>.
Kubernetes operator
Since v0.136.0:
notification-channel.yaml123456789101112131415apiVersion: operator.dash0.com/v1alpha1kind: Dash0NotificationChannelmetadata:name: slack-alertsnamespace: monitoringspec:content: |kind: Dash0NotificationChannelmetadata:name: Slack Alertsspec:type: slackconfig:url: "https://hooks.slack.com/services/T00/B00/xxxx"frequency: 10m
The operator syncs the channel to Dash0 and reports status back on the custom resource.






