The AMQP Node allows the workflow to receive data from an external Advanced Message Queuing Protocol (AMQP) broker, such as RabbitMQ. It listens to a specified queue, parses incoming messages, and passes structured JSON payloads into the workflow
What It Does
The node connects to an AMQP broker using a set of credentials and retrieves messages from a named queue. It extracts and processes message content, optionally applying UID tagging, timestamp conversion, and rate limiting before emitting payloads downstream.
This node is typically used for integrating with messaging systems in IoT platforms, enterprise middleware, or real-time telemetry feeds.
Step-by-Step: How to Configure the AMQP Node
-
Add the node
-
Drag the AMQP Node from the Inputs section to your workflow canvas.
-
-
Open configuration
-
Double-click the node to open the connection and parsing settings.
-
-
Configure broker credentials and queue info
-
Enter authentication and queue-specific details as described below.
-
Configuration Fields
Connection & Authentication
Field | Requirement | Description |
---|---|---|
Node Name* | Required | Internal identifier for the node. |
Username* | Required | Username for AMQP broker authentication. |
Password* | Required | Password for AMQP authentication. |
Host Name | Required | The host/IP address of the AMQP broker (e.g., mq.example.com ). |
Port | Optional | Broker port (default: 5672 ). |
Virtual Host | Optional | The virtual host within the AMQP broker, if applicable. |
Queue Name | Required | The name of the queue to listen to for incoming messages. |
Message Parsing & Routing
Field | Requirement | Description |
---|---|---|
UID JSON Key | Optional | Field in the message that identifies the device UID. Used for tagging and grouping. |
Enable Saving Raw Data | Optional | When enabled, stores raw incoming message payloads. |
Payload Rate Limiting (Optional)
Field | Description |
---|---|
Payload Rate Limit | Enables throttling of emitted payloads based on a time interval. |
JSON Key or Field Name | Field used to apply rate limiting (optional). |
Interval (seconds) | Minimum number of seconds between emitted payloads. |
Payload Date Settings (Optional)
These settings allow mapping of timestamps from the payload to Rayven’s internal format.
Field | Description |
---|---|
Timestamp JSON Key | Field containing the timestamp in the message. |
Timestamp Format | Expected format of the timestamp (e.g., yyyy-MM-dd HH:mm:ss ). |
Time Zone | Time zone used to interpret the timestamp (e.g., UTC , UID time zone ). |
Output Example
Assuming the message payload looks like:
{
"uid": "device123",
"temperature": 22.4,
"timestamp": "2025-07-15 14:30:00"
}
With correct configuration, the AMQP node may emit:
{
"uid": "device123",
"temperature": 22.4,
"timestamp": "2025-07-15T14:30:00Z"
}
Best Practices
-
Use TLS/SSL settings at the broker level if security is required — this node assumes unsecured AMQP unless configured at the broker.
-
Make sure your queue name is unique and scoped appropriately to avoid conflicting consumers.
-
Enable rate limiting when dealing with bursty producers or dashboards that don't require high-frequency updates.
-
Always configure timestamp parsing to ensure consistency in historical analysis and time-based logic.
Use Cases
-
Integrate with RabbitMQ to ingest device or system messages
-
Consume data from enterprise integration platforms that forward to AMQP
-
Bridge external systems that publish JSON over AMQP into the Rayven workflow
-
Throttle noisy telemetry feeds before visualizing or triggering alerts
FAQ
Q: What happens if the queue contains malformed JSON?
A: The node will fail to parse the payload. You can route errors downstream using an error-handling node or enable raw message storage for debugging.
Q: Can this node publish to AMQP?
A: No. This node is input-only. For outbound messaging, use the HTTP Output Node or a custom integration.
Q: Does the node acknowledge messages?
A: Yes, messages are acknowledged after successful receipt and parsing.