Showing results for 
Search instead for 
Did you mean: 
Helper I
Helper I

Copy document sets from 1 library to another library

On Jun 5, 2019, MS announced in techcommunity that “Modern document sets should be fully visible in all Targeted Release tenants, as of yesterday afternoon. Everybody who saw it once should now again see it.”
Lincoln DeMaris replied to sjakester‎05-09-2019 09:48 AM
“@sjakester Flow on document sets and items in document sets will work the same as Flow on folders and items in folders today.”
But, I could not create a FLOW to copy a document set in 1 document library to another document library. Trigger: ‘When a file is created or modified(properties only), then ‘Get files (properties only), Get file properties. When an ‘Approval Status’ column is equal to ‘Approve’ is YES, copy folder. But, this failed.
Maybe I don’t understand Lincoln DeMaris’s comment.
Your insight is much appreciated.

Post Prodigy
Post Prodigy

Hi @misssp,


Could you provide a screenshot of the current configuration, please?
So that we can more accurately analyze the problems you have encountered.


You can also show us the screenshot of document set setting page, we want to see the content type.


Best Regards,

Community Support Team _ Lin Tu

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi v-lin-msft,


Thank you for your response.

I attached screenshots.  I may not have the correct trigger..

- created new Document Set content type; added new columns in the content type

- when 'Publish' column equals 'Approve' in a Document Set, copy the Document Test from Library1 to Library2.

Result: FLOW ran. Condition Express result : False.  Copy folder - ActionBranchingConditionNotSatisfied. The execution of template action 'Copy_folder' skipped: the branching condition for this action is not satisfied.

and it didn't copy.


I noticed that after I activated 'Document Set' in site collection level, Parent of the OOB Document Set Content Types shows 'Document Collection Folder' and parent of my custom Document Set Content Type shows 'Document' and 'Document Set'.

EDM Content Type Group.PNGEDM Content Type Group.PNGEDM DocumentSet.PNGEDM DocumentSet.PNGEDM Document.PNGEDM Document.PNGLibrary1_FLOW_step1and2.PNGLibrary1_FLOW_step1and2.PNGLibrary1_FLOW_step3.PNGLibrary1_FLOW_step3.PNGLibary1_result.PNGLibary1_result.PNG


Hi @misssp,

Your Flow Actions a re slightly confused. Let me try to break it down a bit.

You trigger when ANY file in your document library is created or modified. This means it will trigger when files within the document set are also added or modified and then you go and get all files within the document library where Archive is true. This makes the original trigger moot and unnecessary as you never use the details it provides. For the trigger I would use a Scheduled trigger to run daily (or more frequently if you prefer) and the call your Get Items action. Well done for using a filter query. I might just add a content type filter here as well to ensure you only get document set items and not document items.

Next up you do a For each, which is right, but then you check for the Approve value in the Publish field. This is unnecessary as you have already limited your set of items to those that have that value set to approve from your filter query.

Lastly, you are trying to copy the ENTIRE document library “Library 1” to the target library “Library 2”, not the actual Document set / Folder.

You would need to put in here the dynamic element from the Get Items that is the Path property.

I have tried this with document sets, so can’t confirm if it will work properly and am only on my cell phone so try that and if it doesn’t work I’ll mock up an example.

- Mark

Hi @MarkStokes 


I created the Document Set in a document library.  When I tried to use Get_items, it expect list items.

I created a new FLOW - 

1. enabled 'Content Approval' in Library1

2. Schedule and 2 new filters - Publish eq 'Approve';  Content Type eq 'EDM DocumentSet'.  When the creator updates all documents inside Document Set and the and the Document Set itself to Publish eq 'Approve' .

3. then step 2 will trigger an email to Approver to approve all documents and the Document Set.

4. Once Approve approved, Copy Document Set from Library1 to Library2.


I looked through the next Action step after step 2; I cannot find the correct Action Step to copy an Approved Document Set.


Really aLibrary1_06132019_FLOWConfig.PNGLibrary1_06132019_FLOWConfig.PNGLibrary1_06132019.2.PNGLibrary1_06132019.3PNG.PNGppreciate your help.




Hi @misssp,


