Send Message

Use this step to send messages using the RabbitMQ.

Last published at: September 9th, 2025

SendRabbitMQMessage Step

Description:

The Send RabbitMQ Message workflow step sends the specified message to a RabbitMQ queue (an open-source message broker) using the selected RabbitMQ connection and exchange configuration.

The step supports:

  • Selecting a RabbitMQ connection.
  • Defining the message to send.
  • Specifying an exchange name.
  • Optionally specifying a message queue.
  • Optionally specifying a routing key.
  • Optionally defining RabbitMQ message parameters.
  • Continuing the workflow through a True or False return path.v

 

Inputs

  • RabbitMQ – The Select RabbitMQ Connection property identifies the RabbitMQ connection to use.
  • messageData – The messageData property specifies the message that should be sent.
  • exchange – The exchange property specifies the exchange name.
  • messageQueue – The messageQueue property specifies the message queue.
  • routingKey – The routingKey property specifies the routing key.
  • messageParms – The messageParms property provides a mapping for RabbitMQ message parameters.
 

 

Returns

  • True – The True path can be connected to the next workflow activity when the message operation follows the successful processing path.
  • False – The False path can be connected to an alternative or error-handling workflow path.
 

      

Usage:

The Send RabbitMQ Message step is typically used when a FlowWright workflow needs to send workflow-generated information to RabbitMQ.

A typical workflow pattern is:

Prepare Data → Send RabbitMQ Message → Continue Process

The workflow can prepare the message content, select the RabbitMQ connection, specify the exchange, and optionally provide the queue, routing key, and message parameters.

For example:

Process Request → Prepare Message → Send RabbitMQ Message → Continue Processing

You can connect the resulting True and False paths to subsequent workflow activities based on the required process flow.

 

 

Before using this step in a process definition, configure a RabbitMQ connection using the following UI:

 

A sample configuration is provided for reference. 

 

RabbitMQ is a widely used Enterprise service bus; you can get more information from their site at: https://www.rabbitmq.com/

 

Typical Workflow Suggestions:

Publish a Workflow Notification

Use the step to send a workflow-generated notification message to RabbitMQ.

Example:

Process Event → Send RabbitMQ Message → Continue Process

Message:

Workflow notification

Process: {{ProcessName}}
Instance: {{InstanceID}}
Status: {{Status}}
This allows the workflow to construct the message before sending it through the configured RabbitMQ connection.

 

Publish Process Completion Information

Use the step to send process completion information to a RabbitMQ exchange.

Example:

Complete Process → Send RabbitMQ Message → Update Status

Message:

Process completed successfully.

Process ID: {{ProcessID}}
Instance ID: {{InstanceID}}
Status: {{Status}}
The Exchange name property identifies the exchange configured for the message operation.

 

Send an Order Processing Message

Use this step to send order-related information to a configured message queue.

Example:

Approve Order → Send RabbitMQ Message → Complete Order

Message:

Order processing request

Order ID: {{OrderID}}
Customer: {{CustomerName}}
Amount: {{OrderAmount}}
Use the Message Queue input when you need to specify a queue.

 

Route Messages Using a Routing Key

Use this step when messages need to be associated with a routing key.

Example:

Evaluate Request → Send RabbitMQ Message → Continue Process

Message:

Request ID: {{RequestID}}
Request Type: {{RequestType}}
Status: {{Status}}
The workflow can provide the required routing value through the Routing Key input.

 

Send Messages with Additional RabbitMQ Parameters

Use the step when additional RabbitMQ message parameters need to be mapped as part of the message operation.

Example:

Prepare Integration Message → Send RabbitMQ Message → Process Response

Message:

Customer update

Customer ID: {{CustomerID}}
Update Type: {{UpdateType}}
The Message parameters input uses the RabbitMQMessageParms data type for mapping RabbitMQ message parameters.
 

Example:

Let’s build and execute the “clsSendRabbitMQMessageDef” example.                

  • Create a new process definition named “clsSendRabbitMQMessageDef” and open it in designer mode. 
  • Drag a "clsSendRabbitMQMessage" step to the canvas.
  • Connect the dots between the “Start” and "clsSendRabbitMQMessage" steps, as shown above. 
  • Select the line between the steps to configure the “Connection Properties”. The default property values are “None, True, False, Error, and Evaluate”. Depending on the step’s purpose, you can configure additional values.
  • Click the "clsSendRabbitMQMessage" step to configure its “Required” properties. Provide a name for the step. Select the RabbitMQ connection from the dropdown. Enter the text message to send. Enter the exchange name. Click the Save button. Note: Click the "AI Predict" button to have Copilot add new process steps that match your process description. 

 

  • Click the "clsSendRabbitMQMessage" step to configure its “Optional” properties. Provide the message queue and routing key. Click the button to configure the message parameters. A pop-up window appears for configuration. Click the Add Row (+) button to insert an empty row. Enter the key and value. Click the Save button. You may add multiple message parameters by using the Add Row button. 

 

  • The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. Configure the step state and percent fields individually, as shown in the images below. Configure the “Logging” using the following properties.

 

  • Save the process definition, create a new instance, and execute it. Render the process instance. Click the process step. The step should publish or send messages to the RabbitMQ service. Access the RabbitMQ service to verify the action. 

 

Tips:

  • Select the appropriate RabbitMQ Connection before configuring the message.
  • Always provide the required Message to send value.
  • Always provide the required Exchange name.
  • Use the Message queue property when a specific queue needs to be supplied.
  • Use the Routing Key property when routing information is required.
  • Use Message parameters when additional RabbitMQ message configuration is needed.
  • Use workflow variables to populate dynamic message content where appropriate.
  • Keep message formats consistent when downstream consumers depend on the message structure.
  • Verify that the configured exchange corresponds to the intended RabbitMQ destination.
  • Verify queue and routing-key values before deploying the workflow.
  • Connect the False path to an appropriate alternative or error-handling activity when required.
  • Test the message configuration with representative workflow data before production deployment.
  • Avoid including sensitive information in messages unless the RabbitMQ environment and downstream consumers are appropriately secured.
  • When using Message parameters, verify the available parameter mappings in the FlowWright environment.
  • Do not assume retry, timeout, acknowledgment, persistence, or delivery behavior from the step definition alone.

 

Definition Sample:

You may download the sample definition(s) from the link provided and later import them (drag-and-drop) into your FlowWright Process Definition (XML file) or Form Definition (HTML file) page.

After importing or configuring a definition containing this step, verify and complete the environment-specific configuration, including:

  • RabbitMQ connection selection.
  • Message content.
  • Exchange name.
  • Message queue, when required.
  • Routing key, when required.
  • Message parameters, when required.
  • True and False workflow paths.
  • RabbitMQ environment-specific settings.

Click here to download the sample file.