cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Frequent Visitor

Approval flow for sharepoint library with additional variations

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 1.png

Folder level 2

 

Folder 2.pngFolder level 3Folder 3.pngFolder level 4

Folder 4a.png

 

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

1 ACCEPTED SOLUTION

Accepted Solutions

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.

18.PNG19.PNG

 

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)')

20.PNG

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

6 REPLIES 6
Community Support
Community Support

Hi @Mr89 ,

 

You could refer to the following method to configure Flow.

  • Use For a selected file as the trigger, specify the Library.
  • You need to convert the file using Convert file action included in OneDrive connector.
  • Then create a new PDF file in the specified Library.

Image reference:

32.PNG33.PNG34.PNG

Hope it helps.

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-bacao-msft

 

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. 

 

Folder 4a.pngThen, 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: 

 

List.png

 

 

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)

 

Folder 3.png

 

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.

18.PNG19.PNG

 

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)')

20.PNG

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

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,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

New Super Users

Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

Microsoft Ignite

Microsoft Power Platform: 2021 Release Wave 1 Plan

Power Platform release plan for the 2021 release wave 1 describes all new features releasing from April through September 2021.

MPA Community Blog

Power Automate Community Blog

Check out the community blog page where you can find valuable learning material from community and product team members!

Users online (101,333)