Plug-ins and Workflow Extensions

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:

Tip! Want to learn Dynamics 365 development skills?  Check out Developer Environment and Developer Extending events.

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.

Do More with Dynamics 365

Expand your knowledge of Dynamics 365 through PowerObjects’ educational blogs.  Looking to learn in a more formal setting?  Check out our in-person training courses.

Want to learn development skills?  Check out Developer Environment and Developer Extending events.