If you want to copy files from library 1 to another library 2, you need library 2 that also contains columns from your original file library.Annotation 2019-06-14 102727.png

Best Regards,

Community Support Team _ Lin Tu

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Yes, I do have the same columns in Library2



Hi @misssp 


I am just running some tests. At the most basic the Copy Folder action DOES work with Document Sets, so the problem is not there.



Then, I enabled Content Approval on the Source Document Library and tried again. It still worked.


I created a pending and rejected document set.


Then I updated my Flow to more closely match yours and see what outputs I get from the Get Files Action using Compose actions.




I see that I can filter on 

"{ContentType}": {
    "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedContentType",
    "Id": "0x0120D5200093E450682F0ED645AA65B60DE0CDD165",
    "Name": "Document Set"
"{ContentType}#Id": "0x0120D5200093E450682F0ED645AA65B60DE0CDD165"


This now returns me JUST my Document sets and not the documents within them.


The REAL hard bit now is that we can't actually get access to the Content Approval status in Flow. It should be a field called _ModerationStatus. So the only two ways around it are another Approved Column on the Source list that someone completes manually... which makes the Content Approval redundant or we use a Send HTTP to SharePoint which is not very Power User Friendly, but looks like this:



Now we can perform a condition on the returned values here (0=Approved) and do our Copy Folder action passing in the Dynamic Elements for Folder Path and Name (the folder name)



And it works! 


I hope that helps and I hope you can understand the Send HTTP to SharePoint and Parse JSON. If not, let me know and we can try to extend on those bits.


- Mark

Hi @MarkStokes, thank you so much. I will try and revert back.

Hi @MarkStokes


Thank you for the explanation.  I have read up on 'Send an HTTP request to Sharepoint' - it is very powerful.

In your screenshot,

'Send an HTTP request to Sharepoint' - Uri - did it reference a document library or a list?

'Parse JSON' - did the screenshot display all the lines?


I am trying to follow to set it up.



Frequent Visitor

I found this -

I tried to set it up for Document Set.  I couldn't get it to work.  I couldn't get the uri correctly. Documents are inside document set.  

Sorry this is the wrong account!

Sorry for the delay in replying!

The ‘Send HTTP to SharePoint’ is pointing at a document library (even though it looks like it’s asking for a list. Basically a Document Library IS a list at its most fundamental part).

And in the Parse JSON, what you see there is the ‘schema’. This is like a description of how the JSON should look. Yours might be different to mine.

Put a ‘Compose’ after the Send HTTP to SharePoint , put the Body into that, get the JSON from that action into the “Generate Schema” link and use that in the Parse JSON Action.

Let me now if you’ve figured this out yet or still need help.

- Mark

Hi @misssp,


Have you managed to try this yet? and has it worked?


If it works for you then please accept my answer as a solution so others can learn from it.


- Mark

Hi @MarkStokes 

I am misssp.  I updated my publicname. 

Thanks.  I managed to create it.  Yes, it worked. Have to pay attention to : 'OData__ModerationStatus'.  


I had to create 2 Flows though. 

1. Approval FLOW - Start and wait for an approval. If outcome = Approve, use 'Switch' - EITHER 'Set content approval status' to Approve OR 'Set content approval status' to Reject.  Couple of Strange issues:  it does not update 'Approval Status' for documents inside a document set. 'Link to item' is for the document but not the document set.  I have 1 document but I received 2 approval emails for the same document.  Document remained as 'Pending' and Document set showed as 'Approved'

2. Copy Document Set FLOW -  use the steps that you provided.  Both documents and document sets are copied.  Now, I have to figure out when 2 document sets were already approved and copied to Library2, how to prevent them being copied again.  


Do you know if I have 1 FLOW only.  I tried numerous times to try to use 1 FLOW instead of 2.




Helpful resources

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

May UG Leader Call Carousel 768x460.png

June User Group Leader Call

Join us on June 28 for our monthly User Group leader call!

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Power Automate Designer Feedback_carousel.jpg

Help make Flow Design easier

Are you new to designing flows? What is your biggest struggle with Power Automate Designer? Help us make it more user friendly!

Users online (4,082)