How to collect user actions


How to collect user actions. I want to use robotics to improve business process. I have some programs that users often use. I want to collect their actions and then automatization their. need some program or maybe solution from Ui Path


You might look at the “Monitor events” activity and the “Trigger” activities to use with it. This will let you wait until the User has done an action and then perform other actions from that.


Hello @ClaytonM , what an interesting information I read. Thank you.
Would you kindly explain how is it different with “Do While until Element Exists”, and is there any consequences on using it? (like the overall performance gets down since the Robot is always running) and so on?


hi @whyyouandi
I can’t say I have that much experience with event monitoring, but I do use Do Whiles alot and can say that they require some additional logic sometimes to prevent it from getting stuck in an unlimited loop. However, if your goal is to simply wait and do nothing until an element shows up, then it might be better to utilize Wait activities or the TimeOut parameter.

As for performance, if UiPath is continually looping the Memory usage will continue to increase and can affect performance, but that won’t be noticeable on most processes that take less than a few hours. It is probably not recommended to be in a loop for a whole day, but given certain amount of data to process that could be unavoidable sometimes.

So, I think Monitor Events is better for if you are waiting for something to occur outside of your workflow file like a file to be changed or action on a button or textbox. And, Do While is good if it’s something being performed by your workflow file like you are waiting for the file to download or making sure a field was inputted correctly.

Those are my thoughts.



Thank you for the fast response, @ClaytonM,
I will need to really use it later for really understanding, but I got the grasp of it from your explanation.

The one: Monitor Events for waiting something to happen outside workflow and Do While and is for waiting some process inside workflow to be done, is easily understood, thank you. If you don’t mind adding some further explanation again, would you thinbk Wait and Time Out is for some process outside workflow too?


I don’t understand the question, but I can elaborate.

TimeOutMS parameter (for example in Click and TypeInto activities) is beneficial for when an element in an application or webpage takes time to load but will eventually show up. It will keep looking for the element for the specified milliseconds, then fail if it never showed up. I use this mostly when pages take longer than usual to load.

Find Element can be used alternatively, along with the TimeOutMS parameter. This will do the same thing but looks for another element or element you want to look for.

Element Exists is useful to check if the element is showing. You can use this with TimeOutMS parameter set to 0 if the element should be already showing. Or, you can use this in side a Do While loop to wait dynamically until the Element Exists is False or True depending on your needs.

There is also Wait Disappear so it won’t move on until the element is gone.

Hopefully, I went over some of these in enough detail, and I may have missed some other useful ways to dynamically wait for elements.



Whoops. Inspite of the bad question, thank you for the explanations on other similar activities too. Will rethink it when trying it later. Thank you for your time, @ClaytonM. Regards.