Can I use UiPath to automate an event that would fire at a certain time down to milliseconds?

Sounds good but I don’t see where to enter the time? Can you share some info as to where I would actually enter the time?

Thank you,

I would suggest using the Delay Until activity rather than using a loop. However, even then, the time between activities is not the same number of milliseconds each time, but it will be close.

For Delay Until, you need to use Universal Time.
If you use this time: CDate(Now.ToString("MM/dd/yyyy HH:mm:ss")+".100").ToUniversalTime
which would delay until the current time on the 100 millisecond. So, you will need to figure out how to set the desired time.

If you have a specific time like “02:10:00.1” then just add the time to the date.
CDate(Today.ToShortDateString+" "+triggerTime).ToUniversalTime

If you want to add time, then use the .net for AddMinutes or AddSeconds to Now.

So maybe this is more what you are looking for? If you provide more details how you want to wait, I/we can give a specific way to calculate the time.

Remember, though, that the time between activities can be anything from .005 to .01 from a second

EDIT: also the Delay Until is in the Workflow Manager package if you don’t have that installed


1 Like

Thank you. This is very helpful but it is sooooooo far over my head that I won’t be able to get this accomplished. I wouldn’t know where to begin. I thought it would be simple to set up a specific time that an event would happen. Like “do this” at this “specific time”.

Kind regards,

It’s ok. I can make it seem very simple.
If let’s say you wan to do something only at 13:33:25.1, well set that time to a string and join it with today’s date. You can get today’s date using Today

You have a variable set at this:
timeToExecute = Today.ToShortDateTime+" 13:33:25.1"
Note: a DateTime is in the format of MM/dd/yyyy 00:00:00.000, which is why you store it in that way.

Then, in the DelayUntil, you simply convert that string to a DateTime with either CDate() or Convert.ToDate(), and add .ToUniversalTime

And, that’s it. The DelayUntil will wait until precisely that time that you set.

If you used another method like with a Do While, this will be done almost identically but not ideally. Either way, you would need to convert the set time to a DateTime.

If the time is more dynamic than this, then the time calculation will be different, but let us know if you need further help.


Thank you. I will give it a go and report back if I need further help.

Thank you for taking time out of your day to help,

Hi guys,

Is still delay until activity available in uipath? I cant find it within activity panel?
I can find delay activity but i cant put a datetime in order to make it delay until a specific time.


Looks like “Delay Until” is under the Microsoft.Activities (Workflow Manager Activities), which will be in the Official activity feed.