There is an object that has a status (enumerator). When the status is set to “in-progress”, it should automatically change to “closed” in 15 days. I can use a microflow that would find all objects with status “in-progress”, check when it was set and automatically update the status in 15 days, but how (when) should I call it? I could call it whenever I open the page, but there are many ways how user can get to the page. Should I call it on application launch somehow?
Create an attribute with StatusDate. Now everytime you change the status also change this attribute with the current date time. You can then use that field to retrieve all the objects with that status and a statusdate > then currentdatetime minus 15 days. You have the adddays or adddaysUTC for that.
In addition to Ronald's answer you could use a scheduled event to check if 15 days have passed since setting the StatusDate (expressed in days, hours minutes depending on how precise you would like it to be). Scheduled events are fired by the system given the interval set above.