To branch a process and run multiple steps at the same time, add multiple outgoing connections from a step. You can use any combination of success, fail, and both conditional flags, as described in Conditional processes. For example, the following process shows a step that branches into four other steps. Two connections have success flags. One has a fail flag, and one has a both flag.
In this case, if the first step finishes, three steps run at the same time: the connections with the success flags and the connection with the both flag. If the first step fails, two steps run at the same time: the connection with the fail flag and the connection with the both flag.
If a process has multiple steps that run at the same time, you can use connections to merge the process to a single step. For example, the following process shows two steps that are running at the same time. Both of these steps have a connection to a third step, and both of these connections have a success conditional flag. In this case, if both of those steps finish, the following step runs. If either step fails, the third step might or might not run, depending on the timing of the other steps and the internal timing of the process on the server.
To merge the process to a single step, and to remove the ambiguity of the previous example, use a Join step. This step prevents the process from continuing until all the steps that have incoming connections are complete.
For example, the following process is the same as the previous process, except that Step 1 and Step 2 connect to a Join step, which then connects to Step 3. In this case, the Join step prevents Step 3 from running unless both Step 1 and Step 2 run and are completed.