There is a new feature in Lightning Flows called Auto Layout. I’m a huge fan. When you create a new flow, I would always recommend selecting this. It means a much better experience building your flow. You get a start block and you click the plus sign on the line to add a block. Then you click one of two plus signs (above or flow the block you just added) to add another block. When you add a decision, you get two paths. It’s all quite nice.
There is a copy feature provided to copy a bunch of blocks and then paste them at an “x” location. This is great for duplicating sections. But you must be careful. Any variables, API names, etc. are indexed by the paste function to be unique. This means they no longer reference the variables you copy from. This may be great, but if you need any common variables, you’ll have to go back and edit the copy to accomplish that.
Sometimes you want to move blocks. This is not easily done in auto layout mode. I highly recommend switching back to manual mode to move items around. I have done this without any negative implications. You don’t need to be afraid of switching back and forth. You get a warning, but I found no other implications. Once in manual mode, you can disconnect your pieces, reconnect them, and then switch back to auto layout mode. You don’t need to “pretty it all up.” Auto-layout takes care of it for you.
I have a lot of existing flows in manual mode. I like to see them in auto layout mode. Sometimes you get a warning that it can’t be done. Auto layout doesn’t handle legacy faults well. You’ll likely have to delete those and then add a fault path back to your block in auto layout mode. If you followed a common design pattern, you may have connected all your fault lines together to one email block. You’ll have to delete those to move to auto layout. But you can easily copy the email block and past it onto the fault line of each block. It’s not DRY (don’t repeat yourself) but it’s probably OK.
Sometimes I need to add a decision to skip around or provide an alternative path around a big block of flow code. You can’t do that with auto layout. But you add your decision, switch to manual layout, delete the escape branch and reattach it to where you want the two paths to rejoin. Then it’s back to auto layout mode. No problems!
The one thing that totally stymies auto-layout for now is a “goto” loop. I have those since I write flow long before there was a loop construct. To convert those permanently to auto layout, I need to recode them with a loop element. However, if I’m just wanting to more easily read the flow, I can delete the loop line and temporary convert to auto-layout. I just can’t save it and activate. I have done that while debugging complex flow that include “legacy” code several times.
Enjoy the new flow features that are easier than ever to use effectively and efficiently. More is coming. And don’t be afraid of auto-layout mode benefits but jumping back temporarily to manual mode when you need.
I second the trick about removing the loop paths for layout.
We compared notes in the Berlin developer group meeting earlier this month and noted that a benefit of using auto layout is that it forces a nice consistency in design logic.
This is especially helpful when multiple people are working the same flow, or you are just coming back to one done a year ago.
While it takes a bit of work to convert and start using it, once you do – it is overall much easier to follow and figure out system-wide.
It’s good enough now that in think nobody should ever use manual placement anymore.