/
TAP - 1118 Improve Review Duplicate Outcome case creation

Attention: Confluence is not suitable for the storage of highly confidential data. Please ensure that any data classified as Highly Protected is stored using a more secure platform.
If you have any questions, please refer to the University's data classification guide or contact ict.askcyber@sydney.edu.au

TAP - 1118 Improve Review Duplicate Outcome case creation

Persona + Need + Purpose

As a

GA User

I want to

Improve the creation of “Review Duplicate Outcome” cases to include the link or information to/of record being changed and what are those changes in the case itself.

So that

we can easily know which cases need to be reviewed. We fine tune the process so that users do not have to deal with cases which are not adding information to whether duplicates exist such as when cosmetic changes changed on contact’s address from “Australia” to “AUSTRALIA”

Acceptance Criteria:

  • Re-use the existing flow “Usyd Contact Address History Tracking”

  • Optimize the flow

  • Is it possible to split Duplicate review from Contact History Tracking so it is easier to identify which flow is doing what?

  • Execute Contact History Tracking even on contact creation - to follow the same logic as Salesforce Last Modified Date. This eliminates the need for integration to refer to different fields when comparing data time stamps

  • Don’t update the modified by ad modified date if the email/mobile/address change is cosmetic change as you are checking that anyhow in the flow now as part of this ticket

  • Add the filter at the entry level/inside the flow depending on best practice - use isnew() and ischanged() fields to trigger when Mailing Address fields, Mobile, Business Email, School email, personal email, Other email updated to trigger this flow

  • If a duplicate review case exists append what has been changed to description

  • If no case exists create and add the information of what has been changed at the contact level(based on the current flow) into the case description.

  • If possible, do not create the case when only cosmetic changes have been made (do a case-insensitive comparison, space, and punctuation) - Hope Step “If a duplicate review case exists append what has been changed to description” help us not create a duplicate and just update the change instead

IMPLEMENTATION

  1. Create a new sub flow called “Track Update on Contact Address Mobile and Email (subflow)” equivalent to “USYD Contact Address History Tracking

  2. Actions inside this subflow should only be performed once there has been a change in the Email or Mailing Addresses or Mobile on the Contact record

3. Create an Invocable Apex Class called “UsydContactInvocableClass” that will handle the checking for the cosmetic changes of the Mailing, Email addresses and Mobile. If cosmetic change has just been made, creation of duplicate case records should not push through.

Note: If cosmetic change is only the change, do not update the corresponding Modified by and Modified Date field of the email/mailing address or mobile.

 

4. Call the sub-flow “Track Update on Contact Address Mobile and Email (subflow)” from the Main Flow (Contact After Save)

 

5. As the output of the sub-flow, the triggering record is being updated with all the necessary updates made from the subflow. And lastly, the triggering record(Contact) is being updated.

 

6. Create a new Sub-Flow for the Creation of the Duplicate Outcome Case (Create Or Update Duplicate Outcome Review Case (subflow)) to separate the creation/updating of case from the Track Update on Contact Address Mobile and Email (subflow)

7. Call the Create Or Update Duplicate Outcome Review Case (subflow) from the Contact After Save after the Update Contact Records Apex Action

 

8. Create a New Record Triggered Flow (Fast Field Update/ Before Save) called Contact Before Save. This will be triggered once a contact record is created and its main purpose is to set the corresponding modified by and modified date fields if the mailing, email addresses and mobile are not empty.

Note: This has been as a fast field update since the fields that we are setting is on the triggering record.

 

UNIT TESTING STEPS

Scenarios

#1 Update a Contact record with a Duplicate Outcome Review having a “Not Enough Information“ outcome but without a Case

  1. Log in as a Gift Administration User

  2. Go to any contact record that has an existing Duplicate Review Outcome record

  3. Update any of the following fields from the Contact record:

  • Contact Mailing City

  • Contact Mailing Street

  • Contact Mailing State/Province

  • Contact Mailing ZIP/Postal Code

  • Contact Mailing Country

  • Mobile Phone

  • Business Email

  • Other Email

  • Personal Email

  • School Email

  1. Updated the Contact Maling Street from sampaguita Nangka and Save.

 

Expected Output: A duplicate case will be created and from the Case Description field, the update will be logged.

Actual Output: Duplicate case is created and changes are logged to the Case Description field.

#2 Update a Contact record with an existing Duplicate Case

  1. Log in as a Gift Administration User

  2. Go to any contact record that has an existing Duplicate Case record

  3. Update any of the following fields from the Contact record:

  • Contact Mailing City

  • Contact Mailing Street

  • Contact Mailing State/Province

  • Contact Mailing ZIP/Postal Code

  • Contact Mailing Country

  • Mobile Phone

  • Business Email

  • Other Email

  • Personal Email

  • School Email

  1. Updated the Contact Maling Street from Nangka naNGkA and Save.

 

Expected Output: Since a duplicate Case is already existing and change was only cosmetic (text-casing, space or punctuation), only update the Case Description field with the changes made on the Contact record.

Actual Output: Did not create another duplicate Case record but instead used the existing one and updated the Case’s Description field.

 

 

COMPONENTS ADDED/MODIFIED

Component Name

API Name

Type

Parent Object

Operation (New/Update)

Changes

Contact Before Save

USYD_ContactBeforeSave

Flow

Contact

New

 

Contact After Save

USYD_ContactAfterSave

Flow

Contact

New

 

Track Update on Contact Address Mobile and Email (subflow)

USYD_Track_Update_on_Contact_Address_Mobile_and_Email_subflow

Flow

Contact

New

 

Assign Appropriate Email as Recipient (subflow)

USYD_Assign_Appropriate_Email_as_Recipient_subflow

Flow

Contact

New

 

Create Or Update Duplicate Outcome Review Case (subflow)

USYD_Create_Or_Update_Duplicate_Outcome_Review_Case_subflow

Flow

Contact

New

 

UsydContactInvocableClass

UsydContactInvocableClass

Apex Class

N/A

New

 

UsydContactInvocableClassTest

UsydContactInvocableClassTest

Apex Class

N/A

New

 

USyd_DMLFlowHelperTest

USyd_DMLFlowHelperTest

Apex Class

N/A

Update

 

Assign Appropriate Email as Recipient

Assign_Appropriate_Email_as_Recipient

Flow

Contact

Update

Deactivated old flow

Already deactivated in PROD

Usyd Contact Address History Tracking

Usyd_Contact_Address_History_Tracking

Flow

Contact

Update

Deactivated old flow

 

Related content

TAPSS-845/TAP-902: MS Team - To check the logic and any bad code practice for the list of flows mentioned and merge if required
TAPSS-845/TAP-902: MS Team - To check the logic and any bad code practice for the list of flows mentioned and merge if required
Read with this
Contact (Duplicate Review Outcome) - Address, Phone, Email Change
Contact (Duplicate Review Outcome) - Address, Phone, Email Change
More like this
TAP-1304: MS - Add validation rule
TAP-1304: MS - Add validation rule
Read with this
TAPSS-1434: AVE-353 - Automatically create a Decease Case when contacts turn 105 - New Requirements
TAPSS-1434: AVE-353 - Automatically create a Decease Case when contacts turn 105 - New Requirements
More like this
TAPSS-1062 Case Template - Automation - Auto Update of DNC
TAPSS-1062 Case Template - Automation - Auto Update of DNC
More like this