I have a workflow which receives a push notification from an external source that a device has changed state, I record that event in a losant device attribute to trigger a device state workflow, which issues an HTTP GET to retrieve the external detailed state. The device state trigger is set to exclude all device attributes except that updated by the original push. The update initiated by the GET never updates that original attribute (I believe I am following the instructions provided to avoid the loop in the Device State documentation). I am still getting an InfitineLoopError.

Hi @David_Kjendal,

Would you be able to share a screenshot of your workflow?

Thank you,

The flow on the left receives a POST and stores a single attribute: lastAlert

The flow on the right triggers on only lastAlert changing (all other are excluded), then does a GET to retrieve detailed state and stores the result in the device attributes, but does not change “lastAlert”

Hi @David_Kjendal and @Heath,

I had the same problem, but it seemed to me that this only occurs when the state’s flow generator and the state trigger are in the same workflow, even if there is no connection between the flows. Because when I separated the flows into two workflows, the error InifiteLoopError stopped happening. Even so, it probably seems to me to be a bug in trigger validation.


Thank you for confirming what I was just testing. I appreciate the help!


To Vander’s point, my suggestion would be to split the right side of that workflow (the one starting with the Device State Trigger) into another workflow.

Thank you,

Thanks both, probably good to update the docs with this restriction.