In this post I will be covering some Microsoft Flow basics and limitations when working with Dynamics 365. This will help you determine which Flow plan and/or connectors suites best for your needs.
Connecting to your Dynamics 365 instance
Firstly let’s look at the connectors for Dynamics 365. You have two options when it comes to connecting to a D365 instance.
- Dynamics 365 connector
The Dynamics 365 connector provides limited access to the Dynamics 365 organisation.
For more info on trigger events and actions please visit: https://docs.microsoft.com/en-us/connectors/dynamicscrmonline/
- Common Data Services (CDS) connector
Provides access to the org-based database on the Microsoft Common Data Service.
For more info on trigger events and actions please visit: https://docs.microsoft.com/en-us/connectors/runtimeservice/
Now let’s do a side by side comparison between some of the notable features:
|Feature||Dynamics 365 Connector||CDS Connector|
|Trigger Flow on create||Available||Available|
|Trigger Flow on updates||Available||Available|
|Trigger Flow on specific attribute updates||Not available
Limited to record level updates only
* Which means you will have to take extra measures if you have to update the triggering record within the same flow. This is to stop the flow from triggering infinitely.
|Change Tracking limitations||Requires Change Tracking to be enabled in D365||Change Tracking is not required|
|Define level of scope for the Flow trigger||Not available
Limited to Organisation level only
|Trigger Flow on deletes||Available||Available|
|Manually trigger when a flow is selected||Not available||Available|
|Action: Create Note (annotation) for specified entity record||Manual||Special simplified action is available|
|Action: Retrieve all Notes (annotations) for the provided entity Id||Manual||Special simplified action is available|
|Action: Retrieves file content for specified Note (annotation)||Manual||Special simplified action is available|
(Only available in Flow Plan 1 and 2)
Let’s have a look at the trigger event screens of each connector. I have selected the “When a record is updated” trigger event for the screenshots.
Dynamics 365 connector:
CDS connector will give you the option to select the Scope for event triggers. Scope can be set to Organisation, Parent: Child Business unit, Business Unit or User level. This is similar to the native workflow engine in D365.
In addition to the scope you will also have the option to select attribute filters. Attribute filters will ensure the event trigger is only invoked when the specified attributes are updated.
Points to consider when using update triggers:
- Update event triggers are invoked on Update requests to the record. Event triggers would NOT check whether any attribute values are being changed or not. As long as the update request is successful the Flow would be triggered.
What does this mean?
For update triggers at record level, the flow would still be invoked even if the update request has not made any field value changes to the record (Applies to D365 connector and CDS connector both)
For update triggers with attribute filters, the flow would be invoked even if the update request is setting the attribute to its existing value (Applies to CDS Connector)
- Update event triggers on Dynamics 365 connector requires “Change Tracking” to be turned on at entity level. For more info on Change Tracking please visit https://docs.microsoft.com/en-us/dynamics365/customer-engagement/admin/enable-change-tracking-control-data-synchronization
Now that we have covered triggers and actions let’s have a look at Flow Plans. Currently Flow offers 3 plans.
|Flow Free||Flow Plan 1||Flow Plan 2|
You can check out Microsoft Flow Plans page for more information.
Limits and configuration in Microsoft Flow
Documentation from Microsoft provides more information on current request limits, run duration and retention, looping and debatching limits, definition limits, SharePoint limits or IP address configuration.
For current limits and configuration details please visit Microsoft Docs here.
There are also some limitations in the Flow designer UI compared to the native workflow designer in D365. One of them being the ability to design grouped conditional statements. Currently Flow does not provide grouped conditions to be configured in Basic mode. Which means you will have to use the advanced mode to build your conditional statements. I have noticed that LogicApps have already added the ability to group conditional statements in the basic designer and hopefully this is on the roadmap for Flow too.
Even with these limitations Flow offers a lot more than the native D365 workflow engine.
You can checkout Microsoft Flow Documentation page for more information and how-to guides.