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

Get approver dynamically from sharepoint list

Hi Everyone,

 

I am new to Microsoft flow so I apologize in advance if this question has already been answered. So I currently have a form in which users can select a shipping Destination country. I also have a separate list in which I have Users and that are tied to each country. I am trying to create a flow in which it looks up for the correct user based on the selected destination and sets them as the approver.

 

For example, let's say that I fill out the form and select my destination country to be Colombia. Flow will then lookup which user is assigned to Colombia and set the user to the approver. 

 

My idea on how the flow should work is:

 

  1.  Trigger when item is created
  2.  Initialize variable "ItemCountry" with the value = Destination of item
  3.  Get user from Approvers table where "ItemCountry" = Country in approver table
    1. This is where I am having trouble.
    2. I tried to do Get Item and put the variable ItemCountry for the ID but it was not working.
  4. Initialize a variable Approver
  5. Set Variable approver to whatever user I get from step 3
  6. Do the approval part
  7. Send email etc..

Any help would be appreciated. 

 

1 ACCEPTED SOLUTION

Accepted Solutions
ScottShearer
Super User III
Super User III

@luisveltze 

My example below should get you started.

A few notes:

  • I store the countries and approvers in the Country list
  • The approver column is a person or group column
  • I store the requests in the Request List
  • I created a lookup column in the request list that looks to the Country list - the column name is Country
  • The actual value stored in a lookup column is the ID of the item in the lookup list
  • In my Get Items action, I use a filter to select only the item where the ID is equal to the ID of the item selected in the lookup column

Please let me know if you have any issues implementing this solution.

CountryApprover1.jpgCountryApprover2.jpgCountryApprover3.jpgCountryApprover4.jpgCountryApprover5.jpgCountryApprover6.jpg

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

View solution in original post

15 REPLIES 15
ScottShearer
Super User III
Super User III

@luisveltze 

My example below should get you started.

A few notes:

  • I store the countries and approvers in the Country list
  • The approver column is a person or group column
  • I store the requests in the Request List
  • I created a lookup column in the request list that looks to the Country list - the column name is Country
  • The actual value stored in a lookup column is the ID of the item in the lookup list
  • In my Get Items action, I use a filter to select only the item where the ID is equal to the ID of the item selected in the lookup column

Please let me know if you have any issues implementing this solution.

CountryApprover1.jpgCountryApprover2.jpgCountryApprover3.jpgCountryApprover4.jpgCountryApprover5.jpgCountryApprover6.jpg

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

View solution in original post

Hi @ScottShearer ,

 

I just tried that and I am getting an error on my approval action. 

"error": {
"code": "InvalidApprovalCreateRequestAssignedToMissing",
"message": "Required field 'assignedTo' is missing or empty."
}
 
It looks like the approver email variable is not populating correctly. 
 
Capture.PNGCapture2.PNG
 
Thanks,
Luis Veltze

@luisveltze 

Can you post a screen shot of the output of the Get Items action from that run please?

Also, can you confirm that the Destination column in the Air Freight Request list is a lookup column and points to the AirFreightApprovers list.  In addition, please confirm that ther Approvers column in the AirFreightApprovers list is a person or group column and that there is a single name in that coulmn for all records.

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@luisveltze 

This indicates that no records were returned from the Air Freight approvers list.

Can you post a screen shot of the Air Freight Approvers list in Design view as well as the other list?  I want to see how the coumns are configured. 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@ScottShearer 

 

Sorry for the dumb question, but how do you get to Design view?

@luisveltze 

I should have been more clear.  Go to the list and click on the gear in the top right corner of the screen - select list settings.  I am specifically interested in the lookup column in your primary list and all columns in the lookup list.

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@ScottShearer 

 

I think I have figured it out how my manager started this project. Looks like he created a list of countries like this:

Capture.PNG 

Where "title" is just the country name. That list has 250 countries.

 


Then in the approvers' list, they get the countries by a lookup: 

Capture.PNG

 

 

Finally in the form they also get the destination country as a lookup from the same countries list:

Capture.PNG

 

Hopefully this helps you help me 🙂

@luisveltze 

OK - that explains it.....

Since the approver and the country are not stored in the same list, you'll need to have two Get Items actions - both filtered.

The first Get Items action will look to the countries list and be filtered in the way I have described.

The second Get Items will look to the Approvers list and be filtered again in the same way.  However, the ID you put in the filter will be the ID of the item from the first Get Items action. 

You'll assign the apprver email to the variable after ther second Get Items action

This also means that you'll end up with a loop inside of a loop.......

 

My suggestion is to add the approvers directly to the Countries list.  If you do so, life will be much more simple and the solution that I provided will work as I outlined - you'll do one Get Items action and look to the countries list.  You'll be able to access the approvers email from there.

 

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@ScottShearer 

 

That makes a lot more sense. Yeah I think will do what you suggested and in the case that my manager for whatever reason wants to keep both lists separate than I will have to do two get items. Thank you so much for your help!!! You are amazing! By the way, is there any resources you can recommend me so that I become better at Microsoft flow and powerapps? 

 

Thanks again, 

Luis Veltze

@ScottShearer 

I guess I have one last question about the original outline you provided me. What does ID eq Country ID do in the get items? Is that an expression? Are you assigning a variable "ID" to "Country ID" value?

 

Thanks again!

This is EXACTLY what I have been looking for. Did you ever manage to get this working?

 

rsymmons
Resolver I
Resolver I

@ScottShearer 

 

Hi Scott, 

 

I'm trying to replicate the work you've posted above however I'm not getting far. I am using a form as a means of selecting a country, and then want to match the form response (country) to an approver that is in a list for that relevant country. 

 

E.g. You pick Canada from the form, the flow than matches "Canada" to the "Canada" entry on a list and starts an approval workflow with the individual assigned to Canada. My list is simple, I just have 2 columns (Country and Staff member)

 

Yes I got it to work! What issue do you have?

rsymmons
Resolver I
Resolver I

I have managed to resolve it. My issue was I didn't wrap the filter query in single quotation marks. After wrapping my flow started to work and I didn't need to create a second list like your example. Thanks 🙂

Helpful resources

Announcements
Process Advisor

Introducing Process Advisor

Check out the new Process Advisor community forum board!

MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Users online (2,083)