You cannot currently write complex booleans in workflow expressions.
If for example I want to write an expression run workflow when “(a or b) and c” I must write it as “a and c or b”. I cannot I think write expressions at all like (a or b) and (c or d)
Permitting brackets in the expression builder would I think be the easiest way.
I can simulate this behaviour with complex sets of custom events but the number of events required gets silly quite quickly.
Edit more complex expressions is the same idea I think.