Channel Nodes Reference
Channel nodes send messages across various channels including email, WhatsApp, and Slack.
Send Email (Raw Content) Node
Send emails with custom HTML or plain text content you provide directly.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | No | Email integration (auto-selects if not provided) |
| To Email | Text | Yes | Recipient email address |
| To Name | Text | No | Recipient name |
| Subject | Text | Yes | Email subject line |
| HTML Content | Text | Conditional | HTML email body |
| Text Content | Text | Conditional | Plain text email body |
| From Email | Text | No | Sender email (uses integration default) |
| From Name | Text | No | Sender display name |
| Reply To | Text | No | Reply-to email address |
| Template ID | Text | Conditional | Email template ID |
| Template Variables | Object | No | Variables for template |
Content Options
Provide one of:
- HTML Content: Custom HTML email body
- Text Content: Plain text email body
- Template ID: Reference to email template
Example: Send Custom Email
To Email: {{contact.email}}
To Name: {{contact.first_name}}
Subject: Welcome to {{company.name}}!
HTML Content: <h1>Hello {{contact.first_name}}</h1><p>Thank you for signing up...</p>
Output Variables
{{emailsend_1.success}} - true/false
{{emailsend_1.message_id}} - Email ID from provider
{{emailsend_1.recipient}} - Email sent to
{{emailsend_1.error}} - Error message if failed
Send Bulk Email Node
Send emails to multiple recipients at once.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Email integration |
| Recipients | Array | Conditional | List of email addresses |
| Recipients Source | Select | No | config, input, contact_list, segment |
| Recipients Input Variable | Text | Conditional | Variable containing recipient list |
| Subject | Text | Yes | Email subject |
| HTML Content | Text | Conditional | HTML email body |
| Text Content | Text | Conditional | Plain text body |
| Template ID | Text | Conditional | Email template ID |
| Batch Size | Number | No | Batch size (default 100) |
| From Email | Text | No | Sender email |
| From Name | Text | No | Sender name |
Recipients Format
Recipients can be:
- Array of email strings:
["a@test.com", "b@test.com"] - Array of objects:
[{"email": "a@test.com", "name": "Alice", "variables": {...}}]
Example: Bulk Send from Query
Recipients Source: input
Recipients Input Variable: {{databasequery_1.data}}
Subject: Monthly Newsletter - {{date}}
Template ID: newsletter-march-2024
Output Variables
{{emailbulksend_1.success}} - true/false
{{emailbulksend_1.total_sent}} - Number of emails sent
{{emailbulksend_1.total_failed}} - Number of failures
{{emailbulksend_1.results}} - Array of individual results
Send Template Message Node (Campaign Send)
Send templated messages using pre-designed templates from your template library. Supports Email, SMS, and WhatsApp channels.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Channel | Select | Yes | email, sms, whatsapp |
| Integration | Select | No | Integration to use (auto if not specified) |
| Template Source | Select | No | manual, input, auto |
| Template ID | Text | Conditional | Template ID (when source is manual) |
| Contact Source | Select | No | input, config |
| Contact Input Variable | Text | Conditional | Variable with contact data |
| Template Variable Mappings | Object | No | Map template vars to data fields |
| Track Opens | Toggle | No | Track email opens (default true) |
| Track Clicks | Toggle | No | Track link clicks (default true) |
| Use WhatsApp Template | Toggle | No | Use WhatsApp business template |
| Enable Retry | Toggle | No | Retry on failure |
| Max Retry Attempts | Number | No | Retry attempts (1-5, default 3) |
Channel-Specific Notes
Email:
- Uses email templates from template library
- Supports open and click tracking
- Auto-selects email integration if not specified
SMS:
- Uses SMS templates
- Character limits apply
- Requires SMS integration
WhatsApp:
- Regular messages or WhatsApp Business templates
- Template approval required for business templates
- 24-hour messaging window rules apply
Example: Send Email Template
Channel: email
Template Source: manual
Template ID: welcome-email-v2
Contact Input Variable: {{crmmanager_1.contact}}
Template Variable Mappings: {
"first_name": "first_name",
"company": "company.name",
"signup_date": "created_at"
}
Example: Send WhatsApp Template
Channel: whatsapp
Use WhatsApp Template: true
Template ID: order_confirmation
Contact Input Variable: {{webhooktrigger_1.payload}}
Output Variables
{{campaignsend_1.success}} - true/false
{{campaignsend_1.message_id}} - Provider message ID
{{campaignsend_1.channel}} - Channel used
{{campaignsend_1.recipient}} - Recipient address
{{campaignsend_1.error}} - Error message if failed
Slack Node
Comprehensive Slack operations for messaging, channel management, and more.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Slack workspace integration |
| Operation | Select | Yes | Operation to perform |
| Channel | Text | Conditional | Channel name or ID |
| Message | Text | Conditional | Message content |
| User | Text | Conditional | User ID or email |
| File | Text | Conditional | File URL or content |
Operations
| Operation | Description |
|---|---|
send_message | Send message to channel |
send_dm | Send direct message to user |
list_channels | Get channel list |
list_users | Get user list |
upload_file | Upload file to channel |
add_reaction | Add emoji reaction |
get_history | Get message history |
create_channel | Create new channel |
invite_user | Invite user to channel |
set_topic | Set channel topic |
pin_message | Pin/unpin message |
get_user_info | Get user details |
set_status | Set user status |
Channel Format
#general - Public channel by name
@username - Direct message
C1234567890 - Channel ID
U1234567890 - User ID
Message Formatting
Slack supports markdown:
*bold* _italic_ ~strikethrough~
`code` ```code block```
<https://example.com|Link Text>
<@U1234567890> - Mention user
<#C1234567890> - Mention channel
Example: Send Message
Operation: send_message
Channel: #sales-alerts
Message: New deal closed! 🎉
*{{deal.name}}*
Value: ${{deal.value}}
Contact: {{contact.first_name}} {{contact.last_name}}
Example: Send DM
Operation: send_dm
User: {{user.slack_id}}
Message: Task assigned: {{task.title}}
Output Variables
{{slacknode_1.success}} - true/false
{{slacknode_1.ts}} - Message timestamp
{{slacknode_1.channel}} - Channel posted to
{{slacknode_1.channels}} - Channel list (for list_channels)
{{slacknode_1.users}} - User list (for list_users)
{{slacknode_1.file}} - Uploaded file info
{{slacknode_1.error}} - Error message if failed
WhatsApp Output Node
Send WhatsApp messages back to users in a conversation.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | No | WhatsApp integration |
| Message Content | Text | No | Message with variables |
| Use Template | Toggle | No | Use WhatsApp template |
| Template Name | Text | Conditional | Template name |
| Fallback Message | Text | No | Default if no input |
| Add Typing Indicator | Toggle | No | Show typing (default true) |
Message Variables
Message Content: Hello {{contact.name}}!
Your order {{order.id}} has been shipped.
Tracking: {{order.tracking_number}}
{{llmintegration_1.output}}
Output Variables
{{whatsappoutput_1.success}} - true/false
{{whatsappoutput_1.message_id}} - WhatsApp message ID
{{whatsappoutput_1.status}} - Message status
WhatsApp Question Node
Send a WhatsApp message and pause workflow to wait for user response.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Question Text | Text | Yes | Question/message to send |
| Use Template | Toggle | No | Use WhatsApp template |
| Template Name | Text | Conditional | Template name |
| Template Variables | Array | No | Template variable values |
| Buttons | Array | No | Quick reply buttons (max 3) |
| Timeout Minutes | Number | No | Timeout (0-1440, default 60) |
| Timeout Message | Text | No | Message if no response |
Quick Reply Buttons
[
{"text": "Yes", "payload": "yes"},
{"text": "No", "payload": "no"},
{"text": "Maybe later", "payload": "later"}
]
Example: Ask Question
Question Text: Would you like to schedule a demo call?
Buttons:
- "Yes, schedule now" → "schedule"
- "Send me times" → "times"
- "Not interested" → "no"
Timeout Minutes: 30
Timeout Message: No problem! Feel free to reach out when you're ready.
Output Variables
{{whatsappquestion_1.response}} - User's response text
{{whatsappquestion_1.button_payload}} - Clicked button payload
{{whatsappquestion_1.responded}} - true/false
{{whatsappquestion_1.timed_out}} - true if timed out
{{whatsappquestion_1.response_time}} - Time to respond
Quick Reference
Node Selection Guide
| Need | Use |
|---|---|
| Custom HTML email | Send Email (Raw) |
| Bulk email campaign | Send Bulk Email |
| Template-based message | Send Template Message |
| Email, SMS, or WhatsApp template | Send Template Message |
| Slack messages | Slack |
| WhatsApp reply | WhatsApp Output |
| WhatsApp with wait | WhatsApp Question |
Common Patterns
Multi-Channel Notification:
[Trigger] → [Condition: Channel preference]
→ Email → [Send Email]
→ WhatsApp → [WhatsApp Output]
→ Slack → [Slack: send_message]
Conversational WhatsApp:
[WhatsApp Trigger] → [WhatsApp Question: "How can I help?"]
→ [Condition: Response]
→ [LLM Integration] → [WhatsApp Output]
Lead Notification:
[New Lead] → [Slack: send_message to #sales]
→ [Send Template Message: Welcome email]
Best Practices
- Use templates for consistency - Campaign Send for branded messages
- Use raw email for dynamic content - Email Send when AI generates content
- Handle failures - Check success and have fallback channels
- Respect opt-outs - Check contact preferences before sending
- Use typing indicators - Makes conversations feel natural
- Set reasonable timeouts - Don't wait forever for responses