Posting this on behalf of my customer! As my customer and I were discussing, we were thinking that it would be helpful to have some kind of workflow pause action. Similar to delay action which holds the objects at the delay step until set time, it'd be awesome if there is a pause trigger that would hold the object to the pause stage until the condition you set is met. With this functionality, you can set a pause trigger: Pause object to this stage until XYZ condition is met.
For example, you can set a pause trigger - Pause contact until contact opened (marketing email name). With this action, any contacts who meet this criteria will just go through the next steps of the workflow, and contacts who do not meet the criteria will stay in that stage until the condition is met. This would be very helpful for the customers who want to use workflows to send email drip campaigns with ultimate goal to have contacts take actions in a marketing email (clicking a CTA, filling out a hyperlinked form, and etc).