I know there are already earlier posts on this topic, but honestly, clicking the “Vote” +1 on those really doesn’t emphasize this pain.
Every time I create or edit an “large” workflow (like more than 30+ nodes), I currently waste a ton of time having to shuffle/move nodes around in the workflow, so that the structure remains readable. We’re talking anywhere from 15 mins to 1 hour. It’s ridiculous.
The fact that there’s not an auto-layout option in the UI to move/reorder nodes automatically gives me serious pause about creating any very large workflows in the n8n platform.
I should be spending time creating – not time reorganizing.
The only way around this problem, is to force your users to “think” about node design in a very rigid way, where they need to know exactly how many branches/loops they will need ahead of time, before starting development. That is a huge point of friction towards standard “test-driven development” – where you build a little, test a little, and iterate.
The auto-layout feature doesn’t have to be “perfect”. Heck, even make.com’s auto-layout feature is really bad with very large scenarios, but it’s better than nothing, which is the case on n8n. I would gladly take a bad auto-layout feature versus nothing at all.
Why are you building large workflows? I have used a big amount of nodes couples of times, but generally that’s very ambiguous. It’s getting too complex to operate with, hard to debug and consumes many resources just to draw nodes
@feisty , yeah, I’m not keen on shipping every workflow over to a random webapp that does “magic positioning”.
The code isn’t even fully open source, as it simply takes any submitted JSON and ships it to some random, opaque n8n webhook for further “magic processing”:
Seems like a great way to harvest other people’s work, though.
We have some ideas around this and recently saw an early demo of auto-layouting. It worked amazingly but still had some (difficult) edge cases to handle.
For me personally, it doesn’t even need to be automatically. I would love to be able to choose where the input is and where the output goes. So flipping it horizontally, or even having the input be on the left side and the output on top or bottom. It would be such a great add!