cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ClaireAllen
Post Prodigy
Post Prodigy

Copy SharePoint Lists attachments to a SharePoint Library

Hi,

 

I'm new to Flow and have just started to look at what it can do for me in my Job,

 

I'm looking for an option to take a SharePoint List attachment and move / copy it into a SharePoint Document Library.

 

Can this be done in Flow?

 

If anyone has any how to's that would be really helpful.

 

Thank you

Claire

 

1 ACCEPTED SOLUTION

Accepted Solutions
v-yuazh-msft
Community Support
Community Support

Hi @ ClaireAllen,

Do you want to copy attachments of the item to SharePoint library when a new item is created ?

Or do you want to copy attachments of all items in SharePoint list to SharePoint library?

 

I have made a test on my side,  If you want to copy attachments of the item to SharePoint library when a new item is created. please refer to steps below to create the flow to copy the attachments from a sharepoint list to SharePoint Document Library :

1.    Add a trigger “When an item is created” of sharepoint connector, fill in the “Site Address” and “List Name” field.

2.    Add action “Get attachments”, fill in the the “Site Address” and “List Name” field, choose the “ID” dynamic content of the trigger in the “Id” field.

3.    Add an “Apply to each”, choose the “Body” dynamic content of the “Get attachments” in the input field.

4.    Add action “Get attachment content” inside the “Apply to each”, fill in the “Site Address” and “List Name” field, choose the “ID” dynamic content of the trigger in the “Id” field, choose the “Id” dynamic content of the “Get attachments”  in the “File Identifier” field.

5.    Add action “Create file” under the “Get attachment content”, choose the “Site Address” and “Folder Path” field, choose the “DisplayName” dynamic content of “Get attachments” in the “File Name” field, choose the “Attachment content” dynamic content of “Get attachment content” in the “File content” field.  

1.png

When I create an item with attachments in the list as below: 

2.png

the flow would run successfully as below: 

3.png

The attachment would be created in the document as delow:

 4.png

If you want to copy attachments of all items in SharePoint list to SharePoint library, You could modify the trigger to “Manually trigger a flow”, and add action “Get items” of Sharepoint connector ,and then copy all attachments in the list to SharePoint library.

 

Regards,
Alice Zhang

View solution in original post

27 REPLIES 27
v-yuazh-msft
Community Support
Community Support

Hi @ ClaireAllen,

Do you want to copy attachments of the item to SharePoint library when a new item is created ?

Or do you want to copy attachments of all items in SharePoint list to SharePoint library?

 

I have made a test on my side,  If you want to copy attachments of the item to SharePoint library when a new item is created. please refer to steps below to create the flow to copy the attachments from a sharepoint list to SharePoint Document Library :

1.    Add a trigger “When an item is created” of sharepoint connector, fill in the “Site Address” and “List Name” field.

2.    Add action “Get attachments”, fill in the the “Site Address” and “List Name” field, choose the “ID” dynamic content of the trigger in the “Id” field.

3.    Add an “Apply to each”, choose the “Body” dynamic content of the “Get attachments” in the input field.

4.    Add action “Get attachment content” inside the “Apply to each”, fill in the “Site Address” and “List Name” field, choose the “ID” dynamic content of the trigger in the “Id” field, choose the “Id” dynamic content of the “Get attachments”  in the “File Identifier” field.

5.    Add action “Create file” under the “Get attachment content”, choose the “Site Address” and “Folder Path” field, choose the “DisplayName” dynamic content of “Get attachments” in the “File Name” field, choose the “Attachment content” dynamic content of “Get attachment content” in the “File content” field.  

1.png

When I create an item with attachments in the list as below: 

2.png

the flow would run successfully as below: 

3.png

The attachment would be created in the document as delow:

 4.png

If you want to copy attachments of all items in SharePoint list to SharePoint library, You could modify the trigger to “Manually trigger a flow”, and add action “Get items” of Sharepoint connector ,and then copy all attachments in the list to SharePoint library.

 

Regards,
Alice Zhang

Hi @v-yuazh-msft

 

Thank you for the reply, 

 

I followed the steps below and the flow ran, it was great.

 

I have created a SP List and I want to take the attachments from that item and copy them into a SP Library

 

I know you have explained below what I need to do, but I'm not 100% sure on which trigger I need to adjust, are you able to send me details?

 

I really appreciate your help, and when the flow ran, it was a relieft I feel that I am actually getting somewhere

 

Kind regards

Clire

Hi,

 

I have been looking at the flow, and have made some adjustments, I think I chose the wrong destintation path.

 

I've tried again and have started to get documents into my Library, but for some reason, if I select more than one only 1 file has been uploaded, the other two have not loaded.

 

And it only seems to be uploading PDF files and nothing else.

 

Any sugesstions please?

 

Kind regards

Claire 

Sorry, another post

 

I have managed to get a word document in, and tested it and uploaded the same document with the same name and the version has changed which is great.

 

