Forum Discussion
Deleting Files Automatically after 3 Months
- Aug 25, 2021
Filmanac yes this can be done with a simple flow in Power Automate as shown below.
1. Your trigger needs to be a recurrence schedule which you set to 1 day (and the timezone and time you want it to run) so that it checks the library every day:
For the first action select the SharePoint get files (properties only), select your site and the Document library. But you only want to bring back those items that were created over 3 months ago, the rest you can ignore. So in the Filter Query field add the following:
Created lt '{expression}addDays(utcNow(), -90){/expression}'(Created is the column that is being checked, lt = less than, utcNow() = today, -90 is 90 days ago).
Don't forget to put the expression inside single quotes!
It will default to bringing back items from the entire document library but you can limit it to a specific folders by clicking the folder icon on the right and selecting the folder:
Finally, add a SharePoint delete file action. It will automatically wrap itself in an apply to each (as the previous action was get items). Select Identifier from the dynamic content box. The items that were brought back by the get items will then be deleted.
Rob
Los Gallardos
Microsoft Power Automate Community Super User
Filmanac yes this can be done with a simple flow in Power Automate as shown below.
1. Your trigger needs to be a recurrence schedule which you set to 1 day (and the timezone and time you want it to run) so that it checks the library every day:
For the first action select the SharePoint get files (properties only), select your site and the Document library. But you only want to bring back those items that were created over 3 months ago, the rest you can ignore. So in the Filter Query field add the following:
(Created is the column that is being checked, lt = less than, utcNow() = today, -90 is 90 days ago).
Don't forget to put the expression inside single quotes!
It will default to bringing back items from the entire document library but you can limit it to a specific folders by clicking the folder icon on the right and selecting the folder:
Finally, add a SharePoint delete file action. It will automatically wrap itself in an apply to each (as the previous action was get items). Select Identifier from the dynamic content box. The items that were brought back by the get items will then be deleted.
Rob
Los Gallardos
Microsoft Power Automate Community Super User
- Dan0365May 11, 2022Copper ContributorRobElliott, thanks for this!
But how to delete folders?
all files as well as in sub folders are deleted but the folders are still remaining.- RobElliottJun 12, 2022Silver Contributor
Dan0365 sorry, I've only just seen your post. There is no action in Power Automate to delete a folder but you can vote for it https://powerusers.microsoft.com/t5/Power-Automate-Ideas/Delete-Folder-SharePoint/idi-p/76100.
Rob
Los Gallardos
Microsoft Power Automate Community Super User- Dan0365Jun 13, 2022Copper ContributorThanks for replying, Iv voted for this feature!
On a related note, my script failed this morning with the error that a subfolder did not exist, even tho it does and there are files inside that are out of date and should be deleted.
its been running ok for the past month, but i think today is when files now out of date.
Any idea why its showing not existing ?
- LCSillimanDec 07, 2021Copper Contributor
RobElliott Thanks for this This flow doesn't seem to work for me, and I'm not entirely sure why, but it seems like it is looking for anything created exactly 3 days ago (I need things deleted more than 3 days old). So I've used Created It 'addDays(utcNow(), -3)', but I keep getting this error.
Am I missing something obvious?
- Dan0365May 11, 2022Copper ContributorLCSilliman did you manage to solve your issue with the query failed ?
Am running in to the same problem!- anniewendelJun 23, 2023Copper Contributor
Dan0365 LCSilliman I'm also running into this error. Any advice? Were you able to get it resolved? Thank you!
- FilmanacAug 26, 2021Copper ContributorHello Rob,
Thank you for the instructions on this. It made everything much clearer. The flow runs successfully in both test and when left to itself based on the time margin, however, files older than 3 months/90 days are not being deleted.
I have made sure to include nested items, so not sure what is stopping things now. I will need to dig a bit deeper.
Thank you for your help so far though.- RobElliottAug 26, 2021Silver ContributorIf you post a screenshot of your flow then we can see where you've gone wrong.
- FilmanacAug 26, 2021Copper Contributor
RobElliott I have attached two screenshots of the flow. I haven't included it in the screenshot, but the code I'm using for the filter query is 'addDays(utcNow(),-90).
I have removed the actual SharePoint site address and the specific folder I'm using.