Hello,
I have three flows that run within the same list:
1. "TAA_VPApprovalRequired" - when new item is created, and "Over $500?" = Yes, this runs. This sets "Status" column to 'Pending VP Approval'
2. "TAA_VPApprovedRejected" - when Vice President changes "VP Approved?" column value to Yes or No, this runs. This updates the 'Status' column to "New"
3. "TAA_runOnCondition" - Once "Status" column value = "New," this flow runs.
I am seeing intermittent errors with Flow #2. Specifically, there is an "Update Item" action that fails with "404 - Cannot find list item." However, even though there is an error, the actions look to be completing successfully and not holding anything up. The item's Status column value is still updated to "New" as expected.. My question is, why would it intermittently not be able to find the list item? A race condition comes to mind... but not sure how that'd happen. Or maybe the Vice President user is editing the item more than once to change the Status column? Figured I'd check here to see if it's something easy that I am missing.
In this example, from the first step "When an Item is created or modified," the ID (435, green arrow below in screenshots) matches the second step's "Update Item" ID (435). However, in the first screenshot, I'm unsure where the IDs next to the yellow arrows are coming from... and if that's a factor. In the final screenshot, you'll see I am using the only "ID" available; from "When an Item is created or modified."
Thank you in advance,
M
@Jay-Encodian - AH! Good to know! And my mistake for not looking more closely. It's now PERFECT. Thank you so very much.
Hey @Morghan
I don't think your trigger condition is correct... check out the one I just posted.
The 'Modified By' field in SharePoint's internal name is 'Editor' 😉
Cheers Jay
Hi @Jay-Encodian - Read my mind! Before reading this, I just used the following and seems to be working so far:
@not(equals(triggerBody()?['Modified By']?['value'],'vhub_noreply'))
The problematic flow I just mentioned seems to be running once every time an item is created and I cannot pinpoint why; whether using a trigger condition or a regular condition. I think I've got it as good as I can though. Thank you for all your help.
Hi @Morghan
Might be worth moving the condition as a trigger condition? and then your first conditional check in the actual Flow would be the approval check.
The trigger condition would be: @not(equals(triggerBody()?['Editor']?['Email'],'thesvcaccount@email.com'))
Cheers Jay
Hey @Jay-Encodian - I think I've got it just about perfect (2 of my 3 flows are fixed). My remaining issue is that one of my flows still triggers even though I have a condition to check for Modified by Email - the difference between this flow and the others is that it has two of these conditions before two more conditions. See screenshot. Is that the issue? that it needs to trigger to check both?
The only "Update Item" in this flow is using the dedicated service account:
Thank you again for the valuable support,
Morghan
Hey @Morghan
You need to change the connection for the actions which apply the update.
You would then add a conditional check at the top of the Flow (or a trigger condition) to validate which account trigger the change... i.e. if it's the service account then don;t do anything.
HTH
Jay
@Jay-Encodian - I also just read through your secondary solution of creating and licensing service account. I am currently the Connection being used for the trigger, would I just change that to be my new service account?
Hi @Jay-Encodian - I am still having some issues but first off, thank you for that info! I didn't know adding trigger conditions were an option in Settings. I will do this for all three of my flows, especially #3 because it is almost CONSTANTLY running. (All three are triggered by "When an item is created or modified.")
My current issue: I just tested with Flow #3 and added the following trigger condition:
@equals(triggerBody()?['Status']?['value'],'New')
I tested a few hours ago by creating a new item in a way that'd NOT set the Status = New, but it still triggered. And now I checked back, and my test was several hours ago, yet the flow runs show it's still running somehow as of a minute ago?? What am I missing? Your guidance is greatly appreciated..
HI @Morghan
Have you added logic to your Flow to prevent a recursive trigger? i.e. your Flow is triggered by an item update and then you are changing it.
You can either add a trigger condition or use a service account identity to perform the update and then check which identity updated the item.
Trigger Conditions: https://techcommunity.microsoft.com/t5/powerapps-flow/new-trigger-conditions-for-flow/m-p/798671
Service Account: https://powerusers.microsoft.com/t5/Power-Automate-Community-Blog/SharePoint-Managing-Recursive-Events-in-Flow/ba-p/250076
It'd be worth making sure you have this covered before troubleshooting further.
HTH
Jay