Forum Discussion
How to get an attachment provided via FORM added to Sharepoint List
KristaJ to answer your question 2 first, you need to edit the view of your list and make sure the Attachments column is displayed:
The actions in the flow to get the uploaded file and attach it to the list item are a bit complicated but it works very well. After your trigger and the Get response details action add a Parse JSON. In the Content field select from the dynamic content box the Forms question that had the file upload (in my case it was "If you have a file or image with more information please upload it here").
Then in the Schema field paste in the following JSON code:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"link": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {},
"size": {
"type": "integer"
},
"referenceId": {
"type": "string"
},
"driveId": {
"type": "string"
},
"status": {
"type": "integer"
},
"uploadSessionUrl": {}
},
"required": [
"name",
"link",
"id",
"type",
"size",
"referenceId",
"driveId",
"status",
"uploadSessionUrl"
]
}
}
Next, because Forms saves the uploaded file to the OneDrive of the flow's creator you need to you need to add a OneDrive action to get the file content. You select the path up to and including a file that has been uploaded, but in the file path field delete the file and add the Expression
When creating the list item you can't add the attachment at the same time. I always introduce a short delay - 10 seconds is fine - so that the create item action has time to complete before doing anything else on the list:
Next, add an Apply to each and in the first field select Bodyfrom the Parse JSON section of the dynamic content box. Then add a SharePoint Add attachment action and select the site and list. In the ID field select ID from the Create item section of the dynamic content. In the File name field select Name from the Parse JSON section of the dynamic content. For the File content field select File content from the Get file content using path section of the dynamic content.
You'll probably have other actions as I do, but that's all the actions you need to add the file uploaded from the form into the SharePoint list. So, in live use I have uploaded an image in the form:
The flow runs, creates the item in the SharePoint list then adds the attachment to it. In the view it will show there is an attachment. When I edit the form (in this case it's a PowerApps customised form) the attachment name is shown and clicking it will download it for the user.
Rob
Los Gallardos
Microsoft Power Automate Community Super User.
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.
- JRBZA69Aug 15, 2024Copper Contributor
RobElliott Thanks, that instruction worked like a charm for a single file. When I upload multiple files in my Forms response and run the flow to put them into a SharePoint list, I do get two separate file names (one per file uploaded and they are correct.) The issue is that the same document is saved under both separate file names, as if one document overwrote the other. Again, 2 file names, same actual file.
I have tried a few options - adding a second Apply to Each, moving steps around, etc. Nothing works. Suggestions anyone?
- amiranda79Jan 25, 2024Copper Contributor
RobElliottI would just like to say thank you so much for posting this. I have been trying and trying to get the attachments to attach in SharePoint for weeks now, tried many other ways given by other users and no success, but yours works beautifully! thank you so much!
- neeesz78Aug 16, 2024Copper Contributor
- Parkerb123Feb 12, 2025Copper Contributor
I have this exact flow set up and once it reaches the apply to each/add attachment the flow gets stuck in a loop and times out after 15 minutes or so. If anyone would possibly know why this is occurring I’d be very appreciative for feedback, thank you.
- AnaBurtilaAug 21, 2023Copper Contributor
RobElliott Thank you for sharing the flow. I tested it and I get the following error:
{"status": 401,"message": "A potentially dangerous Request.Path value was detected from the client (?).","source": "api.connectorp.svc.ms"}Any ideas on how to solve this?Thanks! - erentekinSep 06, 2022Copper Contributor
RobElliottI couldn't solve the getting file content from the OneDrive folder. Can you please help me with what the problem is?
- helpmepl5Feb 21, 2024Copper Contributor
erentekin, did you ever manage to sort your issue? I am having the same problem using the OneDrive action 'Get file content using path'
- modzedDec 16, 2024Copper Contributor
I faced the same issue and it was because I had chosen the wrong step.
There are two types of 'Get file content using path' steps:
- Onedrive for Business - picks files from your personal onedrive forms folder, with personal I mean the onedrive account associated with your MS/Live account
- Sharepoint - picks files from shared forms folder on a Sharepoint drive e.g. a corporate MS account.
Depending on your set up, once you choose the right category the flow should work correctly.
- Jen_125Sep 13, 2023Copper Contributor
erentekin Did you figure out how to fix this error? I'm getting the same one.
- AnaBurtilaSep 13, 2023Copper Contributor
Jen_125 No, unfortunately I did not manage to fix this yet.
- kabap5Sep 27, 2021Copper Contributor
RobElliott Hi Robert. Thank you for sharing your wealth of knowledge. Would you be able to provide a screenshot of your entire flow without the detail for each step? I just want to see how your steps are laid out in its entirety. Thank you.
- RobElliottSep 28, 2021Silver Contributor
kabap5 the full steps in the flow are shown below, and so far it has run 6725 times and works both if a file has been uploaded in the form but also if it hasn't:
Rob
Los Gallardos
Microsoft Power Automate Community Super User
- iamcstevenson-tsJul 29, 2021Copper Contributor
RobElliott I'm running into an issue where File Content isn't an option in my Dynamic Content. Any suggestions?
- amiranda79Jan 26, 2024Copper Contributorif you go into "when a new response is submitted" make sure your "split on" is toggled to on under settings.
- RachelDainesJun 15, 2021Copper Contributor
RobElliott My flow works correctly but the attachment in the List is decoded incorrectly. When I download it, it can't be opened properly. Not sure what is going on. Any troubleshooting ideas?
- RobElliottJun 16, 2021Silver Contributor
RachelDaines it's because it's not getting the extension. So in the add attachment action, in the file name field try selecting file name with extension from the dynamic content box. Or if they are all going to be the same extension, e.g. docx, then you can type .docx atthe end of the field.
Rob
Los Gallardos
Microsoft Power Automate Community Super User
- jmillar99May 18, 2021Copper Contributor
RobElliott Thank you for the how-to. I follow your guide as exactly as I can tell however, I am running into a problem. When there is no attachment the flow fails.