A correlation key is a set of variables that is used to identify a process instance in order to route the messages that apply to it. For example, during a flight booking process on the Web, a registered client may have put a ticket in his wish list, but needs further information before booking it. When he comes back to his wish list, the correlation key allows the retrieval of his flight ticket, so he can proceed to the payment.
Correlation keys can be created in models targeting the SOA, BPMN, and BPEL languages.
A correlation key is associated with a process implemented by an operation (see Operations (BPM)). Depending on the operation type, a process (activity) can have one correlation key associated with the input message it receives and/or one associated with the output message it sends.
The Dependencies tab of the correlation key property sheet displays the list of the processes that use the correlation key for reception and emission of messages.