In MS Dynamics Customer Relationship Management (CRM), a process enables us to create & manage our automated and interactive business processes. Even though the name has been changed to process, the entity that is used to implement a process is still called workflow. This is based on the Windows Workflow Foundation programming model which provides a runtime engine, a framework, a base library of activities and default implementations of the runtime services. The Windows Workflow runtime engine manages process execution, and supports processes that can remain active for extended periods of time. It preserves the state of process execution during computer shut down and restart.
There are four categories of processes we can choose from in when modelling our business processes:
There are three ways we can create a workflow in CRM.
First option is not supported in online CRM version. Also we will be only able to change the state of the workflow and no other changes can be done in this.
When to use a Workflow/Dialog
Details about a running asynchronous workflow are stored in “AsyncOperation” entity, while a process is used for real time workflow. Information about a running dialog is stored in “ProcessSession” entity.
When to use a workflow instead of plugin
Most of the actions accomplished by workflow can also be accomplished by plugin. Now the question arises which one to use when.
We can include workflows and custom workflow activities in a solution that is imported into another MS Dynamics CRM development. However, if we refer to specific entity instances in a workflow and the workflow is moved into another system, problem will arise because the unique IDs of the entity instances in the workflow will differ from those in the target system. MS Dynamics automatically resolves system user and currency entity records based on the full name property, but it won’t automatically resolve records for other entity types.