Scenario Overview

In this scenario our business requirement is that when an accounts address is updated you need to update all the related contact addresses with the same data.

The scenario involves the synchronization of fields between entities where a one to many (1:N) relationship exists.

Training Video

Formula Screenshot

North52 Decision Suite Solution

The North52 Decision Suite solution works like this,

  • We create a formula that triggers whenever any of the address 1 fields change on an Account entity.
  • The formula finds all the Contacts associated to the Account 
  • It will then loop over all the Contacts and update their address information with that of Account entity


North52 Decision Suite Steps

The following set of steps assumes you are just using the out of the box Dynamics 365 setup. But its easy to enhance if you have extra fields \ requirements.

  • Create a new formula of type 'Save - Perform Action'
  • Set the Event field to 'Create & Update'
  • Set the Source Entity to 'Account'
  • Set the Source Entity Property to 'Address 1 :  Street 1', 'Address 1 :  Street  2', 'Address 1 :  Street 3', 'Address 1 :  City', 'Address 1 :  ZIP/Postal Code', 'Address 1 :  Country' 
    • (hold down control key to multi-select) 
  • Click onto the Decision table (if in Formula Editor mode , change it to Decision table by clicking on Commands > Toggle Editor
  • Click cell A2
  • Right click and select Delete > Delete Column
  • Select Columns B to H and right click and select Insert > Insert Action
  • Select cell A2
  • Right click and select Insert > ForEachRecord
  • Delete the text and go to the Function tab and search for "findrecords"
  • Shift Click the FindRecords function
  • For Friendly Name, type "Find Contacts related to Account"
  • For Entity Name, select 'Contact'
  • For Where Attribute , select 'Company Name'
  • For Equals Value, go to the Source tab and expand Source.
  • Select 'Account'
  • For Select Attribute, leave it at '*'
  • Leave the other Parameters at their default. 
  • Click Generate
  • Click on B2
  • Go to the Explore tab and expand Entities. 
  • Find Contact and expand it.
  • Select 'Address 1 :  Street 1'
  • Click on B4
  • Go to the Source tab and expand Source.
  • Select 'Address 1 : Street 1'
  • Click on C2 
  • Go to the Explore tab and elect 'Address 1 : Street 2'
  • Click on C4
  • Go back to the Source tab and select 'Address 1 : Street 2'
  • repeat for all Address 1 fields. 
  • Click save

Wizard - FindRecords

Please see below the wizard you can use to create the FindRecords() function call used in this formula. 

Note for the Equals Value , you will need to look up the account under the Source tab

Did you know?

TestShield automated tests for Dynamics 365 are easily exported/imported

TestShield uses standard Dynamics 365 solutions to package up your configured tests for easy transport and deployment to other Dynamics 365 instances.

This enables use in automated Azure DevOps pipelines where you can automate the build of a Dynamics instance and apply the TestShield solution to execute your tests. 

It also allows you to put your automated tests into source control alongside other customizations.

Learn more about TestShield