Currently a processInstanceId is the only way an application can identify a process instance to a ProcessRuntime. However, many existing applications and APIs already have the notion of a correlationId which can be used to uniquely identify a unit of work. This work could be much larger than just the BPM process, and thus encompass it. In those situations, being able to identify a process instance using a developer-defined correlationId (which identifies the larger work) would be beneficial. The obvious workaround is for applications to maintain their own table mapping correlationId to processInstanceId, however this would be a nice feature for jBPM to provide out-of-the-box.