cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
CWilcox
Advocate I
Advocate I

SharePoint list item field updated

It would be good if we could set a 'Flow' to only work when the value of a field changes.

 

Example:

 

We have a 'column' with 3 possible options 1) Planning, 2) Promote, 3) Finished.

 

When a new item is created by default the column is set to 'Planning'.

 

Although many other changes may occur in other columns, we would only want the 'Flow' to start when this particular column is changed. But when other columns are changed no 'Flow' is triggered.

 

Hope this is something that could be implemented, as the current 'Flows' will run each time any column is updated.

41 REPLIES 41

I want to hook onto this...

I created a flow like suggested with a switch statement on a column value. Works fine, thanks for sharing!

 

I have one issue.

Out of this line with the changed value i create a new list item in my calendar list. I try to set the start and end time of the new evnet to corresponding values of the list.

 

when I look into the results it looks like follows

This is what I have in my "trigger"

image.png

This is what i want to do as action

image.png

 

This is what happens

image.png

It always sets end date = null and thus the event will not show up in my calendar 😞

Any ideas?

Looking at the screenshots you provided it looks like you're accidentally using the wrong variable to assign the end time.  You're using a variable called "End Time" in the flow when in the output screenshot you're showing a variable named "END Date" which looks like the correct format and the variable you want to assign the field End Time to.  👍

MaWi
Helper I
Helper I

Would be too easy. I Just created both. One is a calculated one. (Start + duration) the other is one i created for testing purpose. Manually added Date.
Anonymous
Not applicable

I was wondering if "a new trigger based soley on when a value changes" (as mentioned in the last post) was ever implemented.

Anonymous
Not applicable

I would wonder the same thing myself. Was this implemented?

It's implemented in Nintex, which is far superior to Microsoft. Unfortunately, I no longer have Nintex Workflows. Maybe Micro$oft should just buy Nintex and use it.

Can you please elaborate on this. When I try the Modified it just pulls in a date...how do you use this to tell you which column you are looking to see if it was modified?

JimmyWork
Resident Rockstar
Resident Rockstar

This is defintly something we need now.

Hi,
I’m trying this with an Options column and I’m getting an error message every time I try to trigger the flow.
I have a Status column with pre-established options and I want to trigger different actions depending on what Status the column is updated to.
The Switch control after the item change trigger seems ideal but I cant get it to work.

Help!

@GarciaMcG 

 

If you are clicking the field from the Dynamic content make sure you click ont he one that says "ColumnName Value" not just "ColumnName".

 

Choice fields are a pain in Flow sometimes!

Anonymous
Not applicable

Thank you for this thread, it helped to understand this issue a lot. I agree, this issue needs an simple solution ASAP. I just spent 30 minutes of my work time erasing duplicates from a log that updates everytime a change is made. Ideal would be to update the log only when one column changes. I'm not going to do any fancy coding solutions to achieve this, it would not serve our purposes, since we need a solution that regular non-IT-people can understand if it needs to be updated in the future. Until a solution is made, I'll just keep manually erasing the extra rows. 

@Anonymous 

 

I followed these notes and got it to work good on my end. 

 

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

 

This guy here has some of the best Flow solutions.

 

Hope this helps!

 

Rebeca

I use this to but this is not what we are requesting.

Flow should only be triggerd when a column is changed.

 

Using John Liu's way is a temporary workaround. It triggers on modified or new and not on column change. This means the flow runs each time anything is modified.

Anonymous
Not applicable

Dear @rebeccas , 

 

thank you for taking the time to reply. If you read my reply, I said that this solution is too complex for our users. The Flows we use need to be simple enough for non-IT-personell to update and modify when necessary. 

 

There seems to be demand for this feature, I hope that Microsoft implements it at some point. 


Kind regards, 
Heidi 

@JimmyWork 

 

His solution is a "work around" ..they should add an option for just modified. But with his work around it will "run" for either a creation or a modification but you only have an action with it is modified and for a specific column. I use it for one that looks for only when the status of an item is modified. It works really good.

 

But I do agree for sure...it would be awesome if they came up with a more simple/straight forward solution that is just when an item is modified and then you can put in what you are looking for to be modified. Hopefully they will do that soon.

 

@Anonymous 
I agree, hopefully they will add in an easier solution soon.

Anonymous
Not applicable

Still no solution to this issue? I've been searching everywhere..

Hi, @Anonymous ,

 

