Possible to Implement Finite State Machine using Workflows?

So you have a workflow and an external ( not temporal ) service… external service is what goes through state transitions…temporal qorkflow is there just to track the external service.

Is this the correct understanding of your situation?

If yes, then making the external service send a signal to the workflow whenever it changes state will avoid not only unnecessary polling but also will eliminate the lag between polling interval