Forum Discussion

Filmanac's avatar
Filmanac
Copper Contributor
Aug 25, 2021
Solved

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_W's avatar
    Maggan_W
    Brass 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.

    • LCSilliman's avatar
      LCSilliman
      Copper Contributor

      Maggan_W 

       

      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_W's avatar
        Maggan_W
        Brass 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.

  • RobElliott's avatar
    RobElliott
    Silver 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

    • Dan0365's avatar
      Dan0365
      Copper Contributor
      RobElliott, thanks for this!
      But how to delete folders?
      all files as well as in sub folders are deleted but the folders are still remaining.
      • RobElliott's avatar
        RobElliott
        Silver 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 here.

         

        Rob
        Los Gallardos
        Microsoft Power Automate Community Super User

    • LCSilliman's avatar
      LCSilliman
      Copper 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?

      • Dan0365's avatar
        Dan0365
        Copper Contributor
        LCSilliman did you manage to solve your issue with the query failed ?
        Am running in to the same problem!
    • Filmanac's avatar
      Filmanac
      Copper Contributor
      Hello 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.
      • RobElliott's avatar
        RobElliott
        Silver Contributor
        If you post a screenshot of your flow then we can see where you've gone wrong.

Resources