Dynamics 365 CRM: Workflows vs Power Automate vs Plugins vs JavaScript vs Business Rules

When you want to automate some business activity in a Dynamics 365 CRM application like Dynamics 365 Sales or Field Service, you have 5 different options: Workflows, Power Automate Flows, Plugins, JavaScript, and Business Rules.

Each approach has pros and cons. At Encore, we have used all 5 of these methods of customization and configuration to help different clients at different times. The best one to use depends on your specific situation.

In this article, I’ll review all of these options for Dynamics 365 CRM apps and show you how they measure up for your needs. But first, here’s a quick comparison table:

Needs Developers?
Use Cases
External Systems?
Workflows
Not Always
No longer recommended
No
Power Automate
Not Always
Automate processes across multiple applications
Yes
Plugins
Yes
Advanced tasks
Yes
JavaScript
Yes
Form logic
No
Business Rules
Not Always
Simple form and field logic
No

 

Table of Contents

Note: There are 5 different Dynamics 365 apps that serve various CRM needs. In some contexts, you may also see those products referred to as “Customer Engagement” or “CE” apps. These automation methods work the same no matter which of those apps you’re using.

Workflows

Workflows are the older method of automating processes in Dynamics 365 CRM applications.

Importantly, Workflows are no longer recommended by Microsoft. We have used Workflows in the past, and it’s possible to find yourself in a situation where you may need to use or modify them.

Pros of using Workflows:

  • You can run custom background workflow activities.
  • You can use wait conditions on columns.
  • There are both asynchronous and real-time workflows.
  • You can create them without writing code.
  • You can send email notifications, create tasks, and update fields in Dynamics 365 CE.

Cons of using Workflows:

  • No longer recommended by Microsoft.
  • Can’t delete records with a Workflow.
  • Limited to Dynamics 365 (no external applications).
  • Limited functionality compared to plugins and JavaScript.

Historically, Encore used workflows to help clients automate processes prior to Power Automate Flows being recommended. Since Microsoft no longer recommends using classic Workflows, Encore now uses the other 4 methods to create new automations.

Note that, technically, Microsoft now calls workflows “processes,” and you may see that word in your Dynamics 365 interface, but most customers and consultants still use the word “workflow.”

Power Automate Flows

Power Automate is a low-code Microsoft tool for automating repetitive tasks. The individual automations are called “Flows.”

Overall, Power Automate’s main advantages are the easier interface for non-developers and the pre-built connectors to a wide range of systems beyond Dynamics 365.

Pros of using Power Automate Flows:

  • Very flexible capabilities and improved performance, because they run server-side.
  • Out-of-the-box connectors to external systems.
  • More functionality than Dynamics 365 Workflows.
  • Can leverage Power BI to review Flows’ activities, for real-time analysis and visualization.
  • Each Flow can run on a schedule, or when triggered by a certain event, or on demand.
  • Better UI than Dynamics 365 Workflows.
  • Can often be easily modified or updated without the need for a developer.
  • Pre-built templates for many uses.

Cons of using Power Automate Flows:

  • Not real-time. (Flows are quick but there may be a couple seconds to a couple of minutes of lag.)
  • The pre-built templates do have some limitations, and often need to be modified to fit your specific needs.
  • Usually not the best choice for form logic within Dynamics 365.

Encore uses Power Automate Flows to help clients automate processes that bridge multiple applications, like taking back-end data from your CRM to automatically create user-facing documentation like emails or PDFs.

For example, we created a document automation Flow to help a training organization handle certifications.

The automation gets triggered once a Contact completes a certification. It then creates a PDF file that populates that Contact’s data into a certificate template. This file is created in a specific folder for the Contact and will continue to populate as more certifications have been completed.

Plugins

There are many different 3rd-party plugins available for Dynamics 365 applications, serving a wide range of different needs.

The main advantage of plugins is that they can handle more advanced tasks than the other automation options.

It’s important to discuss any possible plugin with a skilled Dynamics 365 CRM solutions partner like Encore and test it prior to installing it in your live environment. You want to be sure that it fills your business need, is compatible with the rest of your system configuration, and won’t impact your system performance.

Pros of using plugins:

  • Can complete advanced tasks that are difficult to achieve with any other automation option.
  • Very flexible capabilities and improved performance, because they run server-side.
  • Can be asynchronous or synchronous.
  • Can run real-time, allowing for a smoother end-user experience than would be possible with Power Automate Flows.

Cons of using plugins:

  • Requires a developer.
  • Can impact system performance if poorly optimized.

Several of our clients have needed to be able to uniquely identify records in their Dynamics 365 solutions separately for customers, vendors, and prospects based on their internal processes.

In one case, Encore used a plugin to help the client achieve conditional autonumbering functionality that exceeded the out-of-the-box functionality in Power Apps. This automation allowed for logic to be applied to accurately autonumber records for multiple tables based on the company’s business processes.

JavaScript

JavaScript can be used in Dynamics 365 CRM applications to apply form logic that runs smoothly for the end user, and extends beyond the functionality available in Business Rules.

Pros of using JavaScript:

  • Real time (faster than Power Automate).
  • Runs client-side, so changes can be seen on screen without refresh.
  • Users do not need to save a record for it to trigger the automation.

Cons of using JavaScript:

  • Requires a developer.
  • Cannot interact with external systems or services.
  • No nested Child Processes, which means that one automation can’t trigger another.

Encore has used JavaScript to help a client ensure the data completeness needed for connections between different kinds of records.

For example, normally in Dynamics 365, a Case cannot be created for a Contact if there is a specific field missing for the Contact’s record, but by default a user can create a Contact with that field left blank.

We used a JavaScript function to check if that field’s value is filled out when a Contact is created. If not, the function shows an error message and prevents the user from saving the Contact record. That ensures that any Contact entered into the system will have the needed field value, and so can have Cases created for it.

Dynamics 365 Business Rules

Business rules enable you to apply form logic in Dynamics 365 more simply than JavaScript or plugins.

Pros of using Business Rules:

  • Can be created without writing code, using a drag-and-drop interface. This means they can be easily modified or updated without the need for a developer.
  • Can be triggered automatically by system events, such as when a record is created or updated.
  • Can be used to enforce simple business rules, such as hiding or disabling fields based on conditions.

Cons of using Business Rules:

  • Limited functionality compared to plugins and JavaScript.
  • Cannot perform complex business logic (limited to the same table), so for instance you cannot make a Business Rule that affects a Case form based on a related Contact record.
  • Limited control over the execution order of rules.
  • Cannot interact with external systems or services.

Business rules are often the right choice to set a field’s default value, make fields required, hide/show fields, and do other simple functions. (Using JavaScript for something like this can be overkill unless there are more complex requirements.)

The Best Tool for the Job

You can dramatically increase your team’s efficiency in Dynamics 365 by automating repetitive tasks and providing helpful form logic. However, it’s important to use the right tool for each automation need.

Choosing the wrong approach can waste your developers’ and power users’ time, lead to decreased system performance, cause your user experience to feel awkward, and result in later problems with maintaining or modifying your automations.

For assistance and advice on customizing or configuring your Dynamics 365 solution, please feel free to contact us. We’d love to hear from you.

CRM Implementation: 12 Key Questions Answered

What are the steps in a CRM implementation? What are the biggest causes of failure? How long will it take?

Read FAQ

CRM Implementation: 12 Key Questions Answered

Read FAQ