The only thing currently is that I am not able to get more than one document in at one time.

 

But i think this flow is great.

 

Regards

 

Claire

Hello @v-yuazh-msft

 

In relation to the flow that you have done getting attachments from a list and moving to a SharePoint Library, which I would like to add is working really well.

 

Question.  Have you ever done one where you move the Metadata as well?

 

Thank you

Claire

Hi @v-yuazh-msft,

I used your flow and it works pretty well. However, whenever I attach a file over 1MB, the flow resolves ("successfully") without moving the file and metadata to the library. It seems that flow is registering the "Body" of the attachment as empty (e.g. []). I posted about this issue at the link below, with screenshots.

https://powerusers.microsoft.com/t5/Building-Flows/Attachment-Body-of-SharePoint-List-is-registering...

 

Any suggestions?

 

Thank you!

Excellent article! I was able to move the list attachments to a doc library, however, I am looking the attachments in a folder/doc set in the doc library. I tried the solution from this link(http://www.sharepointing.co.uk/2018/01/15/copy-sharepoint-list-attachments-to-document-library/) but could not figure out a way to compose action for folder path and 'creating folder by creating the text file' action as mentioned in this article.

 

2. Once the doc is moved to the folder, I'd like to put the link to the folder on the list item form.

 

Please let me know if you have any suggestions here?

 

Thanks

 

 

I was able to figure this out. In the 'create file' step use the folder path string in this format: /[library name]/[FolderName]

 

[Library Name] is the name of the library where you want to create the folder

[FolderName]- This is the name of the folder, you can pick any property from the list metadata based on your requirements. In my case am using the Company ame field from the list item. Screen shot attached.

 

 CopyListItemToFolderInLibrary.png

julilis
Advocate I
Advocate I

Hi all,

 

I am wondering if it is possible to create a link between the SharePoint list and the SharePoint library, because in this steps above we are only dealing with the copying of the files. When I tried to edit the file in Word (online) - SharePoint library, it did not change in the version in the Sharepoint List.

 

Thank you,

Juli

Hi Julie,

Have you considered adding a collumn to the sharepoint list that contains the link to your document library? That would allow you to link your list items to a corresponding document library file, which would then update as it was edited.

Cheers,
Sam

Hi samstarzy,

 

Thank you so much for your answer.
 
I'm not sure if this will work, I'm working with PowerApps and the SharePoint list. My idea is to create a link between the Sharepoint List and the SharePoint Library to upload the files in Microsoft Teams.
 
Thanks,
Juli

@samstarzy wrote:

Hi Julie,

Have you considered adding a collumn to the sharepoint list that contains the link to your document library? That would allow you to link your list items to a corresponding document library file, which would then update as it was edited.

Cheers,
Sam



Hi @v-yuazh-msft 
Thanks for sharing this Flow. Its worked great for me.

Though it is not saving the attachment as PDF into the created file


Any idea why?

Hello
Is it possible to create a folder by ID and save the attachments inside?


for each ID I have about 10 files

 

What do you think? Thanks


@javierz wrote:

Hello
Is it possible to create a folder by ID and save the attachments inside?


for each ID I have about 10 files

 

What do you think? Thanks


Annotation 2019-08-16 010713.png
Create a step in data operations and select Compose as Action. give your folder path in SharePoint site. add ID and name after "/" . it wil create folder "ID - Item Name".

while creating files in library, give folder path as output from Compose action.

Hi,

 

I've been trying to create a flow for this purpose, but I'm getting an error message with status code 400: 

 

<m:code>-2147024809, System.ArgumentException</m:code>
<m:message xml:lang="en-US">
Item does not exist. It may have been deleted by another user.
</m:message>
</m:error>
 
Any idea what might be an issue here?
 
Any input would be much appreciated.
Audrie-MSFT
Power Automate
Power Automate

I created this video to clarify dependencies on this question, although it's not the exact scenario it should help you understand how to get file content from attachments. Please let me know if it is helpful.

 

https://www.youtube.com/watch?v=QoBKDJD0uZo

 

Thank you for your patience,

Audrie

Hi 

 

thanks for the solution, works perfectly and also creates sub-folder.

 

This also will be simple by modifying the single item solution: copy attachments of all items in SharePoint list to SharePoint library.

 

I have 1 question , Did you try to add other fields from item to the library against each attachment Eg: user name / item ID 

Hi @v-yuazh-msft, is it possible to copy each attachment into different folders?

Is it possible to add a condition to this flow that only sends specific attachments dependent on the content in a separate column? For example, I have a list that includes attachments containing content that has to go through a clearance process. My list includes a "Status" column that has choices: "Cleared," "Submitted/Waiting," "Clearance Denied." I want the flow to get attachments that have been marked "Cleared" in the "Status" column and send to a separate document library of cleared content. 

Helpful resources

Announcements
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.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

PA Survey Carousel Image.png

We want to hear from you!

If you are a small business ISV/Reseller, share your thoughts with our research team.

Users online (1,366)