Overview
This node, named "Heliont Messaging Sender," is designed to create and send messages through the Heliont messaging hub. It supports multiple operating modes that allow users to add messages to a queue, send messages instantly, or send all queued messages with optional delays between sends. This flexibility makes it useful for automating message workflows where batching, scheduling, or immediate sending of various message types is required.
Common scenarios include:
- Building a queue of messages to be sent later in bulk.
- Sending messages immediately as they are created.
- Combining queuing and instant sending in one workflow.
- Managing message sending with controlled delays to avoid flooding recipients.
Practical examples:
- A customer support system that queues responses and sends them out at scheduled intervals.
- An alerting system that sends urgent notifications instantly while batching less critical updates.
- Marketing campaigns that prepare personalized messages and send them in controlled bursts.
Properties
| Name | Meaning |
|---|---|
| 🔀 Operating Mode | Defines the task of this node. Options: Add message to queue, Add message to queue & send queue, Add message & send instantly, Send queue. |
| 📤 Waiting time (seconds) | How long to wait between sending each message when sending from the queue. Only applicable when sending queued messages. |
| 📨 What to Send | Type of message content to send. Options include: Audio, Button, Contact, Document, Image, List, Location, Reaction (Emoji), Result List, Result Map Link, Status (Read, Typing On/Off), Sticker, Text, Video. |
| Respond to message | Whether this message is a reply to another message. Only the first message in multiple inputs will be marked as a response. Applicable for most message types except status updates and reactions. |
| 📝 Body | Text content of a plain text message. |
| Enable Link Preview | Show a link preview if the text contains a URL. |
| 📝 Body (Interactive) | Text body for interactive messages like buttons or lists (max 1024 characters). |
| 🌐 Media URL | URL of media to send for image, video, audio, document, or sticker messages. |
| 🖼️ Caption | Caption text for image, video, or document messages. |
| 📎 Filename | Filename for document messages. |
| Contact Info | Details of contacts including full name, organization, and multiple phone numbers (with labels). |
| 📍 Latitude | Latitude coordinate for location messages (-90 to 90). |
| 📍 Longitude | Longitude coordinate for location messages (-180 to 180). |
| 🏷️ Location Name | Display name for the location (e.g., landmark name). |
| Button | Up to three buttons with unique IDs and titles for button messages. |
| Header | Optional header text shown above list messages. |
| List Footer | Optional footer text shown below list messages. |
| List Button Label | Text on the button that opens the list (max 20 characters). |
| List Sections | Up to 10 sections in a list message, each with a title and multiple rows. Rows have unique IDs, titles, and optional descriptions. |
| Emoji Reaction | Select an emoji reaction to send. Includes many common emojis such as thumbs up, heart, laughing face, fire, crying face, clapping hands, party popper, and more. |
Output
The node outputs two main data streams:
Result output: Contains a JSON object summarizing the operation result with fields:
success: Boolean indicating overall success.mode: The operating mode used.inputCount: Number of input items processed.createdCount: Number of messages created and added to the queue.sentCount: Number of messages successfully sent.
Forward output: Passes through the original input items unchanged, allowing further processing downstream.
No binary data output is indicated by the code.
Dependencies
- Requires valid credentials for the Heliont messaging hub API (an API key or token).
- Needs a pre-existing "contract" stored in the workflow's global static data; this contract must be created before using this node.
- Relies on internal helper functions for building messages, managing queues, and sending messages via the Heliont API.
Troubleshooting
Error: "No contract found in memory."
This means the node expects a contract object in the workflow's global static data but none was found. To fix, ensure a contract is created and stored before running this node.Error: "No input items received — nothing to send."
The node requires input data to process. Make sure the previous node provides input items.Message sending failures
If messages fail to send, check the validity of credentials and network connectivity to the Heliont messaging hub.Queue management issues
When using queue modes, verify that messages are properly stored and loaded from the queue. Misconfiguration or missing data can cause unexpected behavior.
Links and References
- Heliont Messaging Hub Documentation (example placeholder, replace with actual URL if available)
- n8n documentation on Creating Custom Nodes
- General info on Messaging Queues and Batch Processing
This summary is based solely on static analysis of the provided source code and property definitions.