Yesterday I received a support request from a partner regarding a Timer Triggered Azure Logic App workflow. For who don’t know, Azure Logic Apps permits you to create and run automated recurring workflows on a schedule by using the built-in Recurrence trigger.
With the Recurrence trigger, you can set up complex schedules and advanced recurrences for running tasks and you can run your workflows at regular time intervals based on your specified schedule. If the trigger misses recurrences, for example, due to disruptions or disabled workflows, the Recurrence trigger doesn’t process the missed recurrences but restarts recurrences with the next scheduled interval.
Using the Recurrence trigger in a Logic App is simple: just select it as a trigger, then specify the Interval and Frequency of your workflow runs.
But what about if I strictly need a workflow that runs every day exactly at 5:00? This was the requirement of the partner above. They setup a Recurrence trigger to execute every day at 5 but the Logic App workflow never starts at 5:00, but instead it starts some minutes later (randomly).
Why this behaviour? This is why I’ve decided to write this quick post to help everyone with the same issue.
To create a Recurrence trigger that starts EXACTLY at 5:00 every day, you need to first insert the recurrence (Interval = 1 and Frequency = Day):
Then you need to select Add new parameter and here it comes the tricky part.
If you only add the parameter At these hours = 5 and leave the parameter At these minutes as blank, the workflow will start at any minutes after 5:00. There’s no guarantee that it will be fired exactly at 5:00:
If you want to fire it exactly at 5:00 every day, you need to specify also the parameter At these minutes with the value of 0:
I don’t think this is well documented, so please remember it if you are in this situation.