Possible to Implement Finite State Machine using Workflows?

keep pulling is not deterministic thus will result in losing states.

I don’t understand what you said here. It is absolutely OK to implement polling from an activity.