I'm changing an attribute of an object in a microflow and immediately committing the change (with events). However the commit fails due to a Before Commit event, as expected. How can I detect that the commit failed? When I check the attribute of the object it still has the 'new' value, presumably due to caching of some sorts.
What you could do is call the BCO event in a subflow and let it return a boolean (return false when commit fails), then in your main flow you can check the result of the subflow and handle it any way you would like to