In this scenario we have a Sales Manager who is on the road a lot and uses the Dynamics 365 tablet application on his IPad a lot. The requirement he wanted was to have simple button placed on the Account entity that when clicked would,
- Retrieve all contacts for that Account
- Generate a follow-up phone call for each contact due in the next 7 days
- The phone call should be owned by the same owner of the Account
- The phone number on the contact needs to be copied down into the Phone Call entity
- The subject line needs the date with a specific format
North52 Decision Suite Solution
The North52 Decision Suite solution works like this,
- A formula of type 'ClientSide Calculation' is created to perform the desired action
- A North52 Quick Button is placed on the Account form **
- When the button is clicked the formula will execute
** Instructions on how to add the button to the form are at this link.
North52 Decision Suite Steps
The following set of steps outline how to create this Formula
- Create a new formula of type 'ClientSide Calculation'
- Set the Source Entity to 'Account'
- Set the Mode to 'Client Side'
- Copy & paste the formula below into the formula
- Click save & test
ForEachRecord( FindRecords('contact', 'parentcustomerid', [account.accountid], SetFindSelect('contactid', 'telephone1') ), CreateRecord('phonecall', 1, SetAttribute('subject', 'Follow-up Phone Call : ' + ToString(AddDays(LocalDate(), 7) , 'MMM-dd-yy' )), SetAttributePartyList('from', 'systemuser', WhoAmI()), SetAttributePartyList('to', 'contact', CurrentRecord('contactid')), SetAttribute('phonenumber', CurrentRecord('telephone1', '') ), SetAttributeLookup('regardingobjectid', 'account' , [account.accountid] ), SetAttributeLookup('ownerid', 'systemuser' , [account.ownerid] ), SetAttribute('description', 'Get them to sign up to our new service' ), SetAttribute('scheduledstart', AddDays(UtcDate(), 7) ), SetAttribute('scheduledend', AddDays(UtcDate(), 7) ) ) )
Wizard - FindRecords
Please see below the wizard you can use to create the FindRecords() function call used in this formula.
Note to find the value for Equals Value, you will need to go to the Source tab and search for "account"
Wizard - AddDays
Did you know?
Decision Tables Simplify Complex Logic
Decsion Tables allow you manage complex business logic without code. Key features include:
- Simple visualization in a compact table format
- Promotes grouping of rules in a single table
- Business logic can be controlled by domain experts
A Decision Table represents multiple related business rules by using conditions, actions and data values in a spreadsheet-style table. The Decision Table uses columns for the conditions and actions of the rules and rows to represent the associated data values.