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

SharePoint List – Limit approval to one time when modified

Hi all,

 

Hope someone can guide me the right direction.

I want to limit approval to one time only, when specific field is marked as completed and if after some goes add additional detail, it does not start approval again.

Is this possible?

 

I have already setup approval flow for SharePoint list, on condition when specified field is changed to completed. This does work fine, my issue is that after it is marked as completed but needs to add more detail (when someone forgets), it would send approval request again that is not required for this situation.

Let me know if it's not clear and require more detail.

 

Thank you for your time.

1 ACCEPTED SOLUTION

Accepted Solutions
JimmyWork
Memorable Member
Memorable Member

@Norms 

Is your column named "Status" and is it a choice column?

I believe you only need one of those set @not(equals(triggerOutputs()?['Status'], 'Done'))

 

Whit the above it will not run if the Status is set as Done. It will run on all other options, if you only want to run it when it has no status at all then you need to use Null value or multiple not, i have not tried null value.

 

You always run this when a item is created or modifed?
Do you only want to run it once or multiple times later on?

 

I just checked mine for an approval looks like this.
Should work just changed to your column and status 🙂

 

2021-04-19 21_05_06-Edit your flow _ Power Automate.png

 

 

 

 

View solution in original post

8 REPLIES 8
fchopo
Super User
Super User

Hi @Norms 

You could add another condition based on the approval status column, for example.

If status=completed and approval status=not initiated -> Start the flow

If status=completed and approval status=pending -> Don't start the flow

 

Hope it helps!

Ferran

Did I answer your question? Please consider to mark my post as a solution to help others.
Proud to be a Flownaut!
JimmyWork
Memorable Member
Memorable Member

You can achieve this without adding new conditions, do it in the settings of the trigger. Add the condition there and the flow will only run if that columns name is not completed. Added image for example, you would need to edit it to fit your needs.

 

2021-04-16 17_31_57-Edit your flow _ Power Automate.png

Norms
Frequent Visitor

Hi Ferran,

 

I tried to setup the flow pending status, which did work, but when go back to list edit something, it changes status back from Approved to pending and would trigger the approval again.

Thanks

Norms
Frequent Visitor

Hi Jimmy,

 

Thanks for your reply, tried to do this way, but nothing work for me now.

If you have time for advise, I would appreciate.

 

Column name is 'Status'

Type, Choice: Done, In progress, Has issues.

 

@equals(triggerOutputs()?['Status']?['value'],'Done')

@not(equals(triggerOutputs()?['Status'], 'true'))

 

Also to mention, trigger body not available from the Array drop-down, only trigger outputs, maybe something wrong with list.

 

Norms_0-1618832565321.png

 

Hi @Norms 

Therefore you should follow the @JimmyWork proposed solution.

Regards.

Did I answer your question? Please consider to mark my post as a solution to help others.
Proud to be a Flownaut!
JimmyWork
Memorable Member
Memorable Member

@Norms 

Is your column named "Status" and is it a choice column?

I believe you only need one of those set @not(equals(triggerOutputs()?['Status'], 'Done'))

 

Whit the above it will not run if the Status is set as Done. It will run on all other options, if you only want to run it when it has no status at all then you need to use Null value or multiple not, i have not tried null value.

 

You always run this when a item is created or modifed?
Do you only want to run it once or multiple times later on?

 

I just checked mine for an approval looks like this.
Should work just changed to your column and status 🙂

 

2021-04-19 21_05_06-Edit your flow _ Power Automate.png

 

 

 

 

View solution in original post

Norms
Frequent Visitor

Hi Jimmy,

 

Thanks for your reply, I will try out today.

Q: Is your column named "Status" and is it a choice column? Yes

 

My goal is that the flow only runs when that specific field is changed and the value is Done.

My challenge is that when someone would go back to the list after marked as Done and add additional detail and flow runs again because it has value 'Done', but it wan't changed it self.

 

Is it better to setup a rule, that the flow runs only when the value is changed?

If I would setup only two choices (In progress, Done) and when that value is changed it would trigger the flow (regardless what is the value).

And if someone goes back to add extra detail, it would NOT run the flow, unless that field is changed it self.

Does that make sense?

 

Im not good at explaining clear enough in the first time i guess. Trying to find best solution for this flow.

 

Thanks

JimmyWork
Memorable Member
Memorable Member

@Norms 

In my second image you can see Trigger conditions.

My first trigger condition checks the column CaseCategory and it must be equal to Access request, if this is not true my flow will not run.

 

This is where you can put your requirements for the first part.
"My goal is that the flow only runs when that specific field is changed and the value is Done."
So you would input the specific field that would be changed, I don't know what this can be changed to?
You have two requirements if I understand it correctly.
One is to not start the approval again if the Status column equals Done.
Second requirement is not to run the flow if a certain column is not equal to something, what is this column name and type and what should it be equal to.

First you would check if the certain column contains X, then it would check so Status column is not equal to done.

 

The second is to stop it running if the Status column is equal to Done.

@not(equals(triggerOutputs()=['body/Status/Value'], 'Done'))

 

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
Users online (2,985)