As described in the documentation here: Escalation Events | docs.camunda.org
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.