What is your question? If just general guidance, then :

Create a datatype “workflow_history” called that will be used to store an object everytime the workflow is run.
Then, everytime a user log-in : do a search for the last workflow_history object. Check it’s creation date, if it’s today do nothing.
If it’s not today : run your workflow.