Merge and converge workflow paths and branches
The ability to merge multiple paths of a workflow back together is a popular feature request in many workflow automation platforms. The bad news is a lot of platforms still do not offer this functionality. The good news is that you can merge and converge in Workflow86. In this article, we go through the why and where you would use merging in a workflow.
Branching and merging workflows
Workflows are rarely entirely linear and this is where features like the ability to branch and merge a workflow come into play. A workflow or process will often feature parts where a task or operation will lead to multiple other tasks or operations. Where one task triggers multiple other tasks is known as branching. This is where the workflow diverges or splits into multiple branches or paths. In the example below, we can see how the form branches into three separate paths:
The ability to branch a workflow into multiple paths is a pretty standard feature, and you will find it almost any workflow or process automation platform. For example, in Integromat, you can branch or create paths in your workflow by using their Router module:
Merging workflows back together again
The opposite of branching a workflow is merging a workflow, and this involves taking multiple branches or paths and directing them into one path. Let’s take a look at a few scenarios as to why and when you might need to use a merge in a workflow.
Merging to avoid duplicate steps
Here’s an example from Workflow86. Say you have a workflow where you want to execute the same tasks (perform some conditional logic and send an email) whether Form A or Form B gets submitted:
Rather than duplicate the Conditional Logic and Email tasks for both Task A and Task B, you can instead use the merge component, setting the Conditional Logic and Email to run if either Form A or Form B gets submitted.
Below is an example of a similar situation where a merge would be very useful in Integromat:
After the workflow is branched into two paths, those paths contain identical modules or steps. Without a merge, these steps have to be duplicated for each path of the workflow after the branch. A merge (or Converger as Integromat calls it) would allow the user to merge the two (or more) routes into one and connect the common sequence after it to achieve something like this:
Merge to allow multiple triggers
A merge component could also allow users to set multiple triggers for a single workflow as well. This is another application of a merge – allowing a workflow to be started by multiple separate events. For example, the workflow below in Workflow86 can be triggered by a Form submission or a Webhook.
The bad news for Integromat users…
Integromat is, of course, a very different tool to Workflow86, given its focus on integrations between third party apps. However, Integromat does highlight how useful a merge/converge feature is for any workflow or process automation tool. Indeed, a merge/converger feature is currently the top request in the “Updates to existing apps” category:
While it appears that Integromat does plan to build out a dedicated module for this functionality, this feature has been in progress for quite some time according to community comments. In the meantime, Integromat recommends several workarounds.
How to merge paths in Workflow86
Fortunately for Workflow86 users, we have just released a dedicated component specifically for merging workflow paths. This feature allows users to configure a merge in two ways. Firstly, you can configure a merge that will allow the workflow to progress any of the selected components have been executed. For example, we can specify that the workflow continues to run the Conditional Logic and Email if any of Form A OR Form B OR Form C gets executed.
Here is what that configuration would look like in the Merge Workflow component:
The Merge Workflow component can also get a bit smarter by allowing you to configure a more conditional merge. In the example below, we can implement a merge if a certain combination of components gets executed. In this case, we want to run the rest of the workflow if (Form A and Form B) or (Form A and Form C) gets submitted. So if Form B gets submitted, the merge will not occur unless Form A also gets submitted. Similarly, if Form A gets submitted, it will not continue to run unless Form B or Form C gets submitted.
Here is what that configuration would look like in the Merge Workflow component:
You can find the detailed documentation on the Merge Workflow component below. The Merge Workflow component is currently available to all users on any plan, giving everyone an additional way to make their workflows even more powerful.