Send and Receive Message activities have a CorrelationFilter property. This property is used to define messages arriving at a port bound to a workflow that will be directed to the current Workflow Instance. In the absence of a CorrelationFilter, all incoming messages would be directed to new (rather than an existing) workflow instances.
A CorrelationFilter expression is like a regular BlueIntegrator Filter except that it can relate to two messages: a reference message and the incoming message. The filter determines whether a new incoming message should be directed to a workflow instance by comparing it to the reference message. For example, a workflow may be used to process receipts, so on sending a message a CorrelationFilterproperty on the Send Message Activity can be configured to route incoming messages of type PurchaseOrder/Receipt where
[Reference Message].PurchaseOrderId = [SecondaryMessage].ReceiptEntityId. A Receive Message Activity is still required to actually receive these receipts, but the CorrelationFilter will ensure that they are routed appropriately.
The Correlation Filter is bound at the time of the receive or send action, which means any subsequent changes to messages (or the value of properties) will not be reflected immediately.
The Correlation Filter is set in the Workflow Editor properties for a Send or Receive Port activity: