🚨 A major change to how you build workflows

🍝 Untangling your workflows

The previous way workflow connections worked in Workflow86 meant that if you wanted to pass placeholders from Component A to Component B, you needed to draw a direct connection between those components. As a consequence of this design model, workflows tended to be very difficult to follow. Case in point is this “3 Week Feedback Cycle” workflow:
You can see that because the placeholders from the Form at the start is needed by all the components after it, we had to draw a connection to every single component. The workflow quickly becomes a messy tangle of connections, and it is really hard to understand what exactly is going on in the workflow itself.
Β 
Developers often refer to code that is difficult to maintain and understand as “Spaghetti code”. With its jumble of connections going in every direction, we were essentially creating “Spaghetti no-code”: workflows that were difficult to understand, maintain and use.
Β 
To fix this, we’ve completely redesigned how connections work, and in turn, completely redesigned how you build your workflows to make them clearer and easier to understand. This redesign means the workflow above can now be reformatted to look like this:
The workflow still works exactly the same as it did before, but it is now much easier to follow and understand what exactly is going on as the workflow is run. We explain the redesign in detail below.

❗ Connections are no longer required to access placeholders

The core change that has been made is that connections are no longer required to pass placeholders from one component to the next. Instead, components will automatically pass the placeholders of all components before them to any components after them.
Β 
For example, in the workflow below, the Form component previously had to be connected to the Email component if you wanted to access the placeholders from the form.

❌ Old model

Under the new model, placeholders from the Form will be passed into the Email via the List Transform. So if we were to update the example above, we can remove connection between the Form and Email because it is now no longer required:

βœ… New model

Here’s another example. Under the new model, the Email at the end of the workflow below will now have access to the placeholders from the Form, Conditional Logic, and List Transform because the List Transform passes the placeholders from itself and all the previous components to the Email.

βœ… New model

Under the old model, the workflow would have to look like this to achieve the same thing:

❌ Old model

😌 Clearer and easier to understand workflows

One benefit of this change is that your workflow canvas can now be built a lot clearer and less convoluted, particularly as the workflow gets more complex and contains more components. You now only need to connect one component to another when you want to set one component to run after the other.

So you workflows can go from looking like this:

To looking like this:

βŒβœ… Before and after examples

Here are a few more before and after examples which show what a massive impact this change can have on a workflow.

❌ Before

βœ… After

❌ Before

βœ… After

❌ Before

βœ… After

🚩 Will this affect how my workflows currently run?

No it will not – if your workflow has explicit connections between every component, this change will not affect how it runs. It just means that your workflow may have a lot of connections that don’t need to be there for it to run the same way.

🌳 A quick tip to prune and delete connections faster

With this change, a lot of users will be going through their existing workflows and deleting the now unnecessary connections. To do this quickly, click on a connection and then once it is selected, press the “Delete” button on your keyboard.