However, compensation (undoTaskx) is not called. I believe that the problem in signaling compensate intermediate event. <intermediateThrowEvent id="throwCompensation"> <compensateEventDefinition/> </intermediateThrowEvent> Could you help me find a way to trigger compensation event from outside the transacted subprocess ?