Send messages to a broker.

Parameters:
See dedicated page for more information.
pushMessageBroker is a scripted action. Embedded code is accessible and customizable through this tab.
See dedicated page for more information.
The pushMessageBroker action publishes messages from your pipeline into a RabbitMQ-compatible message broker (AMQP).
Each row of your input table is transformed into a message that can be sent either directly to a queue or to an exchange with a specific routing key.
The node can also optionally append message delivery metadata (such as message ID, broker response, and status) back to the table for traceability and auditing.
This action is typically used for:
At runtime, pushMessageBroker connects to a RabbitMQ service defined in your pipeline parameters.
Each incoming row is turned into a message — the payload is taken from a selected column, and the routing key determines where the message is delivered.
If the Append columns to input table option is enabled, the output table will include extra metadata columns that record whether each message was successfully published and, if available, the broker’s message identifier or error details.
It’s important to note that this box does not create queues or exchanges itself.
All target queues, exchanges, and bindings must already exist on the broker.
The action only publishes to them, based on your configuration.
The component accepts a single input table.
Each row of the input is sent as a separate message.
The output depends on your configuration:
By default, the output table is identical to the input (pass-through).
When Append columns to input table is activated, new columns appear with message delivery results, such as:
This allows you to keep an audit trail and reprocess failed messages if necessary.
To send messages, pushMessageBroker needs connection details for your message broker (RabbitMQ or compatible AMQP server).
These credentials are not entered directly in the box, but are defined in the pipeline parameters under the Services section.
To configure:
Open Pipeline parameters from the top toolbar.
Go to the Services tab.
Scroll to the section Queues of message brokers.
Click + Add to create a new broker definition.
Fill the following fields:
myBroker or rabbit_production).5672 for AMQP or 5671 for TLS-secured connections./).Save the parameters.
Back in the pushMessageBroker action, use the Source queue name dropdown to select the name you just defined.
This will automatically bind the box to the corresponding broker credentials and connection details.
Tip:
You can define multiple brokers (for example, one for development and one for production) and simply switch between them by changing the selected Source queue name in the box parameters.
Defines how the input data is processed:
Selects the broker configuration defined in the Pipeline parameters → Services tab.
This dropdown lists all available broker definitions created in your pipeline.
It tells the component which RabbitMQ server, port, queue/exchange, and credentials to use.
Specifies the routing key used when publishing to an exchange.
The routing key determines where your message is delivered:
topic or direct types), it defines the routing pattern, such as order.created or user.signup.v1.This parameter tells the component which column contains the message content.
Each value in that column is sent as a separate AMQP message.
The message content is typically JSON text, but any string or serialized payload is valid.
If your data contains binary content, you should encode it as Base64 before sending.
You can select the column interactively via the Column selector, or manually enter its name.
If the input pin is not yet connected, you can still type the column name manually.
When this switch is enabled, the output table will include metadata columns with information about message delivery.
This is useful during testing or for systems that require confirmation and logging of each sent message.
It helps you identify which messages were successfully published and which failed.
When the box runs:
It retrieves broker connection details from the Services section using the chosen queue name.
It establishes an AMQP connection and authenticates with the broker.
For each row in the input table:
If Append columns to input table is on, delivery results are added to the output.
Imagine you have an input table with a JSON column named payload_json, containing messages like:
{"event":"order.created","order_id":4587}
{"event":"order.shipped","order_id":4591}
You want each row to be sent as a message to your RabbitMQ broker.
Steps:
In Pipeline parameters → Services, define a broker:
ordersBrokerrabbitmq.internal5672orders.queue/etl_writerIn pushMessageBroker parameters:
event)payload_jsonRun the pipeline.
Each row will be sent as a JSON message to the orders.queue, and the resulting output table will include delivery statuses.
domain.entity.event.v1 to simplify downstream filtering.The pushMessageBroker box is your publishing bridge between ETL tables and a RabbitMQ-compatible message broker.
It converts each row into a discrete AMQP message and sends it to your defined destination.
By combining broker configuration through pipeline parameters, column-based payload selection, and optional audit feedback, it provides a reliable and flexible way to stream data or trigger asynchronous events directly from your pipelines.
