Difference between Asynchronous Plugin and Workflows in MSCRM
So many times I have been asked a question from my colleagues,
What is the difference between Async Plugin and Workflow, Since both are Asynchronous But What is the actual difference between them and When should i use Workflow and When should I use Async Plugin ?
My Answer is always “Depends”, the right approach is determined by the Characteristics of the task that you are trying to accomplish.
Following Matrix show the difference between the same :
|Requirement||Use Plug-in||Use Workflow|
|Needs a synchronous action to happen before or after an event occurs
Need to perform a task that has to completed within 2 Sec
|The logic needs to be executed while offline||Yes||No|
|Needs elevation of privileges (impersonation)
Perform data operations on behalf of another system user
|Needs to execute on events other than assign, create, update, set state||Yes||No|
|The process/logic may take a long time to complete or will be a persistent process (multiple long running steps)||No||Yes|
|End users will need to modify the process logic||No||Yes|
|Child sub processes will be triggered||No||Yes|