cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
misssp
Level: Powered On

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.”
https://techcommunity.microsoft.com/t5/SharePoint/Update-Document-Sets-in-Modern-Document-Libraries/...
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.

14 REPLIES 14
v-lin-msft
Level 10

Re: Copy document sets from 1 library to another library

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.

misssp
Level: Powered On

Re: Copy document sets from 1 library to another library

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

 

Super User
Super User

Re: Copy document sets from 1 library to another library

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
misssp
Level: Powered On

Re: Copy document sets from 1 library to another library

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.

 

 

 

Highlighted
v-lin-msft
Level 10

Re: Copy document sets from 1 library to another library

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.

misssp
Level: Powered On

Re: Copy document sets from 1 library to another library

Yes, I do have the same columns in Library2

Library2_06132019.PNGLibrary2

 

Super User
Super User

Re: Copy document sets from 1 library to another library

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.

1.png

 

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.

 

2.png

 

I see that I can filter on 

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

3.png

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:

4.png

 

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)

6.png

 

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

misssp
Level: Powered On

Re: Copy document sets from 1 library to another library

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

misssp
Level: Powered On

Re: Copy document sets from 1 library to another library

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.

Thanks.

 

 
 
 
bpmpower
Level: Powered On

Re: Copy document sets from 1 library to another library

I found this - https://spblog.net/post/2019/05/29/microsoft-flow-guides-how-to-run-a-flow-when-a-document-is-publis...

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.  

Mark_Stokes
Level: Powered On

Re: Copy document sets from 1 library to another library

Sorry this is the wrong account!
Super User
Super User

Re: Copy document sets from 1 library to another library

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
Super User
Super User

Re: Copy document sets from 1 library to another library

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

bpmpower
Level: Powered On

Re: Copy document sets from 1 library to another library

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.

 

Thanks.

 

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Kudoed Authors
Users Online
Currently online: 103 members 5,302 guests
Please welcome our newest community members: