I have some good news here, we are experimenting with workflows and this is absolutely the kind of thing workflows will support.
We are a while out, but it will happen.
In the mean time, yeah API works fine, but you would need some custom development.