Notification Channels
Overview
A Notification Channel is a delivery endpoint that WEDA uses to send alert notifications.
Alert rules reference channels by channelId. When an alert triggers, WEDA dispatches a message
to every channel listed in the rule.
Notification channels and templates are managed at the Tenant level and can be referenced by alert rules within that Tenant. Four channel types are supported:
| Type | Delivery method | Config highlights |
|---|---|---|
email | SMTP email | Host, port, TLS/SSL, sender address, optional recipients |
linemessage | LINE Messaging API | Channel access token |
teams | Microsoft Teams Workflows webhook | Webhook URL |
webhook | Generic HTTP request | URL, method, content type |
Channel Concepts
Channel and Template
A channel defines where to send the notification and how to connect. The template defines
what to send — the message content with {variable} placeholders filled in at dispatch time.
When an alert rule fires, it supplies:
channelIds— which channels to deliver totemplateId— which template to renderrecipients— any additional recipients (e.g. email addresses for an email channel)variables— key/value pairs to substitute into the template
Delivery Settings
Each channel can define optional commonSettings that control delivery behavior:
| Setting | Purpose |
|---|---|
timeout | Maximum time to wait for the delivery attempt |
retryAttempts | Number of retries on failure (0–10) |
retryDelay | Wait time between retries |
Channel Lifecycle
A channel can be enabled or disabled. Disabling a channel prevents it from being used for notification delivery without deleting its configuration. Enable it again to resume delivery.
Email Channel
Sends notifications via SMTP.
See Create Channel for full field reference. Required config fields:
host, port, username, password, and senderEmail; senderName and secure are optional.
Use secure to configure whether the SMTP connection uses TLS/SSL. The selected port must match the
SMTP server configuration.
Sensitive values such as the SMTP password are masked in API responses after creation.
Default Recipients
An email channel can define default recipients in its config. For a default recipient, target must
be a valid email address and type must be to or cc.
Recipients supplied per-notification by an alert rule are handled separately from the channel's default recipients — see Alert Rules.
LINE Channel (linemessage)
Sends notifications via the LINE Messaging API. Requires a LINE Official Account and a channel access token from the LINE Developer Console.
See Create Channel for full field reference. The accessToken is masked
in API responses after creation.
Send modes (sendMode):
| Mode | Description |
|---|---|
push | Send to one or more specified recipients |
multicast | Send a single request to multiple specified recipients |
Set target on each recipient to the identifier required by the LINE Messaging API.
Microsoft Teams Channel (teams)
Sends notifications to a configured Microsoft Teams Workflows webhook URL.
See Create Channel for full field reference. The only required config
field is url, which must be a Microsoft Teams Workflows HTTPS webhook URL.
A Teams channel sends the rendered notification content to that webhook URL. Templates targeting
Teams use only content — the template subject is not used for Teams.
Webhook Channel
Sends notifications as an HTTP request to any custom endpoint.
See Create Channel for full field reference. Required config fields:
url— the target endpointmethod—GET,POST,PUT,PATCH, orDELETEcontentType— one of the values below
Content type values:
| Config value | HTTP Content-Type |
|---|---|
applicationJson | application/json |
applicationFormUrlEncoded | application/x-www-form-urlencoded |
textPlain | text/plain |
Templates
Templates define message content. They use {variableName} syntax for variable substitution:
Subject: [{severity}] Alert on {deviceName}
Content: Device {deviceName} triggered {eventType} at {timestamp}. Value: {value}
Provide values for all variables referenced by the selected template.
Template field limits: name up to 200 characters, subject up to 500 characters (email only),
content up to 50,000 characters.
Template–Channel Type Binding
The channelTypes field is required — a template must declare one or more channel types it
targets, for example:
["email", "teams"]
Using a template with a channel whose type is not in its channelTypes list fails at dispatch time.
Note that the subject field is used only by the email channel type; teams, linemessage, and
webhook use content only.
Operations
Channels
| Operation | API | Description |
|---|---|---|
| Create Channel | POST /api/v1/notifications/channels | Create a notification channel |
| List Channels | GET /api/v1/notifications/channels | List all channels |
| Get Channel | GET /api/v1/notifications/channels/{channelId} | Get channel configuration |
| Update Channel | PATCH /api/v1/notifications/channels/{channelId} | Update config, recipients, or linked template |
| Enable / Disable | PUT /api/v1/notifications/channels/{channelId}/status | Enable or disable delivery |
| Delete Channel | DELETE /api/v1/notifications/channels/{channelId} | Remove the channel |
| List Available Types | GET /api/v1/notifications/channels/registry-info/types | Channel types enabled for this Tenant |
Templates
| Operation | API | Description |
|---|---|---|
| Create Template | POST /api/v1/notifications/templates | Create a message template |
| List Templates | GET /api/v1/notifications/templates | List all templates |
| Get Template | GET /api/v1/notifications/templates/{templateId} | Get template detail |
| Update Template | PATCH /api/v1/notifications/templates/{templateId} | Modify template content |
| Delete Template | DELETE /api/v1/notifications/templates/{templateId} | Remove a template |
Delivery Status
| Operation | API | Description |
|---|---|---|
| List Messages | GET /api/v1/notifications/messages | List notification delivery records |
| Get Message Status | GET /api/v1/notifications/messages/{messageId} | Check delivery status of a specific message |
A single message can be dispatched to multiple channels, so its overall status reflects the
combined result: a partial status means some — but not all — of the target channels were
delivered successfully.
Scenario
A system integrator creates an email channel and a Teams channel, then attaches both to a temperature alert rule:
Constraints
- Sensitive values such as SMTP passwords and LINE access tokens are masked in API responses after creation
- Channel names must be unique within the Tenant (max 100 characters, no whitespace)
- A disabled channel is not used for notification delivery
emailchannels require a valid SMTP server reachable from the WEDA Cloud network
Related
- Attach channels to a monitoring rule: Alert Rules