Skip to main content

I have a workflow which is supposed to start when the ‘Work email address’ field on the list is filled. So I have configured the workflow start options as shown:

But the workflow doesn’t start when this field is filled in through the form:

However, the workflow does start if I put in the email address to the item in edit menu:

Any ideas why?

Hi Nabil,

I have seen issues with conditional starts before in Nintex, dumb question though but I am assuming you are saving the form with the email address but its still not starting even after a couple of minutes?

the other alternative to be very sure the logic works you could start the workflow on every modification and check at the very start if the email address is filled in with something, if not then exit else proceed further.

The only caveat to this option is that  the workflow will trigger for every update and you will have to do an additional check that the workflow does not process this again i.e. if the email address is updated the second time you might not want to run it ?

Sorry I am assuming it might be glitch and the solution is actually a workaround, unless someone from the community has faced this before and know of a perfect configuration option to stop this.

Regards,

Shrini


Hi,

The problem with the conditional start workflow is known issue for some environments, it's happens because of SharePoint Workflow timer job sometimes delaying and you can see "Starting" when you enter to the item workflow page.

It's depend on the amount of WF that currently running and can take up to 5 minutes until is will start(timer job schedule by default run every 5 minutes) sometimes it's doesn't work after 5 minutes

For now there is now real solution that I know of to deal with this timer job

Shrinivas Naik gave a good solution that I'm using too, start workflow when item is modified and than add condition that if the Email is not filed out then end the current workflow

Another solution is to use "Filter" action that does the same impact but with 1 action, you can see here in this article

Hope that will help,


Thanks Shrini, however the problem with your solution (which you have mentioned too) is that once the email address is filled in for the first time, the workflow will run as it should; but later on if there is any other change to the item (any other field changes), the workflow will run again (because the email field is already filled) whereas it shouldn't be running for the second time. Is there any solution to stop the workflow running for the second time?


Nabil is correct, the workflow would run every modification after and sounds like that is not intended.

A few ways to address it.

Take the second part of your condition out of the equation and just use the condition of Past value is empty. Then when the workflow runs wrap everything in a Run If that only runs your workflow actions if the current value is not empty for that email. If this still suffers from the timer delays and the result is not as intended then . . .

Create a column in the list, yes no box, for whether the workflow has been run before. Then you can do as the others mentioned, check the condition at workflow start to see if the email address exists and if the new column "Workflow Ran" has a value of now. Next take your actions and update that column to yes.

That should only produce a result where the workflow takes its actions only the first time.


Thanks Christopher. I have already implemented a solution similar to the one you proposed.


Reply