This can be done using a combination of a *bit* of the 'hard stuff' (no insult - I'm flying blind, too!), but you can use the inbuilt functions to (gradually) build the data and logic that you need. I'm going to provide a more 'in depth' version of this, that includes how I've done the logic part of this, it's simple, but initially involved.

 

The reason for this is that now this doesn't actually allow you to type in 'Value' to get to the request's value, instead, it just provides the 'Body' which contains that. So you need to use a "Parse JSON" to work with the data. This means that you'll need to do a hefty few run-throughs to work out some of the generic values, and/or actually get the right template.

 

So, my first suggestion, before you get in to configuring the HTTP request, is to pipe anything you're going to use frequently in to a variable, because, sometimes, it's just easier than playing "Please let me" tennis with Flow. Then get that HTTP Request's 'Body', and give your JSON a schema to work with.

 

So pre-flow work is:

  1. Setup variables, I always set up at least an ID variable:
    varID.jpg
  2. Setup the HTTP Request:
    httpRequest.jpg
  3. Setup a "Compose" to get the 'Body'
    composeRequest.jpg
    (or you can just take it from the request in the test result - I just like to separate things down)
  4. Run a test on the flow, by updating a row on your list.
    Just update one column, and make sure it ** isn't  ** an appendable multi-line text field.
    (this messes up the JSON somehow)
  5. Copy the "Compose" test result contents somewhere safe, verbatim, and remove the "Compose".

Now you can do the thing (ju li):

  1. Parse JSON:
    parseJSON.jpg
  2. Using either trial and error, or an insanely brilliant ability to read JSON, figure out which fields to map in the "Select" ...
  3. Now you can work the logic in!

So, you do kind of need to do the first bits of John Liu's fix on this (at his dot net domain), but you should be able to lean on the Flow basic functions to do all the hard work for ya.

 

*Nearly* no code ... and what code there is you're just copying and pasting ;-).

 

OK ... now for the more complicated version!

We need more variables set, so that we can differentiate between the new and old version. So. The bigger pre-flow work is:

  1. Initialise variables for:
    1. creaModId - from trigger - This is the created or modified item's ID.
    2. currentVers - from trigger - This is the most recent version of the item. 
    3. currentValue1 - from trigger - Most recent data in Value1 column.
    4. currentValue2 - from trigger - Most recent data in Value2 column.
    5. oldVers - from logic - elder of the 2 versions taken through HTTP get.
    6. oldValue1 - from logic - eldest of 2 Value1 data taken through HTTP get.
    7. oldValue2 - from logic - eldest of 2 Value1 data taken through HTTP get.
      initialisedVariables.jpg
  2. Set variables for the following, so we can differentiate if required:
    1. creaModId - trigger's ID
    2. currentVers - trigger's Version number
    3. currentValue1 - trigger's Value1
    4. currentValue2 - trigger's Value2
      setVariables.jpg
  3.  
  4. Setup the HTTP Request:
    httpRequest.jpg
  5. Setup a "Compose" to get the 'Body' of that request.
    composeRequest.jpg
    (or you can just take it from the request in the test result - I just like to separate things down)
  6. Run a test on the flow, by updating a row on your list.
    Just update one column, and make sure it ** isn't  ** an appendable multi-line text field.
    (this messes up the JSON somehow)
  7. Copy the "Compose" test result contents somewhere safe, verbatim, and remove the "Compose".

Next comes a slightly more involved process to grab and compare the details. Once I've saved this post, I'll see if I can sum it all up with some imagery, somehow, more easily. So, in the pre-run, you've run a test run, and have an HTTP Request that's all correct, now you'll want to use a "Select" to pick out the data that you need, but Flow can't understand the information natively, so we need to do some of those pre-amble steps again in the flow building proper:

  1. Create a "Parse JSON" from the body of the "HTTP request".
  2. Click on "Use sample payload to generate schema" and paste in the "Compose" data that you'd saved above.
    This helps "Parse JSON" understand your data, it uses your example to build a framework (SCHEMA) from.
  3. Your flow now understands the HTTP Request output!
    parseJSON.jpg
  4. Now we need to pick the data that we want from that "Parse JSON", done using a "Select", so:
    selectFromJSON.jpg
  5. The annoying thing is that now we need to "Parse JSON" again, to understand what the "Select" in #4 there puts out ...
    ... ... ... sooooooo ... we need to copy/paste again:
    copySelectJSON.jpg
    Run another test (same restrictions!) and copy paste the results somewhere safe.
  6. Now, back into Flow building, you can paste that test result into the generate schema of your second "Parse JSON".
    secondParseJSON.jpg
    Now flow understands the data that you've selected. Let's tidy that up.
  7. Plonk the request to the second parse into a scope, and minimise.
    scopeOldData.jpg
    Now we have an array of two sets of data that we now need to pick out the oldest stuff from.
  8. Create a "Filter array" from the Body of the second JSON to get anything that isn't the current version:
    filterArrayJSON.jpg
    We've used the currentVers variable! Since we have only taken 2 results in the HTTP request, there will only be one result!
  9. Now we need to set the "OLD" variables from the "Filter Array", and thank the maker we don't have to parse it (the "currentValue1" should read "oldValue1" - I'll correct it later!):
    setOldVariables.jpg
    You can see the "apply to each" here, that's because it's kinda going through 2 sets of data. The reality is that it's only going to be the one, older, set.
  10. *NOW* we can *finally* work out what we want to do with the data ... if I get the chance, I'll edit that in, too ... but logic is all you, really. 😘

