Reference · Tools
AMQP Sender
Send messages to AMQP 1.0 queues and topics.
AMQP Sender publishes messages to an AMQP 1.0 queue or topic, sending one message per input item to the address you configure. It works with ActiveMQ, Azure Service Bus and RabbitMQ running the AMQP 1.0 plugin, and can carry application properties as headers. Use it to hand work off to a downstream consumer — for example enqueueing each row of a nightly export for another system to process.
- Node type
- Action
- Parameters
- 4
- Outputs
- Output, Error
- Credentials
- AMQP
AMQP Sender
Send messages to AMQP 1.0 queues and topics.
Overview
AMQP Sender publishes messages to AMQP 1.0 compatible message brokers (e.g. ActiveMQ, RabbitMQ with AMQP 1.0 plugin, Azure Service Bus). Each input item is sent as a separate message to the configured queue or topic address. Supports application properties (headers), reconnection with configurable limits, sending the full item JSON or a specific property, and sending data as a stringified JSON or as a native AMQP object.
Category: Communication
Tool Name: amqp
Version: 1
Appearance: Icon: lucide-MessageSquare | Color: #0060A0
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires AMQP credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Queue / Topic | string | Yes | — | Name of the queue or topic to publish to. Examples: “my-queue”, “topic://events.orders”, “queue://work-items”. Supports expressions, so each item can target a different address. |
| Headers | json | No | — | Header parameters as JSON (flat object). Sent as application_properties in the AMQP message metadata. Supports expressions. |
| Options | collection | No | {} | Connection and message formatting options. |
| — Container ID | string | No | — | Custom RHEA container ID. Passed to the AMQP client as container_id. |
| — Data as Object | boolean | No | false | Whether to send the data as a native AMQP object. When false (default), the body is JSON-stringified. |
| — Reconnect | boolean | No | true | Whether to automatically reconnect if disconnected from the broker. |
| — Reconnect Limit | number | No | 50 | Maximum number of reconnect attempts before failing. |
| — Send Property | string | No | — | The only property to send from the item. If empty, the entire item JSON is sent as the message body. |
| Max Concurrency | number | No | 5 | Maximum number of items to process concurrently. Lower values recommended since each item opens its own AMQP connection. |
Output Data
One output item per input item. The original item JSON passes through unchanged and binary data is forwarded; the node adds the delivery details of the message it published:
{
"_amqpDeliveryId": 1,
"_amqpSink": "topic://events.orders"
}
_amqpDeliveryIdis the delivery identifier the broker assigned to the published message._amqpSinkis the queue or topic address the message actually went to, after expressions in Queue / Topic were resolved for that item.
Reference either downstream by expression, e.g. {{ $json._amqpSink }}.
Usage Examples
- Send order events to an ActiveMQ topic for downstream processing
- Publish workflow results to a RabbitMQ queue via AMQP 1.0
- Enqueue messages to Azure Service Bus for async processing
- Push notification payloads to a message broker for fan-out delivery
Example Configuration
Send each item to a work queue:
{
"type": "amqp",
"parameters": {
"sink": "orders-queue",
"maxConcurrency": 3
}
}
Publish to a topic with application-property headers:
{
"type": "amqp",
"parameters": {
"sink": "topic://events.orders",
"headerParametersJson": {
"messageType": "order.updated",
"source": "inventory-service",
"correlationId": "{{ $json.orderId }}"
},
"maxConcurrency": 5
}
}
Send only one property of the item, as a native AMQP object, over a tuned connection:
{
"type": "amqp",
"parameters": {
"sink": "queue://high-priority-tasks",
"headerParametersJson": {
"priority": "urgent",
"correlationId": "{{ $json.batchId }}"
},
"options": {
"containerId": "worker-node-01",
"dataAsObject": true,
"reconnect": true,
"reconnectLimit": 20,
"sendOnlyProperty": "payload"
},
"maxConcurrency": 2
}
}
Route each item to the address named in its own data:
{
"type": "amqp",
"parameters": {
"sink": "topic://application.{{ $json.eventType }}",
"headerParametersJson": {
"eventType": "{{ $json.eventType }}",
"version": "v1"
},
"options": {
"containerId": "event-publisher",
"reconnect": true
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
AMQP Sender publishes messages to AMQP 1.0 queues and topics (ActiveMQ, RabbitMQ AMQP 1.0 plugin, Azure Service Bus). Use it to enqueue work items, send events, or integrate with message-oriented middleware.
Frequently asked questions
Which brokers does this node work with?
Any broker speaking AMQP 1.0 — ActiveMQ and Azure Service Bus natively, and RabbitMQ only when the AMQP 1.0 plugin is enabled. RabbitMQ's default protocol is AMQP 0-9-1, which this node does not speak.
How many messages does one node run send?
One per input item. Ten items arriving produce ten separate messages to the configured queue or topic, so if you want a single batched message, aggregate the items upstream first.
Can I send just one field instead of the whole item?
Yes. The node can send the full item JSON or a single named property, and can transmit the value either as a stringified JSON payload or as a native AMQP object depending on what the consumer expects.
What happens when the broker is unreachable?
The node reconnects up to the configured limit before giving up. A message that still cannot be delivered fails its item, which routes to the Error output when the node's error handling is set to continue using the error output.
Build with the AMQP Sender node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need AMQP credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.