cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
knandez05
Helper III
Helper III

Multi Level Condition Approval Error

Hello! @Expiscornovus you helped earlier with this flow. I am stuck yet again with a multi level approval flow I am working on.

 

I have a 3 level parallel branch approval that go to 3 different groups in my organization for approval based on the criteria. I'm having issues with the third option below (#3):

 

1. If less than $25k - route directly to Accounting (this condition flow works fine)

2. If greater than $25k - route to the Executive VP then based on approval route to Accounting (this condition flow works fine - but maybe I need to modify it to say "Greater than $25k, less than $100k?")

3. If greater than $100k - route to the Executive COO & VP; then based on approval route to Accounting (having issues with this condition flow. The approval of both the COO and VP are triggering; however, when approved it is not routing to Accounting)

 

I'm sure that I don't have the flow correctly set up. As of right now, this 3rd option should only trigger when the Project Budget Amount is greater or equal to $100k. It should then route to both the Executive VP and the Executive COO. I currently have these two flows in separate conditions. The approval emails trigger, but once approved it should route to Accounting and I am getting an error. Possibly because I cannot have two condition flows run at the same time and routed in the same way (???) 

 

Ideally, I need 3 condition flows for my Project Budget Amount:

1. Less than $25k - send approval to Accounting

2. Greater or equal to $25k - send approval to Executive VP - once approved, send to Accounting (how do I prevent this condition from triggering when greater than $100k?)

3. Greater or equal to $100k - send approval to Executive VP and COO - once approved, send to Accounting (how do I add the Executive VP to this condition?)

 

The approvals are a linked...meaning, I want to capture the Responses for each approval and they are updated on the SharePoint list. 

 

Please help!! Not sure what is the best way to account for this. 

 

3 parallel branch conditions

Parallel Branch Conditions.jpg

 

Greater than $25k Exec VP condition approval routing

25k approval routing.jpg

 

25k Exec VP approval leads to accounting approval routing

25k accounting switch case.jpg

 

25k accounting approval.jpg

 

 

Greater than $100k Exec COO condition approval routing (pretty much same setup as 25k Exec VP) 

100k approval.jpg

 

$100k Exec COO approval accounting routing

 

100k accounting routing.jpg

 

Error I am getting when the above flow runs. Project Budget Amount was greater than 100k. Both the 25k & 100k condition flows ran. The approvals triggered fine. When it got to the accounting routing for each, the flow failed. Think it might be that I cannot have the same accounting routing run simultaneously under two separate conditions. What is the best way to get this to work?

 

 

BadRequest. The request failed. Error code: 'InvalidApprovalCreateRequestAssignedToMissing'. Error Message: 'Required field 'assignedTo' is missing or empty.'.

 

 

 

25k accounting routing fail

25k accounting error.jpg

 

100k accounting routing fail

100k accounting error.jpg

3 ACCEPTED SOLUTIONS

Accepted Solutions

So the issue is with empty value of the AccountingApproval variable, i see that you are assigned value to the variable in switch case, for a specific flow run is the flow executing any of switch case and assigning value to the variable. Also I see you have added Compose action before the switch case, please add it after the switch case, exactly  before approval action. Also it would be a good idea to assign a value in initialize variable, like some default value and see what happens.

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

@knandez05 , sorry for the confusion, please do following:

 

1. Select the checkbox for below shown conditions, then click on three dots beside the condition where you will see Make Group option click on that.

annajhaveri_0-1612871933120.png

annajhaveri_1-1612872023002.png

 

Select Or for the main condition and keep and for subconditions, as highlighted in below screenshot, also your final condition will look like below in terms of structure

annajhaveri_2-1612872112377.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

@knandez05 in your expression a quote ( ' ) is missing after 'body/rc5fa423dceaf456393218ec3e3796cf1]. Please use below expression

if(empty(outputs('Get_item')?['body/rc5fa423dceaf456393218ec3e3796cf1']), 0, int(outputs('Get_item')?['body/rc5fa423dceaf456393218ec3e3796cf1']))
Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

34 REPLIES 34
annajhaveri
Super User
Super User

@knandez05 , so the error occurs in accounting approval action, and it looks like you are using variable in the assigned to property of accounting approval, does that variable have a value when this flow failed, from error it looks like the variable using in assigned to field of accounting approval has empty value that is why it is resulting into error.

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Hello @annajhaveri 

 

Thank you for your response. See below for breakdown of setup. Let me know if I'm not understanding or setting it up correctly. 

 

Initialize variable for Accounting

initialize accounting variable.jpg

 

Set variable for Accounting variable. Value = email

accounting set variable.jpg

 

Accounting approval email set to variable

accounting approval email.jpg

 

Thank you in advance for your help and attention to this. 

@annajhaveri I would also like to use an expression for the Executive Approval 25k condition. It should trigger if the Project Budget Amount is greater or equal to 25,000 and less than 100,000. What expression can use in the Executive 25k condition value?

25k expression.jpg

 

 

 

Can you add a compose action just before accounting approval action and assign it Accounting Approval variable value from Dynamic Content, just to make sure that variable has value or not?

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

You can use below expression, replace Amount with your variable name in the expression. 

and(greaterOrEquals(variables('Amount'),25000),less(variables('Amount'),100000))

 

Use expression as below in condition

annajhaveri_0-1611742820664.png

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Thanks @annajhaveri 

 

Seems as thought the expression worked great! However, now my 100k Accounting Approval condition is giving me an error. I have set it up in the same way as the 25k Accounting Approval Condition so not sure what is wrong. I have reset the variables and still getting the following error. 

 

