Complex Gateway


Is the complex gateway supported in the Camunda Engine ?


No it’s not - out of interest what are you trying to model that might require a complex gateway?


Thanks Niall,

My scenario is that I have a parallel sequence…
Sequence 1: being an user task that can be completed
Sequence 2: An external task that can be completed (system triggered)

I need the continue/merge as soon as one of them complete … (but the next task should only execute once)

As a workaround - I could have conditional gateways after each task to transition them to an end event if a variable is set (based on the first task that completes)… however a complex gateway seemed more elegant …

Is there another way to achieve this that I may be missing ?


There are quite a few ways of modeling this - i wouldn’t recommend a complex gateway because their broad definition leads to confusion of readers, its just not explicit enough. (Also it doesnt execute :slight_smile: )

I would suggest this solution:

But as i said. there are a lot more options.

How to model concurrent User Tasks

Hi Niall,

Thanks for sharing. The given example is using sub-process. Instead of using sub-process, can you share other way so that activities can put nicely on bpmn swimlane?


Lanes have no semantics for scope in the same way as a sub-process would so it wouldn’t work in the same way with lanes.
Can you tell me why you need to use lanes and describe what you’re trying to achieve?


I have different user groups, and each lane represents a specific user group. As swimlane can clearly visualize the task responsibilities, so just checking any other ways instead of sub-process to stick activities on lanes…


From what i remember - accoring to the BPMN standard Activities cannot cross lanes.
Generally speaking i hate using lanes - it makes models harder to read and maintain. I would suggest using colors to represent the tasks. But if you really want to use lanes this would also work:


Thank you for your prompt reply. Really appreciate your helps.
I totally agreed that lanes is tough.