0

I have a flow that updates a SharePoint list item if certain changes have been made to that item. My list has a number of flows running on it, but it has users working in it at the same time, so while this flow usually succeeds, sometimes I get an error:

Save Conflict.

Your changes conflict with those made concurrently by another user. If you want your changes to be applied, click Back in your Web browser, refresh the page, and resubmit your changes.

If my update item block fails due to this error I'd like to get it to wait a bit and retry until it works (when the live user is no longer editing that list item). It seems like "configure run after" can be used to help address this, but I've had trouble nailing down how... not sure if it's the settings for the update item block or the apply to each container that it's in, and if I need to rerun the full flow in case of an error or if I can just retry the discrete update item block. Can anyone help me with the specifics?

The trigger is when an item is modified, using the trigger conditions to only run if the modified item has had the Status changed to Verified:

enter image description here

Then I initialize a bunch of variables and a compose function that aren't related to the issue I'm having (so, not pictured).

Next I do a lookup (Get Items) in another reference list in SharePoint to get the email address for the school related to my modified list item. That generates an Apply to Each container, and within that, I update my original list item that was recently modified:

enter image description here

That Update Item block (along with the Apply to Each container) is the one that's sometimes failing because someone is editing the list item:

enter image description here enter image description here

So, how can I get the Update Item action to try again until the list item is available and can be updated successfully?

2

1 Answer 1

2

The way I handle this type of thing is:

  1. Initialize Boolean variable. Value = true

  2. Add a Do Until action. Condition = variable is equal to false

  3. Inside the Do Until, add your Update Item action

  4. After the update item, add a Delay action and configure it to run after the Update item action fails

  5. After the Delay action, add a Set Variable action that updates your variable to false. Configure it to run after the Delay action is skipped.

    enter image description here

    enter image description here

    enter image description here

2
  • Thank you - this explains perfectly how to put the solution in place. I've updated one of my problem flows with this, re-run the failed ones and so far it's working flawlessly.
    – Darryl
    Commented Feb 7, 2023 at 19:23
  • Follow-up: I can confirm now that I've put this on a couple of flows and they've had time to run - I can see examples now where the flow failed the first time, looped once, and completed successfully. Perfect - thanks!
    – Darryl
    Commented Feb 7, 2023 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.