Description:
The Send Messages step belongs to the Engine category in FlowWright. Its XML definition identifies the step as sendmessages, with the label “Send messages between process instances” and display name “Send Msgs.” The step uses the FlowWright.Workflow.SendMessages namespace and FlowWright.Workflow.dll. It is defined as a Process step with two input connections and two output connections.
The step provides two required properties:
- Messages to send – specifies the message content.
- Select instance types – specifies the process-instance types associated with the message operation.
The XML defines Messages to send as a string/text property and Select instance types as a selectInstanceLevel property. The corresponding property type is described as “Get instance type list.”
Typical uses include:
- Sending messages between process instances
- Communicating information from one workflow instance to another
- Triggering message-based coordination between process instances
- Passing workflow messages as part of a larger business process
- Coordinating related process instances
- Using instance-level selection to control which process instances participate in the message operation
The step provides True and False execution paths so the workflow can continue through different paths depending on the outcome of the operation.
Note: If you want to send the message to all waiting workflows, we recommend creating a custom event handler and sending the message to it. Using the FlowWright API, the event handler should retrieve all waiting workflow instances and send a message to each one.
Inputs
-
selInstLevel– Select instance types; when sending messages, select where to send messages to. The options are the following:
- Current – current workflow
- All – all workflow instances within the hierarchy, includes all parents, children & siblings
- Siblings – send messages to only siblings
- Parents – send messages to all parents within the hierarchy
- Children – send messages to all children
- Top Most – send messages to the top most workflow instance
- waitMessage – list of messages to send, should be a “,” separated list
Returns
- True - Indicates the workflow continues through the True path.
- False - Indicates the workflow continues through the True path.
Usage:
The Send Messages step is typically placed in a workflow when one process instance needs to communicate a message to other process instances.
During execution:
- Configure the required Messages to send property.
- Select the required instance types.
- Execute the step.
- Continue workflow processing through the True or False path.
The XML confirms that both configuration properties are required.
A typical workflow might look like:

Example:
Let’s build and execute the “sendMessagesDef” example.
- Create a new definition called “sendMessagesDef” and open the definition in designer mode.
- Drag a “Task, WaitForMessage, and sendMessages” step to the canvas.
- Connect the dots between the “Start” and the other steps, as shown above.
- Click the “Task” step to configure its “Required” properties. Then provide a name for the step.
- Click the “Task” step to configure its “Optional” properties. Select the user to route to. Enter the task duration. Click the Save button.
- Click the “sendMessages” step to configure its “Required” properties. Provide a name for the step and the message to send. Select an instance type from the drop-down list (All, Children, Current, Parents, Siblings, and TopMost). The instance type “Current” is selected because the message is sent to a “WaitForMessage” step in the same instance. Click the Save button. Note: Click the "AI Predict" button for the Copilot to add new process steps that match your process description.

- Click the “WaitForMessages” step to configure its “Required” properties. Provide a name for the step and the message to wait for. Then click the Save button. Note: Click the "AI Predict" button to have the Copilot add new process steps that match your process description.

- Save the process definition, create a process instance, and then execute it. The instance is sleeping at the Task step, as shown below.

- The SendMessage step should “publish or send” messages to the process.

Tips:
- Always configure Messages to send because it is required.
- Always select an appropriate value for Select instance types because it is required.
- Use clear, meaningful message content so the purpose of the communication is easy to understand.
- Select the instance type appropriate for the process-instance communication required by the workflow.
- Place the step after the workflow operation that produces the information being communicated.
- Use the True path for normal workflow continuation.
- Use the False path for appropriate error or exception handling.
- Keep message content concise when only a notification or status message is required.
- Test the workflow with the intended process-instance configuration before deploying it.
- Do not document a specific message syntax, delivery mechanism, retry behavior, or recipient-selection rule unless it is confirmed by the FlowWright implementation or additional documentation.
Notes:
- Category: Engine.
-
Internal name:
sendmessages. - Label: Send messages between process instances.
- Display name: Send Msgs.
-
Namespace:
FlowWright.Workflow.SendMessages. -
DLL:
FlowWright.Workflow.dll. - Step definition type: Process.
- Input connections: 2.
- Output connections: 2.
- Messages to send: Required.
- Select instance types: Required.
-
Messages to send uses the
stringdata type. -
Select instance types uses the
selectInstanceLeveldata type. - The string property type is supplied by
FlowWright.DataTypes.ClsTextBoxand is described as “Get textbox.” - The instance-selection property type is supplied by
FlowWright.DataTypes.SelectInstanceLeveland is described as “Get instance type list.” - True and False execution paths are available.
- The XML does not expose a result Variable/Global property.
- The XML does not expose a connection-string, timeout, transaction, retry, or scheduling property.
- The XML does not document the detailed runtime message-delivery mechanism, message format, recipient resolution, retry behavior, or delivery guarantees. These should not be inferred from the definition alone.
Definition Sample:
You may download the sample definition and later import it by drag-and-drop into the FlowWright Process Definition (XML file) page.
After importing the sample, verify and complete any environment-specific configuration, particularly:
- Messages to send
- Select instance types
- Connections to the surrounding workflow steps
- True and False execution paths
After verifying the configuration, save the Process Definition before executing the workflow.
This follows the same sample-definition approach used in the ExecuteSQL documentation, which instructs users to import the definition, verify missing configurations, save the definition, create a Process Instance, and execute it.
Click here to download the sample file.