Attaching escalation boundary events to user tasks

As described in the documentation here: https://docs.camunda.org/manual/7.9/reference/bpmn20/events/escalation-events/#escalation-boundary-event

An escalation boundary event may only be attached to the boundary of a sub process or call activity. A quick test of a process that uses it elsewhere also results in a parsing error for the process definition:

org.camunda.bpm.engine.ProcessEngineException: ENGINE-09005 Could not parse BPMN process. Errors: 
* An escalation boundary event should only be attached to a subprocess or a call activity

This limitation is also described in this forum post: Escalation boundary event on user task

As mentioned by the OP of that thread, also in Bruce Silver’s book there is mention of the pattern to escalate from an active user task, which makes a lot of sense in some cases. Since Camunda prides itself on having full executable BPMN support, why is this not available? The BPMN spec also allows for this in table 10.90 on page 255 of the PDF version. There is mention there of activities, not just sub processes and call activities.

@Niall mentions in the referenced thread that it could be messy to implement, but it seems an API similar to that for message correlation would suffice to send the escalation to the process instance and possibly even specify the activity definition id to be as specific as possible so the engine can check there is actually a waiting event there. It might be trickier for multi-instances, I admit.

My question is whether there is some reason the team decided not to support this valid pattern or if there are any plans to incorporate it some time.

Hi @tiesebarrell,

I don’t think there is a specific reason, other that it would require additional (tested and maintained) API endpoints to trigger escalation and there hasn’t been much demand for this so far. Accordingly, there are also currently no plans to build this.

The parameter for this API would probably be an activity instance id or an execution id. Feel free to document the requirement in our JIRA. We are happy to receive contributions :slight_smile:

Cheers,
Thorben

Hi @thorben,

thanks for the response. I can see the point of effort, it’s just that I’m surprised this question has not come up that much before, as it seems like a rather common case.

I’ll add something to Jira sometime soon, and also have a look into whether I would like to contribute something myself.

Cheers,
Tiese

This question has come up earlier, I asked it myself some time ago. Is it still unavailable?

At the moment, it is still unavailable. I have filed an issue with Camunda to look into it and it’s being considered.

Thank you, tiesebarrell