I am still struggling with this trigger.
The scenario is - I have created a trips calendar which teachers add trips for their students. The trip needs to be approved by 2 people. Sometimes the 1st approver will reject the trip as the trip requires more information. The teacher then amends the trip by adding more information and this then needs to trigger a workflow to do the same thing as before but now on modify.
I am unsure if I need to use 2 flows for this list or use 1.
I am working with the following triggers :
"When an item is created" + "When an item or file is modified" - 2 workflows
"When an item is created or modified" - 1 workflow
Using the 2 workflows I find the workflows trigger one after the other and then its in a infinite loop as the workflow is doing an approval and update.
Using the 1 workflow this just ends up in an infinite loop too.
I have looked into trigger conditions and using a conditional column and still the infinite loop still keeps occurring.
I rather use 2 workflows one form creating the item and other for modifying the item but how do I stop them triggering one after the other continuously and how do I avoid these infinite loops because I I do need to update the trip.
How do I do this ?
Help will be much appreciated.
Solved! Go to Solution.
Thank you for the prompt response
I will share my workflows for a simple approval and update as I am trying to understand the logic behind these trigger conditions
Here is a snip of a create item in a list
Then I want to update that item so here is the workflow
The trigger condition i have placed in the settings is as follows
@not(equals(triggerbody()?['Editor']?['Email'],'PowerAutomate@ncclondon.ac.uk'))
I am using a service account called powerautomate and this uses the connections to sharepoint, mail and approvals.
What am I doing wrong ?
Thanks
Priya
@Priya216 trigger conditions is a good way to avoid infinite loops, what trigger condition had you configured which was not working, can you share?
Also one way to avoid infinite look is as follows:
1. The update that you are doing in sharepoint item, that action will have connection, see what account is used in that connection, its good idea to use service account in connection
2. Put the trigger condition that if Editor (modified by) is not service account email (so with this condition when update to item is made by service account the flow will not be triggered.
Thank you for the prompt response
I will share my workflows for a simple approval and update as I am trying to understand the logic behind these trigger conditions
Here is a snip of a create item in a list
Then I want to update that item so here is the workflow
The trigger condition i have placed in the settings is as follows
@not(equals(triggerbody()?['Editor']?['Email'],'PowerAutomate@ncclondon.ac.uk'))
I am using a service account called powerautomate and this uses the connections to sharepoint, mail and approvals.
What am I doing wrong ?
Thanks
Priya
@Priya216 in those two flows, are you doing update item?
@Priya216 thanks for the details, your trigger condition looks correct, can you double check if the update item uses the service account which you have used in the trigger condition.
@annajhaveri - It wasn't using it but now I have changed it to using the service account. It is working how I expect I it to. But I am now going to add the trigger conditions to real example and see if it works.
My real life example has failed.
I need time out from this now, can I get back to you on Monday with my findings.
I appreciate your help, I feel like I am getting somewhere.
Have a nice weekend. Speak to you Monday.
I hope your well and good.
I have tried using the trigger conditions and using the trigger "When an item or file is modified" to modify the item in question in my example.
I have hit an error. Would you know what the below means
The execution of template action 'Apply_to_each' failed: the result of the evaluation of 'foreach' expression '@triggerBody()?['value']' is of type 'Null'. The result must be a valid array.
@Priya216 any reason why you have apply to each in your flow? if apply to each has @triggerBody()?['value'] then it is incorrect, i would like to understand use of apply to each.
@annajhaveri the flow automatically added that into the flow to say it was needed. I didn't add that in.
As the flow added it in I assumed it required it.
Shall I remove the apply to each ?
@Priya216 okay so if flow automatically added it, it must be because of some dynamic content value you are trying to use in Approval or condition action, can you expand both actions inside apply to each and share the screenshot? Also can you please share data type of columns of list that you are using in the flow?
Thanks for your prompt response
Here is the 1st apply to each snip
This is the 2nd approval
The data types of the columns I am using in the flow are for the following columns Date/Time, Single line of text, Multiple line of text.
Would it be useful if I removed the apply to each and see what happens ? It doesn't make sense to me having that there. In my demo I didn't add that in and that worked successfully.
@Priya216 yes you can try removing Apply to each, as flow as added automatically then it may create issue, but still you can try.
I have recreated the workflow, with no apply to each added in.
The flow has successfully saved.
I have run my flow as shown in the snips above and the flow requires 2 approvals.
The flow seems to have hit a glitch. I am approving the approval to run the flow but the flow inputs the approval as 'false' and the flow completes. I have approved the flow so it should follow on to the 2nd approval stage but it doesn't.
Would you know why this could be happening ?
@Priya216 for approval 1 do you have first to respond approval type? In flow run can you check what it the value of outcome?
Thank you for helping me., I do appreciate all your help. Been working on this flow for 2 weeks now.
Here is the snip for the 1st approval, as you can see I am using 'Start and Wait for an Approval' and the condition is set to the response of the approval which is 'Approve' but the flow inputs it as False (see 2nd snip).
I don't understand why its doing that.
@Priya216 Currently you are checking value of responses, instead please check value of outcome as shown in below condition. Also in flow run, for approval action, see what is there in output to know whats going on.
Thank you so much Anna - I can't believe I missed that vital step, instead of outcome I had responses.
The flow is now working successfully and have used it in a real example and its been success.
I have gone through so many hurdles to get this 'modify' trigger to work. Finally it was the Trigger conditions you said should work and it stopped the infinite loops.
Thank you once again and helping me out today.
kind regards
Priya
User | Count |
---|---|
92 | |
44 | |
21 | |
18 | |
16 |
User | Count |
---|---|
137 | |
49 | |
42 | |
37 | |
29 |