Very quickly, as an example of logic work on this, I've just done a quick IF/THEN brancher on the assumption that we can only change 2 values. Here's the whole thing:

fullExampleLogic.jpg

 

Here it is broken down:

  1. If currentValue1 matches oldValue1,
    exampleLogic1.jpg
  2. ... then record the obvious change in an entry in another list with oldValue2.
    exampleLogic2.jpg
  3. However, if it doesn't match, then we still need to check currentValue2 against oldValue2 and add both to our other list, accordingly.
    exampleLogic3.jpg

Best

Eliot Cole @ projectfive UK

Hi, how you can put in a condition in Flow checkfield IsBlank() -> Yes ?

@Joe3 

Would probably need a bit more information, mate, and I recommend you raise a new thread for it, but just guessing:

Use a condition and select the things that you wish to filter, then leave the other side blank, and say equals this.

amralomari
Advocate II
Advocate II

Thanks for everyone contributed here and provided solutions

 

BUT MICROSOFT SHOULD PROVIDE AN EASIER WAY TO SOLVE THIS ISSUE

Helpful resources

Announcements

Update! June 13th, Community Ambassador Call for User Group Leaders and Super Users

Calling all Super Users & User Group Leaders   UPDATE:  We just wrapped up June's Community Ambassador monthly calls for Super Users and User Group Leaders. We had a fantastic call with lots of engagement. We are excited to share some highlights with you!    Big THANK YOU to our special guest Thomas Verhasselt, from the Copilot Studio Product Team for sharing how to use Power Platform Templates to achieve next generation growth.     A few key takeaways: Copilot Studio Cookbook Challenge:  Week 1 results are posted, Keep up the great work!Summer of Solutions:  Starting on Monday, June 17th. Just by providing solutions in the community, you can be entered to win tickets to Power Platform Community Conference.Super User Season 2: Coming SoonAll communities moving to the new platform end of July We also honored two different community members during the call, Mohamed Amine Mahmoudi and Markus Franz! We are thankful for both leaders' contributions and engagement with their respective communities. 🎉   Be sure to mark your calendars and register for the meeting on July 11th and stay up to date on all of the changes that are coming. Check out the Super User Forum boards for details.   We're excited to connect with you and continue building a stronger community together.   See you at the call!

Copilot Cookbook Challenge | Week 2 Results | Win Tickets to the Power Platform Conference

We are excited to announce the "The Copilot Cookbook Community Challenge is a great way to showcase your creativity and connect with others. Plus, you could win tickets to the Power Platform Community Conference in Las Vegas in September 2024 as an amazing bonus.   Two ways to enter: 1. Copilot Studio Cookbook Gallery:  https://aka.ms/CS_Copilot_Cookbook_Challenge 2. Power Apps Copilot Cookbook Gallery: https://aka.ms/PA_Copilot_Cookbook_Challenge   There will be 5 chances to qualify for the final drawing: Early Bird Entries: March 1 - June 2Week 1: June 3 - June 9Week 2: June 10 - June 16Week 3: June 17 - June 23Week 4: June 24 - June 30     At the end of each week, we will draw 5 random names from every user who has posted a qualifying Copilot Studio template, sample or demo in the Copilot Studio Cookbook or a qualifying Power Apps Copilot sample or demo in the Power Apps Copilot Cookbook. Users who are not drawn in a given week will be added to the pool for the next week. Users can qualify more than once, but no more than once per week. Four winners will be drawn at random from the total qualifying entrants. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once. If they are drawn multiple times, another user will be drawn at random. Prizes:  One Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value, does not include travel, lodging, or any other expenses) Winners are also eligible to do a 10-minute presentation of their demo or solution in a community solutions showcase at the event. To qualify for the drawing, templates, samples or demos must be related to Copilot Studio or a Copilot feature of Power Apps, Power Automate, or Power Pages, and must demonstrate or solve a complete unique and useful business or technical problem. Power Automate and Power Pagers posts should be added to the Power Apps Cookbook. Final determination of qualifying entries is at the sole discretion of Microsoft. Weekly updates and the Final random winners will be posted in the News & Announcements section in the communities on July 29th, 2024. Did you submit entries early?  Early Bird Entries March 1 - June 2:  If you posted something in the "early bird" time frame complete this form: https://aka.ms/Copilot_Challenge_EarlyBirds if you would like to be entered in the challenge.   Week 1 Results:  Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1.  @Mathieu_Paris 1.   @SpongYe 2.  @Dhanush 2.   @Deenuji 3.  n/a3.   @Nived_Nambiar  4.  n/a4.   @ManishSolanki 5.  n/a5.    n/a   Week 2 Results:  Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1. Kasun_Pathirana1. ManishSolanki2. cloudatica2. madlad3. n/a3. SpongYe4. n/a4. n/a5. n/a5. n/a

