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.
attachmentsjsonAttachment mappings: [{ name, filePath }].
providerselectresendresend · smtp
retryjsonRetry 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