Object Setup and Configuration

Related Patterns:

Object Setup Checklist

Initial Object Creation

Steps:

  1. Create the Object and name it
  2. Set the Name field on the object (e.g., Auto Number)
  3. Configure object details:
    • Allow Reports
    • Allow Activities (optional)
    • Track Field History
    • Set Deployed status
    • Allow Search

Tab Configuration

Steps:

  1. Create the Tab for the object
  2. Decide who should access the Tab
  3. Decide which App the Tab should be in (not all apps)
  4. Consider tab visibility for different user types

Record Types (Optional)

What they are: Record Types enable different business processes, picklist values, and page layouts for the same object. They allow the same object to support multiple workflows or use cases.

When to use:

When NOT to use:

Steps:

  1. Create Record Types if needed for different record workflows
  2. Configure Record Type-specific page layouts
  3. Set Record Type defaults for profiles
  4. Configure Record Type visibility in profiles/permission sets
  5. Configure Record Type-specific picklist values
  6. Set up Record Type-specific automation if needed

Best Practices:

Field Configuration

Steps:

  1. Add fields to the object
  2. Include Help Text for user-facing fields
  3. Set correct Field-Level Security (FLS) permissions as you create fields
  4. Include Lookup or Master-Detail fields to other objects
  5. Remember to set Lookup Filters if required
  6. Configure field visibility and required settings

Best Practices:

Page Layout Configuration

What they are: Page Layouts control which fields appear on record detail pages, field order and organization, related lists, and actions available to users. They provide the user interface structure for viewing and editing records.

Key components:

Layout assignment:

Steps:

  1. Edit the Page Layout to ensure all fields are visible and in the right location
  2. Organize fields into logical sections
  3. Make the Section header visible for System Fields
  4. Ensure required fields are marked as required
  5. Configure field read-only settings where appropriate
  6. Add Related Lists:
    • Files and Notes related list (if using them)
    • Object History related list
    • Other related object lists
  7. Configure Related List visibility and order
  8. Configure actions (buttons, links, quick actions)
  9. Test layout with different profiles and record types

Best Practices:

Actions Configuration

Steps:

  1. Override the Salesforce Mobile and Lightning Experience Actions
  2. Set the exact Actions you want to appear on the Object
  3. Optional - Create other Page Layouts if required for other Record Types
  4. Optional - Create a Create Record Action from a related Object
    • Ensure the Layout is correct with all required fields for Creating the record
  5. Optional - Create an Update Record Action for bulk updates from list view

Compact Layout

Steps:

  1. Create the Compact Layout
  2. Assign it to the Page Layout
  3. Configure which fields appear in the compact layout

Search Layouts

Steps:

  1. Set the Search Layouts (IMPORTANT!)
  2. Configure which fields appear in search results
  3. Ensure search layout is optimized for user needs

List View Configuration

Steps:

  1. Go to the Tab
  2. Edit the All View
  3. If there are any Record Types, create a View for each Record Type
  4. If there are any buttons to add to the List View, then add them
  5. Ensure you go back to Classic if this will be in Communities to ensure Communities users can’t see inappropriate Views

Validation Rules (Optional)

Steps:

  1. Add any Validation Rules needed
  2. Test validation rules with different scenarios
  3. Ensure error messages are clear and actionable

Permissions Configuration

Steps:

  1. Set permissions on Object (Object-Level Security)
  2. Configure Field-Level Security for all fields
  3. Set Record Type defaults if applicable
  4. Configure sharing settings if needed

Feed Tracking

Steps:

  1. Enable Feed Tracking for the Object
  2. Configure which fields to track in feeds
  3. Consider feed tracking impact on storage

Lightning Record Page Configuration

Steps:

  1. Look at the Object, create a Test Record
  2. Edit the Lightning Record Page
  3. Configure page components:
    • Chatter first
    • Delete Related (if applicable)
    • Add Related List Quick Links IF there are related lists
    • Add Files as a Related List under Chatter
  4. Activate Page - Assign as Org Default

Field Configuration Best Practices

Field Visibility

Challenge: Not seeing ALL fields in alphabetical order

Solution: Have a good understanding of what are the custom and standard fields in your org

Note: Be aware of standard fields that are not set as visible by default (e.g., Contacts)

Field-Level Security

Critical: Field-level security is the most important aspect of field configuration

Reference: https://help.salesforce.com/HTViewHelpDoc?id=admin_fls.htm

Best Practices:

Help Text

Best Practice: Include Help Text for all user-facing fields

Purpose: Provides guidance to users on field purpose and expected values

Implementation:

Field Descriptions

Best Practice: Add descriptions to fields created for specific purposes

Use Cases:

Implementation:

Field Naming Conventions

API Name Best Practices

General Guidelines:

API Name Stability:

Naming Preferences (Note: These are preferences, not industry standards):

Object Naming

Best Practice: Use singular object names

Rationale:

Examples:

Field Label vs API Name

Pattern: Field labels can be user-friendly, API names should be stable

Implementation:

Example:

Relationships

Master-Detail vs Lookup

Decision Framework:

Lookup Filters

Best Practice: Set Lookup Filters if required to restrict related record selection

Use Cases:

Standard Objects Reference

Common Standard Objects

Files, Content, Attachments, Documents:

Contacts:

Accounts:

Assets:

Campaigns:

Cases:

Contracts:

Knowledge:

Leads:

Opportunities:

Tasks:

Implementation Patterns

