A workflow in Dynamics 365 is a process which defines series of functions or methods, called steps which are operated sequentially. The Workflow can change the processing direction by using conditionals, referred to as conditional branches.
A workflow is an pro efficient tool for managing both data and processes. With help of workflows, we can easily ensure that certain steps are followed and that required business processes are executed.
There are two types of workflows, Asynchronous workflow and Real time workflow.
Asynchronous Workflow – As the name suggest the asynchronous workflow waits for the dedicated resources to get free and operates the logic as soon as the resources are available. Asynchronous workflows in Microsoft Dynamics 365 uses windows service to act as a host application for the workflow engine to work. This Asynchronous workflows must be running ton the Windows CRM server, otherwise the workflow won’t execute.
Synchronous Workflow or Real time Workflow – Real-time workflows in Dynamics 365 are also known as Synchronous workflows. These are defined using the workflow entity records and specifically designed for non developers. They execute using the Event Execution Pipeline, much like plug-ins, and they can be executed pre-operation, post-operation, or during the core operation. Also, as with plug-ins, you cannot execute a real-time workflow before the Create operation or after the Delete operation.Real-tine Workflows cancel and roll back the core platform operations. Real-tine Workflows can be converted to Asynchronous workflows and vice-versa.
Workflow are triggered on the call of certain messages. There are 5 different messages or events on which a workflow can be triggered which are given below.
Workflows can be registered on specific events as follows −
- When a record is created.
- When a record status changes.
- When a record is assigned.
- When a record field value changes.
- When a record is deleted.
Workflows allow you to set the scope in which the workflow will run.
Below are the different scopes available in the workflow.
|User||Workflow will run only on the records owned by the same user as the workflow user.|
|Business Unit||Workflow will run on the records owned by the users of the business unit same as the workflow user.|
|Parent Child Business Units||Workflow will run on the records owned by the users of the business unit same as the workflow user as well as any child business units.|
|Organization||Workflow will run on records owned by any user in CRM.|
Workflows in CRM are a combination of series of steps which the workflow will follow. We use this steps to derive the necessary logic. Below are different steps present the workflow.
|Conditional Steps||Check ConditionSpecifies a logical “if (condition) – then” statement.Conditional BranchSpecifies a logical “else – if – then” statement. This can only be used with a Check Condition.Default ActionSpecifies a logical “else” statement. This can only be used with a Check Condition.|
|Wait Steps||Wait ConditionWaits until a specific condition is met. Not applicable for real-time workflows.Parallel Wait BranchSpecifies an alternative wait condition with a set of additional steps that can be performed once the initial criteria is met.|
|Action Steps||Create RecordCreates a record of the specified entity with the specified default values.Update RecordUpdates the selected record with specified or dynamic values.Assign RecordAssigns the selected record to a user or team.Send EmailSends an email.Perform ActionSpecifies the custom workflow steps (and actions). These custom steps have to be developed by a CRM developer.Change StatusChanges the status of the selected record.Stop WorkflowStops the current workflow|
For more information click here.