Wrap the button in a dataview having the microflow as datasource. Make the microflow if true: return an (non-persistable) object, if false: return empty.
You probably want to use this if you require more advanced conditional visibility:
Put a container around your button, put this widget in it, use a MF/NF to determine true/false to show/hide the container with the button in it. Works fine for me, altho dont use this widget too many times on the same page as it will not help with performance.
Wrap the button in a data view, as suggested by Tim. This data view has a microflow data source for a (non-persistent) entity with an boolean attribute that defines whether or not the button should be visible. Next, you can use out of the box conditional visibility to display or hide your button (based on this attribute).
No need for marketplace content
You can also check this widget in market place: