
In Questetra BPM Suite, you can have multiple tasks proceed simultaneously within a single case. This article explains the concepts behind achieving parallel processing.
As a prerequisite, the unit of processing that flows through a workflow is called a “token.” Which step the token is currently at represents the progress of that work. (The basics of tokens are explained in the beginner tutorial Chapter 2: Experience How to Use a Workflow App.)
(Note: The Split AND Gateway (Parallel Gateway) and Split OR Gateway (Inclusive Gateway) are not available in the Basic edition. Please use them with the Advanced or Professional edition.)
Only One Token Starts Moving per Case
When a case is started, only one token ever starts moving. You can place multiple start events in a single App (for example, having both a [Message Start Event (Form)] that starts from form input and a [Timer Start Event] that starts at a scheduled time). However, this means “there are multiple triggers (entry points) for starting a case” — multiple tokens do not start moving simultaneously from multiple start events. A single case begins from the one start event that was actually triggered, and one token starts moving from there.
Therefore, even if you place a start event in each of different swim lanes, two paths will not proceed in parallel at the same time. Note that if you place a start event in each swim lane thinking “I want Person A’s and Person B’s tasks to run in parallel,” the intended parallel processing will not occur.
When Started by a Person, the First Task Must Come Right after the Start Event
When a person inputs data to start a case, the first step that receives the input (a [Start Event] + the first [Human Task], or a [Message Start Event (Form)]) becomes the starting point. The parallel split that branches the token is placed after this first input step.
Parallel Processing Is Achieved with Gateways
The following two types of split gateways can split a single token into multiple tokens to achieve parallel processing:
- [Split AND Gateway (Parallel Gateway)]: Splits the token and advances it to all paths unconditionally. All paths are always processed in parallel.
- [Split OR Gateway (Inclusive Gateway)]: Evaluates the condition on each path and splits the token to all paths whose conditions are met. If multiple paths match, that many paths are processed in parallel (the number of parallel paths varies depending on the conditions).
Use AND when you want to “always run all paths in parallel,” and OR when you want to “run only the paths that match the conditions in parallel.” Note that the [Split XOR Gateway (Exclusive Gateway)], which selects only one path, does not split the token.
At the point where paths converge, place the corresponding merge gateway ([Merge AND Gateway] / [Merge OR Gateway]). The merge gateway waits for all split tokens to arrive, and once all have arrived, merges them into a single token and advances it to downstream steps. Be aware that if you do not place a merge gateway at the convergence point, tokens will continue downstream on each path as-is, causing downstream tasks to be generated once for each path.
Summary
- Only one token starts moving when a case is started.
- Even if you place multiple start events, multiple tokens will not start moving simultaneously.
- When started by a person, the parallel split occurs after the first input step.
- To achieve parallel processing, split the token using a [Split AND Gateway] (unconditional parallel) or [Split OR Gateway] (conditional parallel), and merge them into one at the [Merge Gateway] where paths converge.



