The business requirement was relatively simple, ‘Force the roll-up field to calculate after a new sub-record was added/changed/deleted for an Opportunity.’ As many Dynamics 365 admins are aware, most roll-up fields, by default, only calculate once a day, or if updated manually by the user by clicking on the refresh icon for the field. This frequency can be manipulated by looking for the System Job that corresponds to the entity; however, adjusting this feature still wouldn’t fulfill the business requirement initially requested.
Before setting out to write custom code incorporating the CalculateRollupFieldRequest class in the D365 SDK, I went ahead and did what any programmer would do and checked to see if someone had already written this code and posted it publicly.
Lo and behold! I came across the Dynamics 365 Workflow Tools solution posted on CodePlex: https://msdyncrmworkflowtools.codeplex.com/. I would highly encourage any Dynamics developer to review this free solution. Not only did it resolve my business requirement by way of a custom Workflow Assembly, but it also includes a host of other CRM treasures that have been requests from a number of clients. To name a few of the capabilities: Check if User is in Team, Clone Record, Qualify Lead, and Geocode Address.
It’s the hard work and willingness to share from developers such as these that lead to faster and more comprehensive Dynamics deployments for all. So thank you to all that contributed (and continue to contribute) to the Dynamics 365 Workflow Tools solution!