Notification node
The Notification node sends an alert to a configured channel (email, Slack, Teams, generic webhook) from inside a workflow. Every row that enters the node triggers one notification, with the message text rendered from a per-row template.
When to use
- Downstream operators need to know a run happened, succeeded, failed, or emitted a specific row.
- You want to alert on a filtered subset — chain Filter into Notification so only rows matching a rule notify.
- You want notification bodies to include row data via templated placeholders.
Ports
| Port | Direction | Kind | Notes |
|---|---|---|---|
in | in | data | Rows to notify on. |
out | out | data | Pass-through of the input rows so downstream nodes see the same rows the notification saw. |
error | out | control | Fires on channel adapter errors (SMTP down, Slack rate limit, etc.). |
notify | out | control | Meta-notification port for chained notification policies. |
Configuration
- Channel. Email, Slack, Teams, or Generic webhook. The choice drives which additional fields appear.
- Recipient. Address column or literal (email address, Slack channel id, Teams webhook URL, webhook URL).
- Subject / message template.
{{ row.column }}and{{ exec.varName }}placeholders are substituted per row. - Batching.
per_row(default) — one notification per input row.per_batch— one notification per input chunk (or per run, in the finalize pass).
- On failure.
route_to_error(default) — a channel error routes the row toerror; the run continues.retry_then_error— retry the channel a bounded number of times before erroring.silent— swallow the error and drop the row.
Configure Action walkthrough
- Pick the channel; the modal reveals the channel-specific fields (SMTP recipient, Slack channel, Teams webhook, etc.).
- Pick the recipient column (or type a literal address).
- Write the subject / message templates. Preview substitutes with the upstream sample.
- Toggle batching mode. Choose failure policy.
Runtime behaviour
- Per-row notifications fire synchronously; per-batch fires once per chunk / once at finalize (for
once_at_endvariants). - Channel adapters share the runtime's connector cache; SMTP connections are pooled across runs.
Failure modes
- Channel down. Routes to
errorunder the default failure policy. Retry policy kicks in when configured. - Recipient invalid. Adapter-specific error surface: SMTP returns
550, Slack returnschannel_not_found, Teams returns the webhook error string.