I set up a lot of fields that I call “sherpas”… They do exactly what is being discussed in this thread. My workflows check for fields carrying roles, data, etc. on page loads which trigger a new workflow.
User clicks a nav link on a page -> Workflow adds a Yes to a sherpa field on the current user then navigates to a page
New page loads -> workflow with sherpa field “yes” qualifier performs the desired action. Next step in workflow changes current user’s sherpa field to blank <— That’s a very important step.