βœ… Test Case: Custom Metadata Matching β€” New Matching Type, Field Mapping, and Birthdate Matching


🎯 Purpose

Verify that the Summit Events App:

  • Supports creating new Custom Metadata Matching Types
  • Maps additional fields from Summit Event Registration β†’ Person Account
  • Correctly matches records using:
    • Standard fields (Name, Email)
    • Custom mapped fields
    • Birthdate

This ensures custom matching logic works as intended, extends beyond default standard field matching, and moves data from the registration to the Person Account record.


πŸ”— Prerequisites

  • Summit Events App installed and configured
  • Person Accounts enabled
  • Admin access to create:
    • Custom Metadata Types
    • Custom fields on Contact (visible on Account as __pc fields)
    • Custom fields on Summit Event Registration

🏁 Where to Start

  • Navigate to Setup
  • Confirm the following custom fields exist:
    • On Contact:
      • Custom Field (e.g. Custom_Field__c)
      • Birthdate
    • On Summit Event Registration:
      • Registrant_Custom_Field__c
      • summit__Registrant_Date_of_Birth__c

If these custom fields do not exist, create them as follows:

ObjectField API NameType
ContactCustom_Field__cText(255)
ContactBirthdateDate
Summit Event RegistrationRegistrant_Custom_Field__cText(255)
Summit Event Registrationsummit__Registrant_Date_of_Birth__cDate

πŸ›  Step 1 β€” Create a New Custom Metadata Matching Type

1. Navigate to Custom Metadata Types

  • Go to:
    • Setup β†’ Custom Metadata Types β†’ Contact Matching Method
    • Click Manage Records

πŸ›  Step 2 β€” Create Field Mappings in Custom Metadata

For each field to match, create a new Custom Metadata record under:

  • Summit Events Contact Matching Mapping

Mapping 1 β€” Email

  • Label β†’ Email
  • Source Type β†’ Field
  • Source Value β†’ summit__Registrant_Email__c
  • Contact Field β†’ Email
  • Contact Matching Method β†’ Blue
  • All checkboxes should be unchecked

Mapping 2 β€” Custom Field

  • Label β†’ Appropriate custom field label
  • Source Type β†’ Field
  • Source Value β†’ Registrant_Custom_Field__c
  • Contact Field β†’ Custom_Field__c
  • Contact Matching Method β†’ Blue
  • All checkboxes should be unchecked

Mapping 3 β€” Birthdate

  • Label β†’ Birthdate
  • Source Type β†’ Field
  • Source Value β†’ summit__Registrant_Date_of_Birth__c
  • Contact Field β†’ Birthdate
  • Contact Matching Method β†’ Blue
  • All checkboxes should be unchecked

βœ… Expected Result:

  • Custom Metadata records exist linking Registration fields to Person Account fields for the matching method Blue.

πŸ›  Step 3 β€” Configure Summit Event to Use New Matching Method

  • Go to your Summit Event record
  • Set:
    • Registration Matching Logic β†’ Use Salesforce Duplicate Rules
    • Person Creation Duplicate Rule β†’ Standard Person Account Duplicate Rule
    • Custom Metadata Person Matching Method β†’ Blue
    • Person Matching No Match Behavior β†’ Create Person Account
    • Person Matching Multiple Match Behavior β†’ Match with most recently modified

Save the record.


πŸ›  Step 4 β€” Create Event Instance

  • Create a Summit Event Instance
  • Configure capacity, dates, and registration options
  • Save the record

πŸ›  Step 5 β€” Register a New Person with All Fields

Registration #1

  • Click Register
  • Enter:
    • First Name: Daniel
    • Last Name: Rivers
    • Email: daniel.rivers@example.com
    • Custom Field: Appropriate value
    • Birthdate: 1990-02-15
  • Submit the registration

βœ… Expected Result:

  • A new Person Account for Daniel Rivers is created
  • Person Account record contains:
    • Custom_Field__c β†’ Appropriate value
    • Birthdate β†’ 1990-02-15
  • Summit Event Registration record is linked to this Person Account
  • Registration record shows matching context indicating:
    • β€œNew Person Account created”
    • Fields used for matching

πŸ›  Step 6 β€” Register Same Person Again to Test Matching

Registration #2

  • Click Register
  • Enter:
    • First Name: Daniel
    • Last Name: Rivers
    • Email: daniel.rivers@example.com
    • Custom Field: Same value as Registration #1
    • Birthdate: 1990-02-15
  • Submit the registration

βœ… Expected Result:

  • The existing Person Account is matched
  • No new Person Account is created
  • New Summit Event Registration record is linked to the same Person Account
  • Registration record shows matching logic confirmation

πŸ›  Step 7 β€” Register Person with Different Custom Field Value

Registration #3

  • Click Register
  • Enter:
    • First Name: Daniel
    • Last Name: Rivers
    • Email: daniel.rivers@example.com
    • Custom Field: A different value
    • Birthdate: 1990-02-15
  • Submit the registration

βœ… Expected Result:

  • The existing Person Account is still matched
  • No new Person Account is created
  • New Summit Event Registration record is linked to the same Person Account
  • The Person Account retains the original custom field value because mapping should not overwrite existing data during matching

βœ… Pass/Fail Criteria

  • Custom Metadata Matching Method Blue is selectable and functional
  • Field mappings correctly link:
    • Registration Custom Field β†’ Person Account/Contact Custom Field
    • Birthdate β†’ Birthdate
  • System matches or creates Person Accounts based on combined logic across multiple fields
  • Summit Event Registration records clearly display:
    • Matching outcome
    • Fields evaluated
  • No unexpected errors or failures occur during registration

πŸ’¬ Report Results

Submit your results here:
Google Feedback Form

Include:

  • Org type used (Standard, Education Cloud, Nonprofit)
  • Steps taken
  • Screenshots of:
    • Registration records
    • Matching context tables
  • Confirmation of Person Account creation vs. matching
  • Any unexpected results or errors

Back to top

Have a question or need support?

The best place to ask questions or troubleshoot the Summit Events App is by posting your questions in the Commons Project: Summit Events App Salesforce Trailblazer Community . There you can ask questions, share your experiences, and help others!

Do you have a feature request or want to report a bug? Please submit an issue on our GitHub repository .