Modern CRM and database systems must include the ability to automate tasks. Sometimes we need something simple, such as automatically marking an account as a customer after winning an opportunity. Other times we need more complex automations such as having the ability to interface with external systems. I will explore several of the automation options available for Dynamics 365 and point out why you may want to use one over the other.
Also known as Process Workflows, this is a feature that has been around for many years and has changed very little along the way. This is a "no code” solution, which means that you don’t have to know any programming or write any code to get things done. It is a simple workflow editor that includes steps such as If/Then, Create and Update. There are more, but your options are limited. These workflows can be run in real-time or asynchronously. When running workflows in real-time, you can do some amazing things.
This is a great system for simple tasks such as automatically sending an email to someone when a new opportunity is created with an estimated value that is greater than a certain amount. It is also an easy way to dynamically set default values when creating new records.
This does have some limitations. First, you can only interact with one record and its immediate parent records at a time. You cannot work with child records. You cannot delete records. You cannot search for records or look up records. Some of these limitations can be overcome by writing code using C#, however, the out-of-the-box functionality is limited. You are also limited with regards to when a workflow can be triggered to run. It can only run when a record is created, updated, or deleted. You cannot run a workflow when other actions occur, such as qualifying a lead.
The good news about this is that you can accomplish a lot by using this workflow toolset. Even with its limitations, we use this more than any other automation tool. It’s a feature that has been around forever and you can rely on it to work every time.
You can learn more by visiting Microsoft’s site here, https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/workflow-processes?view=op-9-1.
With Power Automate, formerly Microsoft Flow, you can do everything that you can do with the process workflows and more. Power Automate is a “low code” solution, meaning that you will write some code, but it’s very minimal. In general, the code looks more like Excel functions rather than an actual programming language.
Power Automate can do much more than process workflows. In addition to simple If/Then, Create and Update, you can delete, perform lookups, perform loops, and store data in variables. You can even natively integrate with other systems. For example, you could perform a lookup for all contacts that live in a certain city and then store the list of contacts, along with information about those contacts, in an Excel spreadsheet that is stored in SharePoint.
There are a couple of downsides to using Power Automate. First, it can only run asynchronously. This means that there will always be a delay of at least a few seconds between when the trigger action occurs and when the flow runs. Sometimes the delay can be longer. Another downside is that it tends to run slowly. If you want to loop through 1,000 records, this may take a considerable amount of time. If you need performance, Power Automate is not the best choice.
You can learn more by visiting Microsoft’s site here, https://docs.microsoft.com/en-us/power-automate/connection-dynamics365.
Plugins are a full-code solution. This means that you will need actual programming skills to use this feature. You’ll need to write the code, compile it, and upload the file to the system. This option provides maximum flexibility and performance. Plugins can run in real-time or asynchronously. There are hundreds of messages that you can use to trigger a plugin to run. You don’t run into performance issues like you do with Power Automate. In general, there are few things that you can’t do with a plugin.
I’ve already mentioned the one downside to plugins. You need to write and compile code. This makes it time-consuming to create plugins and maintain them.
You can learn more about plugins by visiting Microsoft’s site here, https://docs.microsoft.com/en-us/power-apps/developer/data-platform/plug-ins.
TopLine Results has many years of experience with each of these options. We try to use workflows first since they are the easiest to implement and maintain. If we can’t accomplish our objective with a workflow, we look at using Power Automate. If Power Automate doesn’t look like a good fit then we will write a plugin.
If you need someone to assist you with your automations, contact us at 1-800-880-1969 or firstname.lastname@example.org. We’d be happy to help!