Skip to content

Notification

Sends a notification to a user or system through email, SMS, push, webhook, or Slack.

Notification node on the canvas

The Notification node dispatches a notification through a configured channel. It is similar to the Action node but specialized for messaging - your backend interprets the notification type and delivers it through the appropriate service.

Use a Notification node when your workflow needs to inform a person or system about something that happened. While you could model notifications as Action nodes, having a dedicated node type makes workflows easier to read and makes the intent immediately clear on the canvas.

Common examples:

  • Transactional messages - send order confirmations, shipping updates, or password reset emails
  • Alerts and escalations - notify on-call engineers via Slack when a health check fails, send SMS alerts for critical incidents
  • Approval requests - push a notification to a manager asking them to review and approve a request
  • Webhook callbacks - POST a payload to an external system when a workflow step completes
  • Multi-channel notifications - send the same message via email and push notification for redundancy

Select the notification type from the Notification Type dropdown. Each type configures a different delivery channel.

TypeIconDescription
EmailEnvelopeSimpleSend an email message
SMSChatTeardropDotsSend a text message
Push NotificationBellSend a mobile or browser push notification
WebhookWebhooksLogoPOST a payload to an external URL
Slack MessageSlackLogoSend a message to a Slack channel

When Email is selected, the following fields are available:

PropertyTypeDescription
AddressTextRecipient email address
CopyTextCC recipients
SubjectTextEmail subject line
BodyTextEmail body content
PriorityDropdownNormal / Low / High
RetriesNumberNumber of retry attempts on failure
Retry on FailureBooleanWhether to automatically retry on error

All notification types share the following fields:

PropertyTypeDescription
LabelTextDisplay name shown on the node card
DescriptionTextShort description of the node’s purpose
StatusDropdownActive / Draft / Disabled

Schemas

{
"type": "VerticalLayout",
"elements": [
{
"type": "MessageOnError",
"scope": "#/properties/missingPreviousVariable",
"text": "plugins.validation.missingDependency"
},
{
"label": "Select Notification Type",
"type": "Select",
"scope": "#/properties/type"
},
{
"type": "Accordion",
"label": "General Information",
"rule": {
"effect": "SHOW",
"condition": {
"scope": "#",
"schema": {
"required": [
"type"
]
}
}
},
"elements": [
{
"type": "Text",
"scope": "#/properties/label",
"label": "Title",
"placeholder": "Node Title..."
},
{
"type": "Select",
"scope": "#/properties/status",
"options": [
{
"label": "Active",
"value": "active",
"icon": "StatusActive"
},
{
"label": "Draft",
"value": "draft",
"icon": "StatusDraft"
},
{
"label": "Disabled",
"value": "disabled",
"icon": "StatusDisabled"
}
],
"label": "Status"
},
{
"type": "Text",
"scope": "#/properties/description",
"label": "Description",
"placeholder": "Type your description here..."
}
]
},
{
"rule": {
"effect": "SHOW",
"condition": {
"scope": "#/properties/type",
"schema": {
"const": "email"
}
}
},
"type": "Accordion",
"label": "Email Settings",
"elements": [
{
"type": "Text",
"scope": "#/properties/sendEmail/properties/address",
"label": "Send To",
"placeholder": "user@example.com"
},
{
"type": "Text",
"scope": "#/properties/sendEmail/properties/copy",
"label": "CC / BCC",
"placeholder": "manager@example.com"
},
{
"type": "VariableText",
"scope": "#/properties/sendEmail/properties/subject",
"label": "Subject",
"placeholder": "Type your subject here... Use {{ to insert variables"
},
{
"type": "VariableTextArea",
"scope": "#/properties/sendEmail/properties/body",
"label": "Email Body",
"placeholder": "Type your message here... Use {{ to insert variables",
"minRows": 5
},
{
"type": "Select",
"scope": "#/properties/sendEmail/properties/priority",
"label": "Priority",
"options": [
{
"label": "Normal",
"value": "normal"
},
{
"label": "Low",
"value": "low"
},
{
"label": "High",
"value": "high"
}
]
},
{
"type": "HorizontalLayout",
"elements": [
{
"type": "Label",
"text": "Retry on Failure:"
},
{
"type": "Switch",
"scope": "#/properties/sendEmail/properties/retryOnFailure"
}
]
},
{
"type": "HorizontalLayout",
"elements": [
{
"type": "Label",
"text": "Number of retries"
},
{
"type": "Text",
"scope": "#/properties/sendEmail/properties/retries",
"rule": {
"effect": "DISABLE",
"condition": {
"scope": "#/properties/sendEmail/properties/retryOnFailure",
"schema": {
"const": false
}
}
}
}
]
}
]
}
]
}