Forum Discussion
Filmanac
Aug 25, 2021Copper Contributor
Deleting Files Automatically after 3 Months
Hello,
Is it possible to create a flow that will automatically delete files in specific SPO folders after 3 months? I have tried using a flow, but I am not experienced with them and am having trouble.
Thanks.
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
- Maggan_WBrass Contributor
Filmanac Power Automate is a good option if you need to do more actions before or after deleting the docs. If you donĀ“t have a complex scenario you could create a retention policy in the document library. See attached images. You will need to activate the site collection feature called "Site policy" in order to use this functionality.
- LCSillimanCopper Contributor
I know you weren't replying to my query, but about this solution, as I'm giving it a try to see if it works for my problem. I can't see how you can apply this to individual folders from within a document library. Doesn't it apply to the library as a whole?
- Maggan_WBrass Contributor
LCSilliman, First, create a custom folder content type for your specific purpose. Make sure that your folder is using this content type. Then, open the Information management policy settings. You will now have the option to select your custom FolderCT and apply a retention policy. This would apply to all folders using this content type, which can be very useful in some cases.
- RobElliottSilver Contributor
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- Dan0365Copper 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.- RobElliottSilver Contributor
- LCSillimanCopper 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?
- Dan0365Copper ContributorLCSilliman did you manage to solve your issue with the query failed ?
Am running in to the same problem!
- FilmanacCopper 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.- RobElliottSilver ContributorIf you post a screenshot of your flow then we can see where you've gone wrong.