I have received some odd behaviour with a list workflow. The list and the workflow were created in SharePoint/Nintex workflow 2010 and all was working fine for a couple of years. The list and the workflow were then migrated to SharePoint/Nintex Workflow 2013 now whenever an item is added to the list (which meets the conditions for starting) two instances of the workflow start. I then amended the workflow to make it start when an item is created and added a"wait for item update" action to the start of the workflow which is set to wait for the value that was in the conditional start. When I create a new list item now only one instance of the workflow is started.
I have a solution to the problem but I would like to understand why the conditional start appears to be working incorrectly as it is possible that we have other workflow with the same problem. Does anyone have any ideas?
Did you use a list template to recreate the list/workflow when you did the migration? What I've seen happen in the past is that if you save a list to a template while a Nintex workflow already exists on that list, a "ghost" copy of the workflow remains on the list but isn't visible from within the designer. Then when you import the workflow onto the list you end up with 2 copies of the workflows running and causing strange behavior as you described. You can get rid of the ghost workflow by opening the list in Sharepoint designer and deleting a copy of the workflow. The alternative to this scenario is that you had a condition that was set to run on both creation and item modification and your workflow was meeting both criteria causing a sort of "loop" to occur --- i.e. start workflow on create, and then start workflow on item update. Usually tweaking the conditions by which it starts solves this second issue.
Thanks for the ideas.
I did use a list template when I did the migration but I was aware of the possibility of a "ghost" copy so I checked SharePoint designer before importing the workflow but also changed the name of the workflow.
Re your second option the workflow was only set to run on creation (and even then only under certain conditions).