Project: Customize a Salesforce Object

Create new custom fields to meet business requirements and facilitate accurate data entry with formulas, picklists, and lookups. Ensure users have access to the right fields with page layouts. Manage multiple business scenarios with record types and business processes. Maintain data quality with history tracking and data validation.

Work with Standard and Custom Fields

  • Rename tabs and labels via: Setup » Quick Find » “Rename tabs” » Rename Tabs and Labels
    • To access a specific field, click Edit by a Tab Name. Then click Next to access the fields.
  • Add help text to the field via: Setup » Object Manager » Access appropriate object » Fields & Relationships » Add help text to the Help Text box

Create Picklists and Field Dependencies

  • Create a new global picklist via: Setup » Quick Find » “Picklist Value Sets” » Picklist Value Sets
  • Add that picklist to an object from the Fields & Relationships section of the Ojbect manager, and select Use global picklist value set.
    • Also possible to define picklists inline
  • Create a dependency between two picklists via: Setup » Object Manger » Fields & Relationships » Field Dependencies (top right)

Create Lookup Filters

  • Lookup filters limit the records available in a lookup.
  • They can reference:
    • Other fields on the same record (source),
    • Fields on the records of the lookup object (target),
    • Fields on the user’s record, profile, and role, and
    • Fields directly related to the target object.
  • Add lookups via: Setup » Object Manager » Select an Object » Fields & Relationships » New » Lookup Relationship

Create Formula Fields

  • Create new formula fields via: Setup » Object Manager » Select an Object » Fields & Relationships » New » Formula
  • Formulae can have Advanced Logic (IF, ISBLANK, etc) added. Edit the Formula, then click the Advanced Formula tab.
    • IF( ISPICKVAL( StageName , "Closed Won") , Amount * 0.1, 0)

Create Record Types

  • Record types determine the business processes, page layouts, and picklist values users have access to.
  • Manage record types via: Setup » Object Manager » Select an Object » Record Types

Create Account Page Layouts

  • Page Layouts control the fields, sections, related lists, and buttons that appear when users view or edit a record.
  • Manage Page Layouts via: Setup » Object Manager » Select an Object » Page Layouts
  • Assign Page Layouts to the appropriate record type via: Page Layout Assignment button on the Page Layouts page.
    • Page Layouts can be assigned based on both Profile and Record Type

Enable Account Field History Tracking

  • Field History Tracking is a means of tracking changes on up to 20 standard or custom fields on an object.
    • These can be viewed on a record’s History related list or through History reports.
    • For each field, tracking logs the date and time of change, the user making the change, and the old and new values.
  • Enable Field History Tracking via: Object Manager » Select an Object » Fields & Relationships » Enable Account History » Select Fields
  • Add History related lists to an object’s related lists by accessing that object’s tab view. Then, click into the object’s object detail page by selecting a record. Then, from the Setup cog, select “Edit Object.” Access the Object’s Page Layouts. Select “Related Lists” in the palette, and drag the correct “History” item onto the object’s Related List.

Create Validation Rules

  • Validation Rules are a means of specifying criteria to prevent users from saving invalid data.
    • For example, all users can be required to enter a support plan expiration date when the “Has Support Plan” checkbox is selected.
    • As another example, all sales reps must enter a Close Reason whenever an opportunity is lost.
  • Add validation rules via: Object Manager » Select an Object » Validation Rules » New
    • Example Error Condition Formulae:
      • Has\_Support\_Plan\_\_c = True && ISBLANK(Support\_Plan\_Expiration\_Date\__c)
      • ISPICKVAL( StageName ,"Closed Lost") && ISBLANK( Close_Reason__c )