Hello,
I have an MS form created for IT Requests and the user has the ability to submit up to 3 attachments. On the form there are 3 separate upload fields where they can attach 1 file. My flow only works when I submit 3 attachments, I can see that they uploaded to the SharePoint list without issue. However, anything less than 3 causes my flow to fail and no attachments are added to the SharePoint list. If I upload 1 attachment, the 2nd Parse JSON fails, if I upload 2 attachments the 3rd Parse JSON fails. This is really odd to me because my flow was working fine without issue until a few days ago and I did not change anything, so I have no idea what happened.
Here are screenshots of my workflow, any guidance would be appreciated. Note: In my Condition, I have it set to Attachments is equal to "".
Here are the error messages that come up when the flow is run: In this example below, I uploaded 2 attachments...the Parse JSON 1 and 2 both have a green check mark (even though none are added to the SharePoint list, why?) and because there was no 3rd attachment uploaded the 3rd Parse JSON failed. As previously mentioned, this occurs for 1 attachment as well but instead Parse JSON 1 passes and Parse JSON 2 fails then the flow stops.
I hope my post makes sense. I did research and found others coming across similar issues but when I tried some of the suggested fixes they did not work. Fingers crossed someone can help me out. Let me know if additional information is needed.
Thanks - LC_0004
Solved! Go to Solution.
Hi @LC_0004 ,
If you don't like to judge [Attachment] contains attachments.
There is also a more direct method, which is to execute the next step regardless of whether the above action (get the attachment content) is successful or not. In this way, no matter how many attachments the user uploads, they can be identified
Please set【Configure run after】
Set the second whole, the third whole and [Send an email (V2)] according to the diagram
Best Regards
Cheng Feng
Hi @LC_0004 ,
Sorry for not explaining clearly and causing you trouble.
I mean put [ParseJSON] and [Apply to each] into Scope, and this Scope is seen as a whole.
If you don't want to use Scope, you can also set [Configure run after] for [ParseJSON] and [Apply to each] (for all [ParseJSON] and [Apply to each] and [Send an email (V2)] ), so even if any If an action reports an error, it will continue to execute.
It is recommended to judge the content of each attachment here,
if it is empty, it will not get the content, if it is not empty, it will get the content
Best Regards
Cheng Feng
Hi @LC_0004 ,
The cause of this problem is:
1. When the user submits attachments below three.
2. [ParseJson] Parse content is empty
3. An error will be reported if the parsing is empty.
In order to avoid process failure caused by PraseJSON invalidation,
We parse through the Json() function,
Traverse this file set by 【Apply to each】
And get the file id by formula,
Note: (Files submitted by Form will be saved in a folder of OneDrive, we can get the files by parsing the obtained ID)
Here is a test for your reference:
Here is result:
Best Regards
Cheng Feng
Hi Cheng,
I truly appreciate and thank you for your reply. I am new to Power Automate; therefore, I am not sure I completely understand your response.
A couple things I should point out are:
This is how I have the attachment section on my MS form set up:
Does what I mentioned change anything from your original response? And even if it doesn't as I mentioned before I am not sure I completely understand your response ☹️. I am still not sure where to go from here.
Thank you!
LC_0004
HI @LC_0004 ,
Sorry for my misunderstanding.
if it is like this. Each process of obtaining attachments [Parse JSON] and [Apply to each] should be regarded as a whole,
Before the whole, judge whether the content of the attachment is empty, if it is empty, skip it
Best Regards
Cheng Feng
Hi Cheng,
Not sure if I understood but when you say "regarded as a whole" do you mean like this? (See Parse JSON and apply's screenshot below). Also, when you say "Before the whole, judge whether the content of the attachment is empty, if it is empty, skip it"...If it's not too much trouble, could you please provide screen shots of everything you've mentioned above (regarding JSON and apply's as a whole and before the whole to judge whether content is empty) so that I make sure I set everything up correctly? As previously mentioned, I am new to Power Automate so it's helpful for me to see exactly how something is supposed to be set up. I truly appreciate it.
Thanks, LC_0004
Hi @LC_0004 ,
If you don't like to judge [Attachment] contains attachments.
There is also a more direct method, which is to execute the next step regardless of whether the above action (get the attachment content) is successful or not. In this way, no matter how many attachments the user uploads, they can be identified
Please set【Configure run after】
Set the second whole, the third whole and [Send an email (V2)] according to the diagram
Best Regards
Cheng Feng
Hi Cheng,
Prior to your reply above, last week I made a change that then allowed me to start seeing my attachments whether it was 1 or 2. However, the workflow still fails, even though now it is pulling the 1 or 2 attachments where it wasn't adding them at all before. Why would the flow fail if it is now pulling attachments?
Also, I assumed from your screen shots that I had to remove the condition. Is that correct? I removed the condition and just now added the scopes you mentioned to the 2nd and 3rd whole in addition to the "send email", but I still receive the error message.
See below:
Thanks.
HI @LC_0004 ,
Please see and try:
Although written for an approval action, you can change the "Append to Attachments array" action to "Add an Attachment action".
Ellis
____________________________________
If I have answered your question, please mark the post as ☑️ Solved.
If you like my response, please give it a 👍🏼 Thumbs Up.
My Blog Site | Twitter | LinkedIn
Hi @LC_0004 ,
Sorry for not explaining clearly and causing you trouble.
I mean put [ParseJSON] and [Apply to each] into Scope, and this Scope is seen as a whole.
If you don't want to use Scope, you can also set [Configure run after] for [ParseJSON] and [Apply to each] (for all [ParseJSON] and [Apply to each] and [Send an email (V2)] ), so even if any If an action reports an error, it will continue to execute.
It is recommended to judge the content of each attachment here,
if it is empty, it will not get the content, if it is not empty, it will get the content
Best Regards
Cheng Feng
Hi Cheng,
Thank you for your patience and your willingness to help me.
Ok, so I moved the Parse JSON (2 & 3) and the Apply to each (2&3) within the Scopes and I moved the "Send an Email" into the scope as well. I ran it twice and it "Succeeded".
So, when I open the workflow that was run, the results (shown below) are what's expected, correct?
I just want to make sure this is how it is supposed to display even though it shows the red exclamation marks in the 1st & 2nd Scope for the areas that did not run. (The example below was for 1 attachment added).
Again, thank you.
-LC_0004-
Hi ekarim2020,
Thank you for your reply. I have not tried what you sent yet for this issue as I am still testing out what the previous replier has provided, but if I do, I will keep you posted on my results!
I will save the information you provided though as I will be needing this for another project I am working, where approvals of documents are required. So, either way, thank you so much! 😊
LC_0004
Hi @LC_0004 ,
Will there be a situation where the user does not submit the first attachment, but submits the second or third attachment?
Here it is suggested that the first part also use Scope, which is regarded as three parts,
If any one of them goes wrong, it will go to the next one, and then to the end.
If this post helps, then please consider Accept it as the solution to help the other members find it.
Best Regards
Cheng Feng
Good day, Cheng
Thank you for bringing that up as a I forgot to test without adding attachments. So, to answer your question no, there will not be a case where the user is not submitting the first attachment but then submits a 2nd and 3rd. However, there could be cases where the user decides they do not need to submit an attachment at all.
So, I added the first part (1st parse JSON and apply) into the scope and updated "configure run after" check boxes to "is successful" and "has failed". I then submitted my form without attachments, and it failed. ☹️ What do I do now?
In addition, I do have an overall question, when I first submitted this post the screenshots that I provided of my workflow was working without issue the way I had it set up...then out of nowhere started failing. Do you have any idea why a workflow would work without issue (always providing a successful run) and then all of a sudden stop & start failing?
Thank you,
LC_0004
Hi @LC_0004 ,
The cause of this problem is:
If the operation of setting 【Scope4】is successful or failed, it is for the previous [Get items].
If we want to consider the success or failure of [Scope4], we should set [Configure run after] for the action under [Scope 4]
If this post helps, then please consider Accept it as the solution to help the other members find it.
Best Regards
Cheng Feng
Ok,
So, I re-arranged some things...moved Scope 4 to the bottom and moved the Parse JSON's and apply's so that they are in order. I submitted a form, and it was successful.
Sending screen shots below so that you can let me know if everything is set up properly.
Here is how the "successful" flow run appeared:
Here is how I have everything set up in detail:
Can you confirm if everything above looks, correct?
Thanks, LC_0004
Hi @LC_0004 ,
Please test:
Will adding just one attachment do the trick?
What about adding two attachments?
What about adding three attachments?
I think there should be no problem with the overall flow. If there are unexpected problems, please send me the error and screenshot of the error
If this post helps, then please consider Accept it as the solution to help the other members find it.
Best Regards
Cheng Feng
Hi Cheng,
The flow is successful whether I add 1, 2, 3 attachments.
As of now, I think I am good and will accept as solution. But if I come across anything else with this, I will be sure to reach out.
Thank you again for your time and assistance.
LC_0004
User | Count |
---|---|
89 | |
37 | |
26 | |
13 | |
13 |
User | Count |
---|---|
127 | |
54 | |
38 | |
24 | |
21 |