While these ideas (imperative vs sync, immutability + idempotency) a great in theory, I have yet to see anyone putting them in practice while still keeping a great developer experience - that includes Zapier. I guess Stripe is doing this more or less well?
I just wish people implemented their webhook systems well (a popular standard would be nice as well) - REST is fine, it mostly works and it's pretty standard.