Skip to main content

RabbitMQ Connection

The RabbitMQ connection type enables automations to publish and consume messages using the AMQP protocol against a RabbitMQ message broker. It supports both plain and TLS-secured connections to any RabbitMQ instance, including cloud-hosted versions such as CloudAMQP.

Connection Details

PropertyValue
Type IDRABBITMQ
CategoryMessaging and Event Systems
TestableYes

Friendly Example

What you enterExample
Connection nameRabbitMQ - Job Events
Used forPublishing job completion events to a queue that downstream systems consume
Main details to collectBroker host, port, username, password, and virtual host
Best person to provide itMessaging or platform administrator

After it is saved, workflow builders select RabbitMQ - Job Events in a node instead of entering these details again.

Mandatory Fields

FieldWhat It MeansExample
hostHostname or IP address of the RabbitMQ broker.rabbitmq.internal or bunny.cloudamqp.com
portAMQP port the broker listens on. Default is 5672 for plain connections; use 5671 for TLS.5672
usernameRabbitMQ user that the automation authenticates as.automation-user
passwordPassword for the RabbitMQ user. Encrypted at rest.(your password)
virtualHostRabbitMQ virtual host to connect to. Defaults to / if your broker uses only one vhost./ or production
AMQP URL reference

The fields above map to the standard AMQP URL format:

amqp://username:password@host:5672/vhost

For TLS connections, replace amqp:// with amqps:// and use port 5671.

Advanced Fields

FieldWhat It MeansExample
sslSet to true to enable TLS encryption. Change the port to 5671 when enabling.false
heartbeatHeartbeat timeout in seconds. The broker and client negotiate the actual value. Increase for unstable networks.60
connectionTimeoutTime in milliseconds to wait for the TCP connection to be established before failing.10000
prefetchCountNumber of messages the consumer will pre-fetch from the broker. Lower values reduce memory pressure; higher values increase throughput.10

Setup Instructions

  1. Obtain the broker host and port from your RabbitMQ administrator or cloud provider. For CloudAMQP, these are shown on the instance dashboard.

  2. Create a dedicated user with the minimum required permissions:

    • Via the RabbitMQ Management UI: open Admin → Users → Add a user.
    • Via the CLI: rabbitmqctl add_user automation-user <password> and then rabbitmqctl set_permissions -p / automation-user ".*" ".*" ".*" (adjust the vhost and permission pattern to the minimum needed).
  3. Identify or create the virtual host the automation should connect to. The default vhost is /. New vhosts can be created under Admin → Virtual Hosts in the Management UI.

  4. For TLS connections: enable SSL in the Advanced Fields and change the port to 5671. Confirm with your administrator that the broker has a valid certificate and that your platform can reach it.

  5. Create the connection in the Global Configurator and test it to verify that the user can authenticate and connect to the correct vhost.

caution

Do not use the default guest user for automation connections. RabbitMQ only allows guest to connect from localhost and it has full permissions — both are security risks in production.

Troubleshooting

SymptomLikely Cause
Connection refused on port 5672The broker is not running, the wrong host or port was entered, or a firewall is blocking the connection
ACCESS_REFUSED on loginThe username or password is incorrect, or the user does not have permission on the specified virtual host
NOT_ALLOWED when connecting to a vhostThe user exists but has not been granted permissions on that virtual host — run rabbitmqctl set_permissions
SSL handshake failed or TLS alertSSL is enabled but the broker is not configured for TLS, or the broker's certificate is not trusted by the platform