The StateMachineWorkflowInstance is using tracking underneath to find out the current state.You could add a CallExternalMethodActivity to a StateInitializationActivity added to each state and have it send the host the state’s name, and any other information you want.Unless you have execution logic in your state initialization that causes a transition to another state, a state will become idle immediately after the state initialization completes execution.You could just use the call external when you do cause a transition in the state initialization and let the StateMachineWorkflowInstance use tracking to find out the rest of the time.