Main reasons to use a synchronous plugin:
- Any pre-events (have to be synchronous)
- If it makes data changes that the user needs to see immediately
- Post-events that modify the response to the user (more commonly used for plugins on the Retrieve messages)
Main reasons to use an asynchronous plugin:
- If the processing may take a noticeable amount of time
- If there's a risk of locking issues
- If the plugin makes metadata changes
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk