> - добавить нужны колонки в таблицу - но как заставить камунду в той же транзакции писать эти поля?
Я против того, чтобы лезть во внутренности Камунды или ее базы без крайней необходимости.
Например, всегда есть риск, что через 10-20 лет надо будет развернуть Ваше приложение на новой машине и кто-то забудет сделать эти изменения в базе данных Камунды.
Есть масса альтернатив. Можно сделать отдельный REST endpoint, которому Вы передаете process definition key, а он отдает JSON. Сделать это можно либо на Джаве, либо средствами СУБД (Оракл такое умеет, если не ошибаюсь).
Можно просто написать внутренний сервис-таск. При вызове этот сервис-таск устанавливает значения переменных процесса в зависимости от того, в каком процессе он вызван.
На мой взгляд, оба этих варианта надежнее, чем что-то менять в базе Камунды.