100k Accounting setup

Initialize Accounting Approval variable - type: String

initialize variable accounting approval.jpg

 

100k accounting approval has Compose prior to triggering. Also, Set Variable is set to Accounting Approval. In the Accounting Approval email, Assigned to is set to the Accounting Variable. 

 

100k accounting flow.jpg

 

 

Error:

BadRequest. The request failed. Error code: 'InvalidApprovalCreateRequestAssignedToMissing'. Error Message: 'Required field 'assignedTo' is missing or empty.'.

 

The compose section is empty.

100k compose input-output.jpg

 

Bad Request error so the 100k accounting approval is not triggering the approval email.

100k accounting approval error.jpg

So the issue is with empty value of the AccountingApproval variable, i see that you are assigned value to the variable in switch case, for a specific flow run is the flow executing any of switch case and assigning value to the variable. Also I see you have added Compose action before the switch case, please add it after the switch case, exactly  before approval action. Also it would be a good idea to assign a value in initialize variable, like some default value and see what happens.

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

knandez05
Helper III
Helper III

Big thank you @annajhaveri  This helped & now my flow is working as it should! 

knandez05
Helper III
Helper III

Hi @annajhaveri I have used this same logic to account for 'Increase Budget on Existing Project ID' in my process and it does not seem to be working. I think it may have something to do with the way I have the Condition setup. 

 

Basically, when a request is submitted, I am looking at the Type of Request. Is the request a 'New Project ID' or 'Increase Budget on Existing Project ID.'

 

If 'New Project ID,' the Project Budget Amount should trigger the condition

 

If 'Increase Budget on Existing Project ID,' the Budget Increase Amount should trigger the condition. 

 

- Condition 1: 'New Project ID' or 'Increase Budget on Existing Project ID' is less than $25k - route to Accounting

- Condition 2: 'New Project ID' or 'Increase Budget on Existing Project ID' is greater than $25k and less than $100k - route to Executive VP

- Condition 3: 'New Project ID' or 'Increase Budget on Existing Project ID' is greater than $100k - route to Executive COO

 

I was able to get Condition 1 to work but then the flow failed when I tested Condition 2. This example is an Increase Budget for $60k.

 

Below is my setup for Condition 2: 'Increase Budget on Existing Project ID' is greater than $25k and less than $100k - it should route to the Executive VP.

exec 25k condition.jpg

 

The expressions I used for the New Project for Condition 2. The flow should trigger based on the Type of Request

Type of Request = New Project ID

 

and(greaterOrEquals(variables('Project Budget Amount'),25000),less(variables('Project Budget Amount'),100000))

 

Type of Request = Increase Budget on Existing Project ID

 

and(greaterOrEquals(variables('Budget Increase Amount'),25000),less(variables('Budget Increase Amount'),100000))

 

 

My test of 'Increase Budget on Existing Project ID' with Budget Increase Amount of $60k did not process. 

budget increase 60k false.jpg

 

Any help is much appreciated. Thank you.

@knandez05 , please change the highlighed And in screenshot below to Or, to make the 25K condition working

 

annajhaveri_0-1612794127111.png

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

hello @annajhaveri no, that did not work. all of the conditions back as false. 

@knandez05 , sorry for the confusion, please do following:

 

1. Select the checkbox for below shown conditions, then click on three dots beside the condition where you will see Make Group option click on that.

annajhaveri_0-1612871933120.png

annajhaveri_1-1612872023002.png

 

Select Or for the main condition and keep and for subconditions, as highlighted in below screenshot, also your final condition will look like below in terms of structure

annajhaveri_2-1612872112377.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

knandez05
Helper III
Helper III

Thank you @annajhaveri for all of your help! My approval flow is finally working! You are the absolute best!

Hi @annajhaveri Sorry to go back to this. I tested a New Project ID option and I got an error on the 'Set variable Budget Increase Amt.'

 

Below is the error.

Budget Increase error.jpg

 

Here is the setup for the variables set. 

Set variable.jpg

@knandez05 so i see that error is occurring in the Set variable Budget Increase Amt, can you please share the expression that you re using in the value? 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Sure @annajhaveri . See below.

int(outputs('Get_response_details')?['body/rc5fa423dceaf456393218ec3e3796cf1'])

 

 budget increase expression.jpg

 

@knandez05  What will be value of outputs('Get_response_details')?['body/rc5fa423dceaf456393218ec3e3796cf1'], why are you converting it to Int?

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

@annajhaveri  I need a way to identify the Type of Request. Is the request 'New Budget ID' or 'Increase Budget on Existing Project ID.'

 

If the request is 'New Budget ID' then we must look at 'Project Budget Amount.'

 

If the request is an 'Increase Budget on Existing Project ID,' we must look at the 'Budget Increase Amount' field.

 

Both fields will trigger a condition to respective approvers if 'Project Budget Amount' or 'Budget Increase Amount:'

 

- Condition 1: is less than $25k - route to Accounting

- Condition 2: is greater than $25k and less than $100k

- Condition 3: is greater than $100k

 

I have Initialize variables for both of these instances. And the Set variables follow.

variables.jpg

 

Maybe I need to move the Set variables down to the conditions (before)? 

Move Set variables.jpg

 

 

 

@knandez05 understood your requirements, but the error that you are getting is because of mismatch of type of value, the value that you are convert to int in the Budget Increase Amt doesnt seems to be number or the format is different, that is why i asked you what is the actual value that you are trying to convert to int? 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (2,851)