RabbitMQ

The RabbitMQ node sends or receives messages from RabbitMQ queues and exchanges. Use it for message-driven workflows and event processing.

The RabbitMQ node sends or receives messages from RabbitMQ queues and exchanges. Use it for message-driven workflows and event processing.

Overview

PropertyValue
Inputs1
Outputs1
Output$nodeLabel.status, $nodeLabel.message_id, $nodeLabel.body (receive)

Parameters

ParameterTypeDescription
credentialIdUUIDRabbitMQ credential from Credentials
rabbitmqOperation"send" | "receive"Operation type
rabbitmqExchangestringExchange name (optional for send)
rabbitmqRoutingKeystringRouting key (for send)
rabbitmqQueueNamestringQueue name (required for receive, optional for send)
rabbitmqMessageBodyexpressionMessage body for send (supports expressions)
rabbitmqDelayMsnumberx-delay header in ms (delayed message plugin)

Operations

Send

Publishes a message to a queue or exchange.

FieldRequiredDescription
rabbitmqMessageBodyyesJSON or string body
rabbitmqQueueNameoptionalDirect queue target
rabbitmqExchangeoptionalExchange name
rabbitmqRoutingKeyoptionalRouting key
rabbitmqDelayMsoptionalDelay in milliseconds

Output: $nodeLabel.status ("published"), $nodeLabel.message_id, $nodeLabel.exchange, $nodeLabel.routing_key

Receive

Trigger mode: workflow starts when a message arrives. No incoming edge needed when used as trigger.

Output: $nodeLabel.body (message payload), $nodeLabel.message_id, $nodeLabel.queue

Example – Send

{
  "type": "rabbitmq",
  "data": {
    "label": "publishMessage",
    "credentialId": "rabbitmq-credential-uuid",
    "rabbitmqOperation": "send",
    "rabbitmqQueueName": "tasks",
    "rabbitmqMessageBody": "$userInput.body"
  }
}