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

Trigger flow when an item in SharePoint list is modified

Hi,

 

Looking for best practice in terms of trigger to used to start a flow only when an item in SharePoint list is modified.

 

We have used "When an existing item is modified" trigger which is supplied as part of an template to send notifications when items in SharePoint list undergo modification. This flow doesn't trigger for all the notifications. And read in one of threads in power automate community that this trigger is not supported in SharePoint connector.

 

"When an item is created or modified" triggers is used, Could someone please recommend the best condition to be used to differentiate "item created" and "item modified" events when a flow triggers. 

 

Thanks,

SV

 

1 ACCEPTED SOLUTION

Accepted Solutions
Super User III
Super User III

Hi @sunithav you can do it by using Compose controls to compare the created and modified dates. then use a condition that if the output of the created compose is equal to the output of then modified compose then do something, otherwise do something else.

 

compare-date-time.png

 

My example just uses the date as a comparison but you could use time as well.

 

compare-date-time2.png

 

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

View solution in original post

10 REPLIES 10
Super User III
Super User III

Hi @sunithav you can do it by using Compose controls to compare the created and modified dates. then use a condition that if the output of the created compose is equal to the output of then modified compose then do something, otherwise do something else.

 

compare-date-time.png

 

My example just uses the date as a comparison but you could use time as well.

 

compare-date-time2.png

 

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

View solution in original post

Thanks Rob for your response. 

 

Learnt from threads in power automate community that there is a possibility of "Created" and "Modified" values differ by second(s) even when an item is created. I personally haven't seen this happening. Have you experienced this issue ever? 

 

Thanks,

SV

@sunithav 

It is true that the created and modified times can be different for a new item in a SharePoint list.

The solution presented by @RobElliott allows you to ignore the difference by stripping out the seconds part of the date/time.  While that solution may not be accurate enough for all applications, it should be good enough for most.

 

 

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

Scott

Thanks Scott, for your response.  Came across few more thread which talked about checking version number to distinguish between item created and modified event. I will use this along with the approach Rob has suggested. I'm looking for a fool proof solution as we have lot of flows to be triggered when items in SharePoint list modified. 

Regular Visitor

HI,

 

My question is a bit the same. Is it possible and if so how to install notifications (via email e.g.) in a Teams List when e.g.:

- You have client data with [due dates],[God, moderate,bad] values, [probation period of a contract] etc

- Suppose the due date in the list is [01/04/2020] and then a notification mail should be emailed when that day oddurs (or e.g. 7 days earlier)

- The Client value is adjusted from [good] to [bad] then an email to be sent to the account manager of the client to notify

- A notification mail should be sent if the probation period (so the enddate is reached) had passed

 

When I looked around I saw these possibilities with Flow app in Team. Can anybody help me how to program such rules with certain conditions? Thank you,

 

Regards, Maurits

I have seen this, in fact it happened this morning. Could not figure out why Created and Modified were not seen as being equal. I then scrolled through a completed Flow to see the data it looked at. Sure enough, they are different:

 

Modified

2020-04-07T17:59:29Z


Created

2020-04-07T17:59:25Z

 

If we are forced to do this condition every time we want to trigger on a change to an existing item, how the heck are we supposed to get around this 4 second difference?

 

 

Hi @RobElliott 

 

I like your solution and I'm trying to implement this for my project however after using the same expressions i am getting this error

 

InvalidTemplate. Unable to process template language expressions in action 'Compose_Created' inputs at line '1' and column '2871': 'The template language function 'formatDateTime' expects its first parameter to be of type string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#formatdatetime for usage details.'.

Hi @RobElliott

 

this way you Format the date to only Show the day, right? 

So you are not only getting rid of the seconds, but also the Hours and minutes?

 

What would it look like if I would like to get rid only of the seconds, keepping the Hours and minutes?

 

Because in my use case the users can change the item during the same day they created it.

 

Thanks!

Hilal

 

_____________

 

I solved this by using 'dd/MM/yyyyTHH:mm' instead of 'dd/MM/yyyy'

Hi @ScottShearer 

 

this way we Format the date to only Show the date, right? 

So we are not only getting rid of the seconds, but also the Hours and minutes?

 

What would it look like if I would like to get rid only of the seconds, keepping the Hours and minutes?

 

Because in my use case the users can change the item during the same day they created it.

 

Thanks!

Hilal

 

_____________

 

I solved this by using 'dd/MM/yyyyTHH:mm' instead of 'dd/MM/yyyy'

@RobElliott If you want to save the API calls, you can add an expression that verifies if the created date and modified date are different and add that expression into trigger condition so the flow only triggers when an item is modified. 

https://www.timlinenterprises.com/microsoft-power-automate-flow-trigger-conditions/

 

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

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 (8,905)