Win free tickets to the Power Platform Conference | Summer of Solutions

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**

Celebrating the June Super User of the Month: Markus Franz

Markus Franz is a phenomenal contributor to the Power Apps Community. Super Users like Markus inspire others through their example, encouragement, and active participation.    The Why: "I do this to help others achieve what they are trying to do. As a total beginner back then without IT background I know how overwhelming things can be, so I decided to jump in and help others. I also do this to keep progressing and learning myself." Thank you, Markus Franz, for your outstanding work! Keep inspiring others and making a difference in the community! 🎉  Keep up the fantastic work! 👏👏 Markus Franz | LinkedIn  Power Apps: mmbr1606  

Your Moment to Shine: 2024 PPCC’s Got Power Awards Show

For the third year, we invite you, our talented community members, to participate in the grand 2024 Power Platform Community Conference's Got Power Awards. This event is your opportunity to showcase solutions that make a significant business impact, highlight extensive use of Power Platform products, demonstrate good governance, or tell an inspirational story. Share your success stories, inspire your peers, and show off some hidden talents.  This is your time to shine and bring your creations into the spotlight!  Make your mark, inspire others and leave a lasting impression. Sign up today for a chance to showcase your solution and win the coveted 2024 PPCC’s Got Power Award. This year we have three categories for you to participate in: Technical Solution Demo, Storytelling, and Hidden Talent.      The Technical solution demo category showcases your applications, automated workflows, copilot agentic experiences, web pages, AI capabilities, dashboards, and/or more. We want to see your most impactful Power Platform solutions!  The Storytelling category is where you can share your inspiring story, and the Hidden Talent category is where your talents (such as singing, dancing, jump roping, etc.) can shine! Submission Details:  Fill out the submission form https://aka.ms/PPCCGotPowerSignup by July 12th with details and a 2–5-minute video showcasing your Solution impact. (Please let us know you're coming to PPCC, too!)After review by a panel of Microsoft judges, the top storytellers will be invited to present a virtual demo presentation to the judges during early August. You’ll be notified soon after if you have been selected as a finalist to share your story live at PPCC’s Got Power!  The live show will feature the solution demos and storytelling talents of the top contestants, winner announcements, and the opportunity to network with your community.  It's not just a showcase for technical talent and storytelling showmanship, show it's a golden opportunity to make connections and celebrate our Community together! Let's make this a memorable event! See you there!   Mark your calendars! Date and Time: Thursday, Sept 19th Location: PPCC24 at the MGM Grand, Las Vegas, NV 

Tuesday Tip | Accepting Solutions

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   To enhance our collaborative environment, it's important to acknowledge when your question has been answered satisfactorily. Here's a quick guide on how to accept a solution to your questions: Find the Helpful Reply: Navigate to the reply that has effectively answered your question.Accept as Solution: Look for the "Accept as Solution" button or link, usually located at the bottom of the reply.Confirm Your Selection: Clicking this button may prompt you for confirmation. Go ahead and confirm that this is indeed the solution.Acknowledgment: Once accepted, the reply will be highlighted, and the original post will be marked as "Solved". This helps other community members find the same solution quickly. By marking a reply as an accepted solution, you not only thank the person who helped you but also make it easier for others with similar questions to find answers. Let's continue to support each other by recognizing helpful contributions. 

Users online (2,731)