You might take a look at https://apps.nextcloud.com/apps/libresign (or go with any of the other, but usually quite expensive signing vendors). I guess this could be integrated in a workflow.
Or just this app? -> https://apps.nextcloud.com/apps/approval