Conditional Workflow Runs Multiple Times When Item is Created Or Modified
When using a conditional workflow set to run on item creation or modification the workflow runs multiple times.
Place a pause action at the beginning of the workflow.
This issue is normally caused by the instantiation of the item in Sharepoint. If the item is updating large numbers of fields or has large amounts of data to update (such as adding multiple attachments) it may register multiple changes to the workflow. This causes the event receiver to be triggered multiple times. Placing a pause at the beginning of the workflow causes the first instance of the workflow to persist to the database. Because there is a running instance of the workflow on the item the remainder of the instances will not run.