What is a Plug-in?
A plug-in is custom compiled code (.NET Class) that you can use to modify the standard behavior of the CRM platform. You can register plug-in code against events that are triggered by various actions in CRM. The plug-in code runs in CRM server(s), either synchronously or asynchronously.
Jump to the following sections to learn more about plug-ins:
What is a Workflow Extension?
Before describing a workflow extension, you should know what a workflow extension is and what it provides.
A workflow can be defined as a unit of work that is executed asynchronously. Workflows are geared to execute when CRUD operations occur on a record but they can also be set to run on demand. This allows a user to execute a Workflow on any given record at any given time.
As with plug-ins, workflows are used to execute business processes. The key difference is that with workflows a user’s interaction with CRM isn’t interrupted while the business process logic is executing. Instead, the work is off loaded to a windows service known as the CRM Asynchronous Service in which it takes responsibility for executing the workflow.
A workflow extension is an extension of a workflow that is created by writing code. This gives a developer more control of the actions that the business process requires since they can utilize programming to achieve what the CRM workflow designer doesn’t provide.
A workflow extension resides in a workflow. It is configured as a step in the workflow using the workflow designer.
Continue reading for more in-depth information on creating workflow extensions.