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
| Property | Value |
|---|---|
| Type ID | RABBITMQ |
| Category | Messaging and Event Systems |
| Testable | Yes |
Friendly Example
| What you enter | Example |
|---|---|
| Connection name | RabbitMQ - Job Events |
| Used for | Publishing job completion events to a queue that downstream systems consume |
| Main details to collect | Broker host, port, username, password, and virtual host |
| Best person to provide it | Messaging or platform administrator |
After it is saved, workflow builders select RabbitMQ - Job Events in a node instead of entering these details again.
Mandatory Fields
| Field | What It Means | Example |
|---|---|---|
host | Hostname or IP address of the RabbitMQ broker. | rabbitmq.internal or bunny.cloudamqp.com |
port | AMQP port the broker listens on. Default is 5672 for plain connections; use 5671 for TLS. | 5672 |
username | RabbitMQ user that the automation authenticates as. | automation-user |
password | Password for the RabbitMQ user. Encrypted at rest. | (your password) |
virtualHost | RabbitMQ virtual host to connect to. Defaults to / if your broker uses only one vhost. | / or production |
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
| Field | What It Means | Example |
|---|---|---|
ssl | Set to true to enable TLS encryption. Change the port to 5671 when enabling. | false |
heartbeat | Heartbeat timeout in seconds. The broker and client negotiate the actual value. Increase for unstable networks. | 60 |
connectionTimeout | Time in milliseconds to wait for the TCP connection to be established before failing. | 10000 |
prefetchCount | Number of messages the consumer will pre-fetch from the broker. Lower values reduce memory pressure; higher values increase throughput. | 10 |
Setup Instructions
-
Obtain the broker host and port from your RabbitMQ administrator or cloud provider. For CloudAMQP, these are shown on the instance dashboard.
-
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 thenrabbitmqctl set_permissions -p / automation-user ".*" ".*" ".*"(adjust the vhost and permission pattern to the minimum needed).
-
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. -
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. -
Create the connection in the Global Configurator and test it to verify that the user can authenticate and connect to the correct vhost.
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
| Symptom | Likely Cause |
|---|---|
Connection refused on port 5672 | The broker is not running, the wrong host or port was entered, or a firewall is blocking the connection |
ACCESS_REFUSED on login | The username or password is incorrect, or the user does not have permission on the specified virtual host |
NOT_ALLOWED when connecting to a vhost | The user exists but has not been granted permissions on that virtual host — run rabbitmqctl set_permissions |
SSL handshake failed or TLS alert | SSL is enabled but the broker is not configured for TLS, or the broker's certificate is not trusted by the platform |