Skip to main content

Hello everyone, 

I am trying to figure out a way that based on a particular state/status (Under Warranty) the workflow runs a different set of actions when the status is changed via the form (ex. user emails me during warranty period, I click a button on the form to change its status). Or after 3 days the status will automatically change to completed and a notification sent out to the user.  Currently I have a state machine setup, however I get the error: Maximum loop threshold exceeded during the loop below. I have been at this for a few weeks and perhaps I am to deep into the weeds.  I have tried not using a state machine, but I keep coming back needing a loop for this particular status/state.  Would anyone have any best practices or approaches that could possibly resolve this? (from left to right is the Under Warranty State).

FirstPart SecondPart ThirdPart

First, I'd recommend looking at breaking this workflow up into separate workflows.  That way if one step fails, it doesn't kill the whole process.  Have one main workflow that has your state machine.  (One workflow to rule them all)  Then within each leg you would use the Start Workflow action to start a specific process.  This gives an example. Approach to splitting a Nintex Workflow 

To answer your specific question, loops have a max threshold of 250 loops.  You could make some changes to prevent reaching that threshold, such as using a Pause action to delay how often it runs.  But I think you may also want to look at not using a loop.  You can configure workflows to run when an item is updated, or  you could setup a scheduled workflow to run every day to do your date comparison and see if the warranty is over.  But you'll need to split up your workflow first to use those options.  Or you just put a Pause Action in there and have it run only a couple times a day and see if that works. Depends on how long your process can take.  


Thank you for your help Brendan Murphy! I will definitely give this a try.


Reply