Object Setup Workflow

Recommended Order:

  1. Create object and basic configuration
  2. Create fields (with FLS)
  3. Create relationships
  4. Create tabs and assign to apps
  5. Create page layouts
  6. Create compact layouts
  7. Configure search layouts
  8. Set up actions
  9. Configure Lightning Record Pages
  10. Set permissions
  11. Test with test records
  12. Configure list views

Testing Object Configuration

Steps:

  1. Create a test record
  2. Verify all fields are visible and in correct locations
  3. Test field-level security with different user profiles
  4. Test actions (Create, Edit, Delete)
  5. Test related lists
  6. Test search functionality
  7. Test Lightning Record Page
  8. Test list views
  9. Test validation rules
  10. Test feed tracking

Community/Portal Considerations

Important: If objects will be used in Experience Cloud (Communities):

Steps:

  1. Ensure you go back to Classic to configure Communities-specific settings
  2. Ensure Communities users can’t see inappropriate Views
  3. Configure sharing settings for community users
  4. Test object access from community user perspective
  5. Verify field visibility for community users

Key Architectural Decisions

Object Configuration Completeness

Decision: Complete object setup requires attention to many details

Rationale: Incomplete object setup leads to:

Implementation: Follow the complete checklist to ensure nothing is missed

Field-Level Security First

Decision: Set FLS permissions as you create fields

Rationale:

Implementation: Configure FLS for each field immediately after creation

Search Layout Importance

Decision: Search Layouts are critical and often overlooked

Rationale:

Implementation: Always configure Search Layouts as part of object setup

Best Practices

Object Setup

Field Configuration

Layout Configuration

Action Configuration

Lightning Experience

Common Pitfalls

Incomplete Configuration

Issue: Objects deployed without complete configuration

Impact: Poor user experience, missing functionality

Solution: Follow the complete checklist before deployment

Missing Field-Level Security

Issue: Fields created without FLS configuration

Impact: Security gaps, inappropriate data access

Solution: Set FLS permissions during field creation

Overlooked Search Layouts

Issue: Search Layouts not configured

Impact: Poor search experience, reduced productivity

Solution: Always configure Search Layouts as part of setup

Standard Fields Not Visible

Issue: Standard fields not set as visible by default

Impact: Missing important fields in layouts

Solution: Be aware of standard fields and make them visible when needed

Community User Access

Issue: Objects not properly configured for community users

Impact: Community users see inappropriate data or views

Solution: Test and configure objects specifically for community access

Q&A

A: The recommended order is: (1) Create object and basic configuration, (2) Create fields with FLS, (3) Create relationships, (4) Create tabs and assign to apps, (5) Create page layouts, (6) Create compact layouts, (7) Configure search layouts, (8) Set up actions, (9) Configure Lightning Record Pages, (10) Set permissions, (11) Test with test records, (12) Configure list views.

Q: When should I use Record Types?

A: Use Record Types when you need different business processes, picklist values, or page layouts for the same object. Use them for different workflows or use cases. Avoid Record Types for simple variations that can be handled with fields or picklists, or when separate objects would be better.

Q: Should I use singular or plural object names?

A: Use singular object names (e.g., CaseReference__c not CasesReference__c). This aligns with Salesforce standard objects (Account, Contact, Case), is consistent with object-oriented design principles, and is clearer in API references.

Q: What is the difference between Field Label and API Name?

A: Field Labels are user-friendly and can change. API Names should be stable and remain constant. Use descriptive labels for users, stable API names for code. Labels can change without affecting API names, but API names should remain constant to avoid breaking integrations and code.

Q: When should I use Master-Detail vs Lookup relationships?

A: Use Master-Detail for parent-child relationships with cascade delete requirements. Use Lookup relationships when you need more flexibility. Remember: You can always use triggers or Rollup Helper to create calculated fields if you don’t have a Master-Detail relationship.

Q: Why are Search Layouts important?

A: Search Layouts are critical because users rely on search to find records. Poor search layouts reduce productivity, and search is a primary navigation mechanism. Always configure Search Layouts as part of object setup to ensure users can find records efficiently.

Q: What should I consider when configuring objects for Experience Cloud (Communities)?

A: When configuring objects for Experience Cloud: (1) Ensure you go back to Classic to configure Communities-specific settings, (2) Ensure Communities users can’t see inappropriate Views, (3) Configure sharing settings for community users, (4) Test object access from community user perspective, (5) Verify field visibility for community users.

Q: Should I set Field-Level Security (FLS) during field creation or later?

A: Set FLS permissions as you create fields. This is easier to configure during creation, prevents security gaps, and ensures proper access control from the start. Don’t defer FLS configuration - it’s a critical security step.

Edge Cases and Limitations

Edge Case 1: Objects with Very Large Record Counts

Scenario: Objects with millions of records requiring special configuration considerations.

Consideration:

Edge Case 2: Objects with Complex Relationship Hierarchies

Scenario: Objects with many lookup or master-detail relationships creating complex data models.

Consideration:

Edge Case 3: Multi-Currency Objects

Scenario: Objects requiring multi-currency support with currency conversion.

Consideration:

Edge Case 4: Objects with Extensive Field History Tracking

Scenario: Objects with many fields tracked for history, creating large history tables.

Consideration:

Edge Case 5: Objects Used in Experience Cloud (Communities)

Scenario: Objects accessed by community users requiring special configuration.

Consideration:

Limitations

References