Processes are a group of features that you can use to define and enforce consistent processes for your organization. These consistent processes help make sure people using the system can focus on their work and not on remembering to perform a set of manual steps. Processes can be simple or complex and can change over time. Microsoft Dynamics CRM provides several options to define your processes. You need to understand how you can use each type to get the results you need.
Processes are designed to be used by people who aren’t developers. The rules that are defined in processes contain similar logic that a developer may apply using code, but you don’t need to call in a developer each time you want to change the rules. However, you do need to have a clear understanding of the logic in the rules and understand the capabilities of each type of process. You still need to apply processes carefully and test the results to make sure you get what you want.
The following table provides an overview of when to use each category of process in Dynamics CRM 2013.
|Workflow||Use workflows to automate business processes behind the scenes. Workflows are typically initiated by system events so the user doesn’t need to be aware that they are running, but they can also be configured for people to manually initiate them.Workflows can operate in the background (asynchronously) or in real-time (synchronously). These are referred to separately as background workflows or real-time workflows.|
|Dialogs||Use dialogs to create a user interface that will guide people through a script for customer interaction or a wizard to perform complex actions consistently.|
|Actions (Plugins)||Use actions to expand the vocabulary available for developers to express business processes. With core verbs like Create, Update, Delete, and Assign provided by the system, a Action uses those core verbs to create more expressive verbs like Approve, Escalate, Route, or Schedule. If the definition of a business process changes, someone who isn’t a developer can edit the Action so the code doesn’t need to be changed.|
|Business Process Flows||Use business process flows to define the steps in which people should enter data to achieve an outcome. Business process flows add a control to the top of a form that show people what data they need to enter to move forward to the next stage and ultimately to completion of a business process. A business process flow can span multiple entities.|
Note: Business process flows are different from other types of processes. All processes use the same underlying technology and information about them is stored in the Process entity. Business process flows have a different configuration experience and behavior compared to other types of processes.
How to create a new Process:
- Click on Dynamics CRM-> Settings tile
- Click on Settings-> Processes tile
- Click on ‘New’ button to create a process and select the category, check out in the below screenshot.
What can processes do?
Processes are user-owned, just like accounts and contacts. The actions that can be performed by the process sometimes depend on the privileges of the person who owns the process and sometimes based on the context of the person who is initiating the workflow.
Processes can check conditions, apply branching logic, and perform actions. They perform these actions in a series of steps. Business process flows contain stages and control advancement to stages, but they don’t provide any of the other capabilities. The following table describes the available steps in workflow, dialog, and action processes. For more detail see the topics for each type of process.
|Stage||Workflow, Dialog, Action||Stages make the workflow logic easier to read, and explain the workflow logic. However, stages don’t affect the logic or behavior of workflows. If a process has stages, all the steps in the process must be contained with a stage.|
|Check Condition||Workflow, Dialog, Action||A logical “if-<condition> then” statement.
You can check values for the record that the workflow is running on, any of the records linked to that record in an N:1 relationship, or any records created by earlier steps. Based on these values you can define additional steps when the condition is true.
|Conditional Branch||Workflow, Dialog, Action||A logical “else-if-then” statement, the editor uses the text “Otherwise, if <condition> then:”
Select a check condition you have previously defined and you can add a conditional branch to define additional steps when the check condition returns false.
|Default Action||Workflow, Dialog, Action||A logical “else” statement. the editor uses the text “Otherwise:”
Select a check condition, conditional branch, wait condition, or parallel wait branch that you have previously defined and you can use a default action to define steps for all cases that don’t match the criteria defined in condition or branch elements.
|Wait Condition||Background Workflow Only||Enables a background workflow to pause itself until the criteria defined by the condition have been met. The workflow starts again automatically when the criteria in the wait condition have been met.|
|Parallel Wait Branch||Background Workflow Only||Defines an alternative wait condition for a background workflow with a corresponding set of additional steps that are performed only when the initial criterion is met. You can use parallel wait branches to create time limits in your workflow logic. They help prevent the workflow from waiting indefinitely until the criteria defined in a wait condition have been met.|
|Assign Value||Dialog, Action||Sets a value to a variable or output parameter in the process.|
|Create Record||Workflow, Dialog, Action||Creates a new record for an entity and assigns values to attributes.|
|Update Record||Workflow, Dialog, Action||You can update the record that the workflow is running on, any of the records linked to that record in an N:1 relationship, or any records created by earlier steps.|
|Assign Record||Workflow, Dialog, Action||You can assign the record that the workflow is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.|
|Send Email||Workflow, Dialog, Action||Sends an email. You can choose to create a new email message or use an email template configured for the entity of the record that the workflow is running on or any entities that have an N:1 relationship with the entity, or the entity for any records created by earlier steps.|
|Start Child Workflow||Workflow, Dialog, Action||Starts a workflow process that has been configured as a child workflow.|
|Change Status||Workflow, Dialog, Action||Changes the status of the record that the process is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.|
|Stop Workflow/Stop Dialog||Workflow, Dialog, Action||Stops the current workflow, dialog, or action. You can set a status of either Succeeded or Canceled and specify a status message.|
|Page||Dialog||A container for prompt and response steps in a dialog.|
|Prompt and Response||Dialog||Displays a prompt in a dialog page and may provide a field to capture data from a response.|
|Query CRM Data||Dialog||Defines a query that returns data to provide options for a response in a prompt and response step of a dialog.|
|Link Child Dialog||Dialog||Starts a dialog process that has been configured as a child dialog.|
|Custom Step||Workflow, Dialog, Action||Provides extensions to the logical elements available by default in CRM. Steps can include conditions, actions, other steps, or a combination of these elements. Developers can create custom workflow steps. By default, there are no custom steps available in CRM.|
Are processes active when they are imported?
Processes operate after they are activated. Generally, when you import a solution that will create a new process in your organization, the state of that process in your organization depends on the state of the process when the solution was created. This is true for all solutions that were exported from a Microsoft Dynamics CRM 2013 or Microsoft Dynamics CRM Online organization after the Microsoft Dynamics CRM Online Fall ‘13 release. If the solution was created using a Microsoft Dynamics CRM 2011 or Microsoft Dynamics CRM Online organization before Microsoft Dynamics CRM Online Fall ‘13, the solution will be activated when you install the solution.
Sometimes you must re-install a solution or install an update to a solution that contains processes. In this case, the state of the process in your organization won’t change.