Model an optional task

Hello everyone,

We use camunda process engine in order to automate our workflow. We start simple and we had complexity to the process as we go.

I have a question regarding the modeling of a use case and I would like to have comunity’s feedback.

This is the use case we want to implement :

  • When the user perform the Task “Complete the case”, he can send a message to the customer in order to collect more information.
    Once the message is sent, the process instance is waiting for the customer answer.
    Here, everyone can consult the case until the answer is received or the timer expires.

So, more than an optional task, it’s an “out of the process” task. At this stage user can just conult, not interact with the case and move the process.

I represent this use case in this way :

First, we get into CMMN. We talk a lot about case, and it seems a good way to model case lifecycle.
But notation is not as friendly as BPMN and it’s more complex to manage interaction between CMMN and BPMN in process engine.

So, I use an event subprocess : start and end are triggered by messages throw event in the main process.

Is there a better way to model this use case ?

It may be improved, so feel free to ask your question and share your comments.