Email notification with attachments
Hi all,
This is not NXT related. But I, a Power Automate newbie, hope to get some help with the issue I have got stuck for days.
I am setting up the Power Automate flow to receive the MS form responses with uploaded files and notify the team members. The flow checker showed 0 errors, but the test runs failed. Here are my flow and the error message. Any directions or solutions are greatly appreciated.


Comments
-
@Julia Chu
since it is telling you that your Get file content action is errored out. then you need to look at what dynamic content you provided to the File field in Get file content and then check the action that produced that dynamic content and see if it is correct.I have a similiar flow that has upload file that I want to get the file content and attach to email.
You “must” first use Parse JSON (it's not actually a must, but will make your life easier using dynamic content)
Where it say “Content” you will provide the dynamic content of the question that is for uploading.
For Schema, you can use this:
{
"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"
]
}
}
This is assuming your upload question is requried, if NOT required (optional question), then you will need to put this Parse JSON in a condition that checks if any file upload happened.
Then in your Get File Content action, you need to provide the location of the file uploaded. Since Forms allow multiple file to be uploaded, the Parse JSON will always return an “array” (list) of file uploaded, if you limited your Form question to upload only ONE file, then you can use the below where I am ONLY taking the “FIRST” file uploaded.
@{first(body('Parse_JSON_Signed_Agreement'))?['driveId']}.@{first(body('Parse_JSON_Signed_Agreement'))?['id']}
Parse_JSON_Signed_Agreement is the name of the Parse JSON action you gave to the action. If you named the action as Parse JSON Upload File, then you will replace Parse_JSON_Signed_Agreement with Parse_JSON_Upload_File, where all “space” character is replaced with an “underscore” character.
Once you edited the highlighted yellow above with the correct name of the parse json action, you can copy (from the @ symbol to the end curly braces } symbol) and directly paste onto the File field in your Get File Content action, and it should appears like what I screenshoted.
0 -
@Alex Wong Thank you for pointing it out that I need to a condition control since the file upload is not required.
My level so far only allows me to select from dynamic content. But there are not true or false options for the upload file parameter. I will need to work on writing the codes on Code View then.
{
"type": "If",
"expression": {
"and": [
{
"contains": [
"@body('Get_response_details')?['ree6c7e8a6d044071ba8a8556d4a6d438']",
""
]
}
]
},
"actions": {},
"else": {
"actions": {}
},
"runAfter": {
"Apply_to_each": [
"Succeeded"
]
}
}
0 -
@Julia Chu
You cannot edit “code view”. it is read only.You just need condition on the question is not answered, and by not answered, you use the empty() expression
I see that you are using the “new editor” which I am not using due to buggy situation Microsoft hasn't fixed yet, you can continue to use the “new editor” unless you start finding out it causes unexpected issue for you.
so basically when you click on the “left” of the dropdown (the dropdown for “is equal to” etc), you will go into expression mode and type in empty() and between the open/close paranthesis, you will select the question that is the upload question. on the “right” side of the dropdown, you will do an expression too, and you will type in false.
(sometime it works by selecting the question of the upload to the “left” and then use “is not equal to” as the operator and leave the “right” side “blank”), you can try and see.
1
Categories
- All Categories
- 2 Blackbaud Community Help
- High Education Program Advisory Group (HE PAG)
- BBCRM PAG Discussions
- Luminate CRM DC Users Group
- DC Luminate CRM Users Group
- Luminate PAG
- 186 bbcon®
- 1.4K Blackbaud Altru®
- 389 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 14 donorCentrics®
- 355 Blackbaud eTapestry®
- 2.4K Blackbaud Financial Edge NXT®
- 616 Blackbaud Grantmaking™
- 542 Blackbaud Education Management Solutions for Higher Education
- 3.1K Blackbaud Education Management Solutions for K-12 Schools
- 909 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 207 JustGiving® from Blackbaud®
- 6.2K Blackbaud Raiser's Edge NXT®
- 3.5K SKY Developer
- 236 ResearchPoint™
- 116 Blackbaud Tuition Management™
- 160 Organizational Best Practices
- 232 The Tap (Just for Fun)
- 30 Blackbaud Community Challenges
- Blackbaud Consultant’s Community
- 18 PowerUp Challenges
- 3 Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 3 Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 71 Blackbaud Community All-Stars Discussions
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 743 Community News
- 2.8K Jobs Board
- Community Help Blogs
- 52 Blackbaud SKY® Reporting Announcements
- Blackbaud Consultant’s Community
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- Blackbaud Francophone Group
- Blackbaud Community™ Discussions
- Blackbaud Francophone Group