I would think about using custom workflows as much as you can. It helps to structure workflows that you might use in other situaties as well. So it can be that you have multiple entry points to the same workflow.
Where to place the condition depends a bit on the structure if your app and use case