Hi all,
I'm completely new to Microsoft Flow (1st post) and have spent the last days reading on the subject but struggle to get started and need some direction.
I want to build a manually triggered approval flow according to the following specifications in my Sharepoint Library:
Sharepoint library structure
Folder level 1:
Folder level 2
Folder level 3
Folder level 4
I need to create a flow allowing me to manually trigger an approval flow in Folder 4 for a selected file. The approval flow needs to lookup the folder 3 name (LE0048 in this case) and then email the approval to two associated email account that I have in an excel file in a different library. (Requiring both approvers to approve)
The "File Status" column is a choice column (all four options displayed above) defaulting to "Not sent", When the approval is triggered the status should change to "Pending". If rejected the file status should say "Rejected" and if approved the status should change to "Approved" and a PDF version of the Excel File should be created and stored in folder "Bank_Rec_PDF (Autosave)" in Folder Level 3 with the same name as the file that was approved.
I also need the approval email to get stored in the approval folder also in folder level 3...
High level, that is about it.
So far I have figured out that I need to use the trigger named
Sharepoint "For selected file", but after that I'm kind of stuck..
WOULD SO MUCH APPRECIATE SOME ASSISTANCE ON THIS!!! Even just pointing me in the right direction would be awesome 🙂
Any questions I'll get back to you asap
Best regards,
Morten
Solved! Go to Solution.
Hi @Mr89 ,
For the first question, you could refer to the following method:
Use Get items to get all the items in the email list.
Determine if the file's Folder Path contains LE Code, and if so, append the email to the variable.
Note that only the email address can be accepted in Assigned To. If it is mailto, an error may occur.
For the second question, you could refer to the following method. Since Bank_Rec_PDF(Autosave) and Bank_Rec_Excel are in the same folder, you only need to use expression to replace them.
It is worth noting that if an error occurs because of the character (), please consider changing to an underscore.
Expression reference:
replace(body('Update_file_properties_Approved')?['{Path}'],'Bank_Rec_Excel','Bank_Rec_PDF (Autosave)')
Best Regards,
Hi @Mr89 ,
You could refer to the following method to configure Flow.
Image reference:
Hope it helps.
Best Regards,
This definetly helps, thank you for your effort! I will continue working on this today and revert with any challenges as I go, I'm sure there will be some.
Also when finished I'll post the complete flow for future references
Cheers!
Best,
Morten
Hi again @v-bacao-msft
So the flow worked which is AMAZING!
However, there are some additional requirments I have and are currently struggling with:
1. The approval mail has to be sent dynamically based on the path of the file wich is sent to approval.
So: For folderpath Bank Reconciliations > 2019 > LE0048 > Bank_Rec_Excel i need "LE0048" as a variable.
Then, the "LE" variable, needs to lookup the list below, and give me the mail address of the person related to the LE. Please see below:
Lastly, for the PDF conversion that happens after approval, I need the PDF to be saved in the "Bank_Rec_PDF" (Autosave) folder for the correct year and correct LE. In this case
Bank Reconciliations > 2019 > LE0048 > Bank_Rec_PDF (Autosave)
I understand I need to create some variables to make this happen but do not understand how.... Could you please help me with that?
Thank you!
Best,
Morten
Hi @Mr89 ,
For the first question, you could refer to the following method:
Use Get items to get all the items in the email list.
Determine if the file's Folder Path contains LE Code, and if so, append the email to the variable.
Note that only the email address can be accepted in Assigned To. If it is mailto, an error may occur.
For the second question, you could refer to the following method. Since Bank_Rec_PDF(Autosave) and Bank_Rec_Excel are in the same folder, you only need to use expression to replace them.
It is worth noting that if an error occurs because of the character (), please consider changing to an underscore.
Expression reference:
replace(body('Update_file_properties_Approved')?['{Path}'],'Bank_Rec_Excel','Bank_Rec_PDF (Autosave)')
Best Regards,
Hi @v-bacao-msft,
Thanks a ton!
Currently working on your response to question 1.
Seems to work great! However, I have a question, what is the purpouse of having the "Apply to each" action? If the email list only has uniqe items is it then required or not? Genuinely wondering, haven't used this action before.
Will get to your solution to question 2 shortly.
Thanks!
Hi @Mr89 ,
Even if item have a unique value, you can't get the corresponding item by Get item action alone, so you need to traverse to filter out the specified item.
You could also replace Append to string variable action with Set variable action without affecting the final result.
Best Regards,
Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!
Power Platform release plan for the 2021 release wave 1 describes all new features releasing from April through September 2021.
User | Count |
---|---|
90 | |
56 | |
39 | |
38 | |
35 |
User | Count |
---|---|
79 | |
66 | |
57 | |
52 | |
42 |