Ну мы где-то так и делаем. По сути мы берем userTask из bpms, регистрируем в бэке, к нему цепляем на бэке логику, формы, валидацию данных. Далее после выполнения задачи в процессе выбирается, какую задачу ставить дальше, ждать ли каких-то сигналов с бэкенда. Т.е. задача активна пока оператор выполняет предписание. Как только он закончил - работает bpms и взаимодействует с разными сревисам, ждет чего-то если это необходимо.