Workflow Engine in Microsoft Dynamics CRM

Introduction

Microsoft Dynamics CRM comes with a very powerful built-in workflow engine which enables the automation of business processes with minimal code. This means even those without deep technical standing or coding experience can also leverage this Dynamics CRM feature.

Workflows are processed in the background and are able to achieve complex business functionality, with some example capabilities listed below.

Workflow Examples

Step/Action

Description

Check Condition

This will check the field values against static or referential values, and run business logic if met. This step can be utilized to create a complex criteria using logical operators like ‘AND’, ‘OR’, and comparison operators such as ‘Equal To’, ‘Does not Equal’, ‘Contains Data’, ‘Does Not Contain Data’, ‘Is Greater Than’, ‘Is Less Than’ and so on.

Conditional Branch

This step can be used in conjunction with the ‘Check Condition’ step and will execute the business logic if the ‘Check Condition’ is not met. ‘Conditional Branch’ has the same capabilities as of ‘Check Condition’.

Wait Condition

This step can be set to pause the processing of a workflow for a definite time. It can be based on a static date value or can reference a date field to calculate a date value. For example, it is very common to configure a workflow that send an automatic notification when a contract is about to expire.

Create Record

As the name suggests, this step can be set to automatically create new records in CRM system.

Update Record

This step can be set to update existing CRM records.

Assign Record

This step can be set to assign CRM records to a specific user or a team.

Send Email

This step can be set to automatically send out email(s) when a specific event occurs.

Start Child Workflow

This step can be set to start another workflow in the CRM system. For example, based on a condition a business might want to start another workflow hence why it is highly recommended to design reusable workflows.

Change Status

This step can be set to automatically change the status of a CRM record based on a condition. For example, closing a task when a specific event occurs.

Stop Workflow

This step can be set to stop the current workflow.

Business Example

Today we’ll consider a scenario where a business wants to automatically send out welcome emails to its clients when they are registered in Dynamics CRM. For this case a workflow will execute a ‘Send Email’ action when an Account is created.

Steps

  1. Click Settings and then Customization
  2. Click Customize the System
  3. Click Processes and then click New
  4. Specify a Process Name and select Category as Workflow
  5. Ensure the newly created workflow is configured as shown in the screenshot below
  6. Click Add Step
  7. Add a Check Condition step to ensure that Account’s email address is available
  8. Ensure that the Check Condition step has been added to the workflow
  9. Click Add Step again and this time choose Send Email
  10. After adding the step, click Set Properties to configure the email that is to be sent
  11. Reference the data points to be auto-populated before the email is sent out
  12. Click Save and Close
  13. Click Activate
  14. The workflow is now activated and will be triggered when an Account is created

September 17, 2014