Skip to content

Communication Nodes ​

Communication nodes deliver messages, alerts, and reports to users and channels. Use them as the terminal step of automation pipelines or as alert gates in error-handling branches.

NodeTypeOutput
Email Sendemail_sendjson
Slack Notifyslack_notifyjson
Discord Notifydiscord_notifyjson
Telegram Notifytelegram_notifyjson
Push Notificationpush_notificationjson
SMS Sendsms_sendjson

Email Send ​

Type: email_send · Category: Communication

Send an email with mapped subject, body, recipients, and optional attachments.

Inputs ​

NameTypeRequiredDescription
messagetextNoBody text from upstream.
payloadjsonNoStructured data for template rendering.
attachmentsfileNoFile attachments.

Outputs ​

NameTypeShape
deliveryjson{ status: text, messageId: text, provider: text }

Required Config ​

FieldTypeDescription
tostringRecipient email or mapping (e.g. {{workspace.owner.email}}).
subjecttemplateSubject template.
bodytemplateBody template (markdown supported by most providers).

Optional Config ​

FieldTypeDefaultDescription
fromProfilestringdefaultSender profile configured in workspace settings.
attachmentsjson—Attachment mappings: [{ name, filePath }].
providerselectresendresend · smtp
retryjson—Retry policy: { attempts, backoffMs }.

Example ​

json
{
  "fromProfile": "founder-updates",
  "to": "{{workspace.owner.email}}",
  "subject": "LenserFight weekly AI digest - {{formatDate $.firedAt}}",
  "body": "{{$.summary}}",
  "attachments": [{ "name": "leaderboard.csv", "filePath": "$.leaderboardFile.url" }],
  "provider": "resend",
  "retry": { "attempts": 3, "backoffMs": 2000 }
}

Scenario: Send the weekly AI digest to founders.

Expected output: { "status": "sent", "messageId": "resend_abc123", "provider": "resend" }

Downstream: → logger with { "message": "$.messageId" }

Valid Connections ​

→ logger (delivery audit)

→ Any upstream node that produces text, json, or file.

Execution Notes ​

  • Runs in worker / server environments.
  • fromProfile must be configured in Workspace Settings → Email Profiles.
  • Use {{secrets.keyName}} to reference API keys from secret storage.

Troubleshooting ​

  • "Delivery failed" — check the provider configuration and fromProfile.
  • "Missing attachment" — ensure filePath resolves to a valid URL; use Object Storage Upload first.
  • "Template not rendering" — verify that {{variable}} paths exist in the upstream payload.

File Writer · Object Storage Upload · Schedule Trigger · Logger


Slack Notify ​

Type: slack_notify · Category: Communication

Send a Slack message to a channel using the configured workspace Slack integration.

Required Config ​

FieldTypeDescription
channelstringChannel name (e.g. #arena-alerts) or user id.
texttemplateMessage template. Supports {{variable}} interpolation.

Optional Config ​

FieldTypeDefault
providerstringslack
retryjson{ attempts: 3, backoffMs: 2000 }

Example ​

json
{
  "channel": "#arena-alerts",
  "text": "Battle {{$.battleId}} winner: {{$.winner}}",
  "provider": "slack"
}

Expected output: { "status": "sent", "ts": "1715850000.000100" }

Downstream: → logger

Discord Notify · Email Send · Error Catch


Discord Notify ​

Type: discord_notify · Category: Communication

Send a Discord message through a webhook URL.

Required Config ​

FieldTypeDescription
webhookUrlstringDiscord webhook URL or secret reference.
contenttemplateMessage content.

Example ​

json
{
  "webhookUrl": "{{secrets.discordArenaWebhook}}",
  "content": "New battle result: {{$.winner}}"
}

Expected output: { "status": "sent", "messageId": "discord_123" }


Telegram Notify ​

Type: telegram_notify · Category: Communication

Send a Telegram chat message through the configured bot.

Required Config ​

FieldTypeDescription
chatIdstringChat id or secret reference.
texttemplateMessage text.

Example ​

json
{
  "chatId": "{{secrets.telegramOpsChat}}",
  "text": "Workflow failed: {{$.error.message}}"
}

Push Notification ​

Type: push_notification · Category: Communication

Send an in-app or device push notification to a workspace audience.

Required Config ​

FieldTypeDescription
audiencestringTarget audience (e.g. workspace_admins).
titletemplateNotification title.

Optional Config ​

FieldTypeDescription
bodytemplateNotification body.

Example ​

json
{
  "audience": "workspace_admins",
  "title": "Digest ready",
  "body": "{{$.summaryTitle}}"
}

Expected output: { "status": "queued", "notificationId": "push_123" }


SMS Send ​

Type: sms_send · Category: Communication

Send an SMS alert through the configured provider (default: Twilio).

Required Config ​

FieldTypeDescription
tostringRecipient phone number or mapping.
bodytemplateSMS body.

Example ​

json
{
  "to": "{{workspace.owner.phone}}",
  "body": "Critical workflow failed: {{$.workflowName}}"
}

Expected output: { "status": "sent", "messageId": "sms_123" }


See also: Node Catalog Index · Integration Nodes · Storage Nodes · Workflow Studio