Reference · Tools

AMQP Sender

Send messages to AMQP 1.0 queues and topics.

Action Communication v1

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

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires AMQP credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Queue / TopicstringYesName 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.
HeadersjsonNoHeader parameters as JSON (flat object). Sent as application_properties in the AMQP message metadata. Supports expressions.
OptionscollectionNo{}Connection and message formatting options.
— Container IDstringNoCustom RHEA container ID. Passed to the AMQP client as container_id.
— Data as ObjectbooleanNofalseWhether to send the data as a native AMQP object. When false (default), the body is JSON-stringified.
— ReconnectbooleanNotrueWhether to automatically reconnect if disconnected from the broker.
— Reconnect LimitnumberNo50Maximum number of reconnect attempts before failing.
— Send PropertystringNoThe only property to send from the item. If empty, the entire item JSON is sent as the message body.
Max ConcurrencynumberNo5Maximum 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"
}
  • _amqpDeliveryId is the delivery identifier the broker assigned to the published message.
  • _amqpSink is 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

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes 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 BusyBot

Last updated . Spotted something wrong? Tell us.