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

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
RobElliott
Super User
Super User

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
RobElliott
Super User
Super User

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. 

mauritselias
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.'.

Hitay
Frequent Visitor

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
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

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Users online (26,757)