Workflow Processes - Microsoft Dynamics CRM

What is Workflow Processes?

Workflows in CRM allow you to automate simple and complex business methods within CRM. you may both create workflows using CRM out-of-the-container functionalities or write custom workflows with .net code for implementing complex workflows. Workflow techniques run inside the background or in real-time and may optionally require a user input.

Workflows can be caused based on unique conditions or can even be started manually by the users. Internally, CRM workflows are applied the use of windows Workflow basis. on this chapter, we can be learning about configuring workflows.

Configuring a workflow has the following primary parts (in sequence) −

  • Configure the entity on which the workflow will run
  • Configure whether the workflow will run synchronously or asynchronously
  • Configure the message (event) on which the workflow will run
  • Configure the scope in which the workflow will run
  • Configure the levels and steps (movements) of the workflow

Synchronous/Asynchronous Workflow

when you create a workflow, you may see the choice of Run this workflow in the background (recommended) which determines whether the workflow will run in actual-time (synchronously) or in background (asynchronously).

commonly, the recommended method is to run the workflows within the background because they use system assets as and when to be had. but, you may usually transfer back from a actual-time workflow to background workflow and vice versa.

Workflow Messages

Workflows may be registered on precise events as follows −

  • When a record is created
  • When a file status changes
  • Whilst a file is assigned
  • While a file field value changes
  • While a document is deleted

Workflow Scope

Workflows allow you to set the scope in which the workflow will run. Following are the supported workflow scopes –


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.


Workflow will run on records owned by any user in CRM.

Workflow Steps

Workflows in CRM are a aggregate of collection of steps which the workflow will observe. you may even divide these steps in logical levels. Following steps are supported through CRM workflows –

Conditional Steps

Check Condition

Specifies a logical “if (condition) - then” statement.

Conditional Branch

Specifies a logical “else – if – then” statement. This can only be used with a Check Condition.

Default Action

Specifies a logical “else” statement. This can only be used with a Check Condition.

Wait Steps

Wait Condition

Waits until a specific condition is met. Not applicable for real-time workflows.

Parallel Wait Branch

Specifies an alternative wait condition with a set of additional steps that can be performed once the initial criteria is met.

Action Steps

Create Record

Creates a record of the specified entity with the specified default values.

Update Record

Updates the selected record with specified or dynamic values.

Assign Record

Assigns the selected record to a user or team.

Send Email

Sends an email.

Perform Action

Specifies the custom workflow steps (and actions). These custom steps have to be developed by a CRM developer.

Change Status

Changes the status of the selected record.

Stop Workflow

Stops the current workflow

Workflow Example

In this example, we will create a easy workflow that runs inside the background to assign any newly created contact report to a selected consumer and then send out a welcome email to the customer.

Step 1 − visit Settings → processes.

Workflow Processes

Step 2 − click on New.

Step 3 − in the CreateProcess window, enter the following details −

Process Name − New purchaser Workflow (this will be any name that you want)

Category − Workflow

Entity − contact (this can be the entity on which you are developing the workflow. In our case it is contact)

Run this workflow in the background (recommended) − check this option as we are creating a background asynchronous workflow. finally, click ok.

Workflow Processes

Step 4 − In the New Process Window enter the following details −

Activate As − Process

Scope − User

Start when − Record is created

Click Add Step → Assign Record.

Workflow Processes

Step 5 − you may see a new step added to the workflow. on this step, we will specify the person to whom all the created contacts need to be assigned. input the call of step as Assign record to team. The Assign choice may be defaulted as the entity on which we are developing the workflow (contact in our case). click the lookup icon.

Workflow Processes

Step 6 − in the research window, choose any user that you need. you may even choose a selected team to whom you need to assign the data to. click upload.

Workflow Processes

Step 7 − Add another step by clicking Add Step → Send Email. In this step, we will configure sending email to the customer.

Workflow Processes

Step 8 − A new step will be added. Enter its name as Send email to Customer. Click Set Properties.

Workflow Processes

Step 9 − in the next window to configure email, perform the following operations−

From − click From area. at the proper panel, choose OwningUser and person. click add → ok.

To − click on To field. at the right panel, choose contact and contact. click upload → ok.

Subject − enter a applicable subject.

Body − enter a relevant body content.

Workflow Processes

Step 10 − Click Save and then Activate.

Workflow Processes

Step 11 − In the Process Activate Confirmation popup that follows, click Activate.

Workflow Processes

Step 12 visit Contacts tab and create a new contact. As soon as you create a new touch by using saving the file, you will see the owner field set to the user, that you had configured in the workflow. also, if you click the activities tab, you may see an email activity being created for this contact. This confirms that the workflow ran successfully.

Workflow Processes

Workflow vs Plugin

Workflows and plugins can each be used to increase and automate CRM functionalities. in many scenarios, both the methods can be interchangeably used in region of every other. for example, if you have a easy requirement of sending an email for your customers, you may either do it through a plugin or a workflow.

So, how do you choose among developing a workflow vs plugin? the following list tries to provide an explanation for the same −

  • Although plugins and workflows each may be used to run synchronous in addition to asynchronous logic, plugins are generally preferred for synchronous logic, even as workflows for asynchronous logic.
  • Generally, to implement complicated business good judgment, plugins are desired over workflows. Workflows are desired when you need to obtain quite simpler functionalities (including sending emails, assigning customers, etc.)
  • Plugins want to be advanced with coding, while workflows can be configured directly by means of business users with none information of workflows.
  • Workflows can run on-demand. hence, if there are necessities where the consumer wants to run a few logic manually, workflows could be a better preference.
  • From performance effect, synchronous plugins offer a better performance (and throughput) compared to real-time workflows in scenarios where the request frequency is better.


This chapter introduced us to one of the very crucial functionalities of CRM – Workflows. We first understood the sync/async workflows, messages, scope, steps and finally looked at a live example of creating and running a workflow. ultimately, we noticed the differences among a workflow and a plugin.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

Microsoft Dynamics CRM Topics