Workflows and Auto-save in CRM 2013
As you probably know, CRM 2013 has also introduced the auto-save feature; although you can disable it. For both real time and delayed workflows, as soon as auto-save is triggered the workflows fire. So if you have synchronous workflows wired up against that entity with auto-save enabled, it might slow down the interface a bit when the auto-save is triggered. And definitely, you’ll see the effect of your synchronous workflow in real time, be it changes in the field or anything else. I personally feel, synchronous workflow with auto-save might bring in a bit of a performance issue; which is why I prefer to keep them isolated.
More about Real Time Workflows in CRM 2013
Contrary to how asynchronous workflows are handled by the “CRMAsyncService” process, real time workflows are handled by the “w3wp” worker process. Real time workflows also execute in the same transaction as the event that set it off. This means while execution, if the workflow moves to the “Cancelled” state (either on its own as per execution steps, or if it’s cancelled explicitly), the entire transaction will be rolled back, including the event that set the workflow off. This is similar to how Plugins behave in CRM 2011 onward, where a single unhandled exception causes the entire transaction to roll back. Microsoft has made Real Time Workflow execution very similar to how Plugins execute.
There are tons of things you can achieve with this powerful Real Time Workflow introduction, some of which can give tough competition to Plugins! The article Using Real Time Workflow to show Error Messages by Jukka Niiranen and Using Real Time Workflow for Validation Rules by Gareth Tucker are some good reads which explore the power of this new feature by Microsoft.