---
title: "List notification channels"
method: GET
path: "/notification-channels"
tags: ["notifications"]
---

# List notification channels

`GET /notification-channels`

Returns notification channels. Channels are delivery endpoints; routing is configured separately. Developer, manager, or admin only.

## Query parameters

- `remoteNode` string

## Response `200`

List of notification channels

- NotificationChannelListResponse — Notification channels
  - `channels` NotificationChannel[], required
    - `id` string, required — Stable channel ID
    - `name` string, required — Human-readable channel name
    - `type` 'email' | 'webhook' | 'slack' | 'telegram' | 'teams', required — Notification delivery provider
    - `enabled` boolean, required — Whether this channel can receive notifications
    - `email` NotificationEmailTarget — Email notification target. SMTP transport is configured in workspace notification settings.
      - `from` string — Sender address. Defaults to the workspace SMTP sender.
      - `to` string[], required — Primary recipients
      - `cc` string[] — CC recipients
      - `bcc` string[] — BCC recipients
      - `subjectPrefix` string — Subject prefix. Defaults to [DAGU].
      - `subjectTemplate` string — Optional email subject template. When set, it replaces the generated subject.
      - `bodyTemplate` string — Optional email body template. When omitted, Dagu sends the default notification body.
      - `attachLogs` boolean — Attach DAG and step logs when available
    - `webhook` NotificationWebhookTarget — Public outbound webhook target details
      - `urlConfigured` boolean, required — Whether a webhook URL is configured
      - `urlPreview` string — Redacted URL preview
      - `headers` object — Header names with redacted values
      - `hmacSecretConfigured` boolean, required — Whether an HMAC secret is configured
      - `messageTemplate` string — Optional rendered message added to the webhook JSON payload as message.
      - `bodyTemplate` string — Optional request body template that replaces the default Dagu payload.
      - `allowInsecureHttp` boolean — Whether this target allows plain HTTP webhook URLs
      - `allowPrivateNetwork` boolean — Whether this target allows loopback or private network webhook targets
    - `slack` NotificationSlackTarget — Public Slack target details
      - `webhookUrlConfigured` boolean, required — Whether a Slack incoming webhook URL is configured
      - `webhookUrlPreview` string — Redacted Slack webhook URL preview
      - `messageTemplate` string — Optional Slack message template. When omitted, Dagu sends the default notification text.
    - `telegram` NotificationTelegramTarget — Public Telegram target details
      - `botTokenConfigured` boolean, required — Whether a Telegram bot token is configured
      - `botTokenPreview` string — Redacted Telegram bot token preview
      - `chatId` string — Telegram chat ID
      - `topicId` string — Optional Telegram topic ID (message thread ID) for forum groups
      - `messageTemplate` string — Optional Telegram message template. When omitted, Dagu sends the default notification text.
    - `teams` NotificationTeamsTarget — Public Microsoft Teams target details
      - `webhookUrlConfigured` boolean, required — Whether a Microsoft Teams incoming webhook URL is configured
      - `webhookUrlPreview` string — Redacted Microsoft Teams webhook URL preview
      - `messageTemplate` string — Optional Teams message template. When omitted, Dagu sends the default notification text.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `updatedBy` string — User ID that last updated the channel

## Other responses

- `403` — Forbidden - insufficient permissions
- `default` — Unexpected error

---

[API](https://skmtc.net/dagucloud/apis/dagu.md) · [All operations](https://skmtc.net/dagucloud/apis/dagu/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dagucloud/dagu/revisions/93cc41f2018a/schema)
