Process scoped reusable subprocess

I would like to remove redunduncy in my process and whant to
create a reusable subprocess that is not visible outside my main process (“process scoped”) and call it at the several places of the main process using call activity? Is it possible in BMNM 2.0/camunda?
Embedded subprocess is not reusable, then cannot be called from different places of the main process. What I need looks like event subprocess but synchron. I understand, I can “wait” for the end of the event subprocess but it looks more like a workaround.
Any suggestions?

@roman-mkh have you tried like below?

reusableProcess.bpmn (9.7 KB)

@aravindhrs
thank you for proposition, I see, you set the subprocess “not executable”, but this prevents it from execution by process engine. Anyway this gives me a hint, that there is another flag “startable”, which can be used to hide process in the tasklist, but process definitions will be in the global scope.

@roman-mkh both process should be executable, you can set it to true.

@aravindhrs then the subprocess is in the global scope. Any other processess can call it. If I refer your example: I would like to have that “Document Collection Process” is only visible and callable from “KYC process”.

@roman-mkh reusable suprocesses are always globally accessible to all the process as per bpmn standards. The alternative way could be modeling non-interrupting event sub-process and waiting for recieve task/intermediate catch event, so that event sub-process will be with in the scope of parent process. I haven’t tested this flow, just a heads up :slight_smile: