In CRM 2013 or 2015, if you have a workflow that runs on change of the process flow stage, such as a notification email, you may occasionally see the workflow fire multiple times.
The reason for this is because the way that the stage is moved by hitting the next/previous buttons makes it very easy for users to click the arrow too many times, and they may accidentally go forward/back too many stages, causing the workflow to double/triple fire. Also, each time the stage is moved, it saves, so if the user advances the stage 4 times, the workflow will run 4 times.
There are several approaches that you can use to guard against this. The following approach uses out of the box tools.
- Create a field called notification date.
- Add a step at the end of the workflow to update the notification date field with the execution time of the workflow.
- Add a check condition step at the beginning of the workflow to check and see if the execution date is less than 5 minutes after notification date. If it is, stop the workflow.