cancel
Showing results for 
Search instead for 
Did you mean: 

Create a trigger for SharePoint list columns

It would be nice to have a trigger if a certain column in a SharePoint list is modified. For example, if the column "Status" is modified, or if the column "Assigned To" is populated. So we don't have to use the trigger "When an item is created or modified", where you have to create a lot of workaround conditions just to make sure that the column that was updated is what you need. 

Status: Completed

Hi all,

 

Happy to update that this feature is now rolled out to and available for use. The documentation is updated as well:

For more info about how to use this action, see this tutorial: Introducing 'when an item or file modified' trigger and 'Get changes' action

 

Thank you all for the feedback and please let us know if you have any questions.

 

Thanks,

Chakkaradeep

Comments
Regular Visitor

Hi, does anyone have a good work around for this? I don't think I can wait any longer for a Microsoft fix, and we need to decide whether to move to another platform all together.

 

I have tried the solution posted here, but I couldn't get it to work for me (lack of skill probably!) - it kept firing whenever a change was made, not just the specific field

http://johnliu.net/blog/2018/5/microsoft-flow-sharepoint-trigger-on-specific-fields-changed-via-sp-h...

 

If anyone knows of any other work arounds that don't involve endless loops / refiring of Flows, please can you let me know? We would also look at third party apps to plug this gap for us.

 

Thanks all!!

Regular Visitor

Hi KTP,

The work around that I did was to choose the field that you want to determine the action on in the conditions box.  Then set it to equal to, and for the field to equal to leave it blank.  Then put in your rules into the "No" side of the dialogue box.  Make sure though not to click into the second box at all because that will leave a space that it will try to run the rule off of. 

This has worked for me with some relative success, but until a fix is ultimately provided by Microsoft it is unfortunately the only way around this that I found that works.

 

Hope this helps out!

HI @shawnlander ,

 

I fundamentally don't like poluting my data with additioanl columns. The better way is to create a 'shadow list'. So the same idea as you suggested but then with an additional identical list. This reduces the number of updates done on the triggering item and it keepsthe original list clean.

Regular Visitor

That's a great idea @Pieter_Veenstra.

 

Hmm, looks like my comment disappeared? Odd.

Regular Visitor

Hi all - thanks so much for those that responded with ideas - I'm testing out the options now!

 

@RobMichaels I've started with your idea as it seemed the simplest - however while it works for the change to the triggering field, any additional changes to other fields for that same List item then fire a duplicate email (for context, I am building an Issues List and am trying to send an email notification when someone gets assigned responsibility for resolving the issue). Did you also find a way around this? Thanks again!

 

@shawnlander thanks for your suggestion - I am just getting stuck on the last step, where you say to update the item and set everything else equal to itself - could you send through some further details on how to do this / a screenshot if you get a chance? For anyone else struggling with this issue, this was Shawn's helpful reply which appears to have disappeared:

 

"Whereas I would like a direct trigger provided by Microsoft for this.  There is a rather simple workaround that I have working.  I believe it was discussed in previous comments.  For each column you want to trigger on you have to create a duplicate column to save the value (i.e. thisNumber and its duplicate, oldNumber).  You then use the trigger "when item is created or modified" with a condition step that checks "thisNumber is not equal to oldNumber".  You do your work in the "Yes" part of the condition and leave the "No" part blank.  The last action in the flow is to update the item (you have to set everything equal to itself, except oldNumber (which you set to thisNumber))".  The effect is that the flow will trigger again (the item was just updated at the end) but since thisNumber=oldNumber at this point, you don't perform your actions.

 

You have to be creative with this kind of thing based on the column type and list settings but you can generallly get anything to work.  To explain, my list has a multi-line text column that is set to append changes.  You can't simply do the above to see if this column changed (if you need to know how I solved it let me know)."

 

@Pieter_Veenstrathanks also for your suggestion of using a "shadow list" - once I've grappled with the above issues I'll also look into this!

 

Thanks again for your time all - hugely appreciated!

Regular Visitor

@KTP  I'd definitely look at the way that Pieter_Veenstra is suggesting. I haven't gone through and modified my stuff yet based on his post but I intend to give it a shot.  It should easily avoid the double-run of the flow due to the "Update Item" action at the end of the flow in what I described.  But to answer your question. Here's a screenshot of the action:Capture.PNG

 

You can see in this that you are setting the "Old[Columns]" to the value of the "[Columns]" and all the other "[Columns]" to themselves so that they maintain their value.

Regular Visitor

I hope this is coming soon, I have some situations where it will solve them.

Advocate II

Please implement this! We have immediate need for this functionality in Flow!

Power Automate

Adding @Chakkaradeep to provide notes on feasibility on this idea.