Looking for PowerObjects? Don’t worry, you’re in the right place! We’ve been part of HCL for several years, and we’ve now taken the final step in our acquisition journey: moving our website to the HCL domain. Nothing else is changing – we are still fanatically focused on Microsoft Business Applications!

PowerObjects Blog 

for Microsoft Business Applications


Comparison: Using Workflows vs. JavaScript vs. Plugins in Dynamics CRM

Post Author: Joe D365 |

There are three ways to automate actions in Microsoft Dynamics CRM: workflows, JavaScript, or plugins. In this blog we will discuss the difference between them and how to choose which option is appropriate for your task.

  • Workflows can perform tasks such as updating data or sending email. They are triggered by saving records, creating records, or changing specific fields on a form, and once triggered, they run on their own in the background. As you can see in the example of How to Assign a Territory to a Lead in Dynamics CRM, you can even look up data in another entity.
  • JavaScript runs on the screen while the user is using a form. JavaScript is triggered by events within the page, updating a field or saving, and it is commonly used to hide or show different fields on the forms. You can also, for instance, Populate a CRM 2011 Lookup or PartyList Field Using JavaScript by having a lookup automatically linked to the record based on what is entered in another data field.
  • Plugins are separate .Net programs that respond to saving records or creating records. They can be set to run immediately on the screen or on their own behind the scenes depending on the need. Plugins are often used to do advanced tasks because they can be programmed to do anything within the limits of .Net and the SDK.

So, how do you decide using workflows vs. JavaScript vs. plugins when so there are many ways to update the information you want? There are a few factors to help the decision:

  • Does the user need to see the results before moving on?

    This is known as synchronous processing. If the user needs to see the change on the screen, it should be done with a plugin or JavaScript and not a workflow. A workflow can take several seconds or minutes to process and should not be used in a process where users must wait for it to complete before they can continue.

  • Who will the maintenance fall to? Users or IT?

    Workflows are much easier for business users to modify than JavaScript or plugins, which require some code. JavaScript or plugins should be avoided in processes that may change frequently.

  • Does it need to be run on demand or only responding to system events?

    Workflows can easily run on demand (a.k.a manual workflow), but JavaScript and plug-ins require custom buttons in order to run on demand.

  • What is the relationship between the primary record and the records that need to be updated?
    Workflows can update records with a N:1 relationship (a lookup on the record), but they cannot run on 1:N relationships (those on the left navigation or in a sub-grid). So using a workflow, you cannot automatically update all the contact addresses when the parent account address changes. But this can be done with a plug-in.

Here is a table that will help you identified the difference between workflows, JavaScript, and plugins for use within Microsoft CRM.

Workflow JavaScript Plugin
Synchronous Asynchronous Synchronous Either
Can Get External Data No Yes Yes
Maintenance Business Users Programmers Programmers
Can Run As User User CRM System
On Demand Yes No No
Nested Child Process Yes No Yes
Executed After Saving After Before After
Triggers Create, Field Change, Status Change, Assign to Owner, On Demand Field change or Form Load Create, Field Change, Status Change, Assign to Owner, Delete

For different cases when the user may need to walk through a process and make decisions, dialogs may instead be the right answer. To help make that decision, our blog on CRM Workflows and Dialogs: What's the Difference?  provides great comparison.

Happy CRM'ing!

Joe CRM
By Joe D365
Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.

3 comments on “Comparison: Using Workflows vs. JavaScript vs. Plugins in Dynamics CRM”

  1. Good post, but I think the comparison table is a little bit incomplete because Javascript's Triggers can run On Form Save Too, Plug-ins can be executed After and Before Saving (both) and Javascripts can run on demand using a javascript button in the form module.
    😉

  2. hi please tell me--

    1>>How to create personal view and use of this view.

    2>>How to display an alert only when Save &Close button
    is clicked.

    3>>How to debugg plugin in crm online and crm onpremise.

PowerObjects Recommends