Salesforce Admin Exam Prep Series - Section 2

Salesforce Admin Exam Prep Series - Section 2

Object Manager and Lightning App Builder: 20%

Section Objectives

  • Describe the standard object architecture and relationship model. (for example: standard object, parent/child, master detail/lookup/junction relationships, and record types.)

  • Explain how to create, delete, and customize fields and page layouts on standard and custom objects, and know the implications of deleting fields.

  • Given a scenario, determine how to create and assign page layouts, record types, and business processes for custom and standard objects.

This section is another weighty part of the exam as it takes up 20% of the exam material. I found that I needed real-life examples to understand the concepts, especially object relationships. I still do not feel that I have a solid grasp of the various subjects listed in the section objectives. My initial scores on the Focus on Force section practice tests demonstrate that, but the main thing that has helped since then is hands-on practice.

The first way was found in the Focus on Force study guide. In the Object Manager and Lightning App Builder section, there is a sub-section that says ‘Test Your Skills’. There you will find the Standard And Custom Objects Challenge and the Standard And Custom Fields Challenge. I simply followed along with the challenge and did it on my computer as the instructor did it. These two challenges were a tremendous help in understanding objects, their relationships, fields, and page layouts.

In this section, the way I got hands-on practice was by completing badges in Trailhead. I am finally understanding just how much material is found in trailhead. The more badges I complete, the clearer and clearer my understanding of an admin’s role and the kinds of solutions the admins build.

The Prepare for Your Salesforce Administrator Credential Trailmix has the following two superbadges towards the end:

There are several badges and even some superbadges that act as prerequisites to the above superbadges. So instead of waiting until completing each section, I am looking through the prerequisites and completing a badge or two per section as I go. It appears that you will complete some of these badges just by completing the Trailmix but I am seeking out more hands-on practice. Once I complete the Trailmix material for that section and have gone through the rest of my study process with Focus on Force study guides, practice tests, trailhead live videos, and YouTube videos like Terry’s Tidbits, then I will see what badges I can complete. This time I did the Space Station App.

Here are some things I found noteworthy while considering this section.

Objective One

Describe the standard object architecture and relationship model. (for example: standard object, parent/child, master detail/lookup/junction relationships, and record types.)

Object Relationships

Resources

Hands-On Practice

  • Space Station App badge in trailhead

  • Standard And Custom Objects Challenge in the Focus on Force Study Guide

  • Standard And Custom Fields Challenge in the Focus on Force Study Guide

Here are some points I thought were noteworthy about these relationships.

Lookup Relationships

  • They do not inherit the sharing and security from another object, unlike the master-detail which does.

  • Do not support roll-up summary fields.

Self- Relationship

  • A type of lookup relationship within the same object. For example, if the Account object had a lookup relationship to a Parent account, it would be looking for a record from the same object (Account)

Hierarchical relationship

  • A type of lookup relationship that is only available to the user object. It is a user record looking for another user record so it’s a self-relationship on the user object.

External lookup relationship

  • A type of lookup relationship that links a child, standard, custom, or external object to a parent external object

Indirect lookup relationship

  • A type of lookup relationship that links a child external object to a parent or custom object

You always create the relationship field on the child of the parent-child relationship. Because a parent can have multiple children.

Master-detail Relationship

  • Tightly relates two objects.

  • Master record controls some of the detail record’s behavior such as security and sharing access.

  • Any detail record must have a master record

  • Each custom object can have up to two master-detail relationships

💡
Some standard objects, like Accounts and Contacts, are lookup relationships but they have characteristics like Master-detail relationships. So contacts are automatically deleted when their related Account is deleted and the contact object inherits the sharing setting of the Account. A second example of this is the Accounts and Opportunities objects. They have a lookup relationship. However, it also behaves as a master-detail relationship since deleting an account record deletes all the related opportunities.

How does record ownership differ between lookup and Master-detail relationships? Here’s the answer found in this Salesforce Ben article:

  • Lookup Relationship - By default record ownership of child records is not controlled by the parent.

  • Master-detail relationships - The parent controls the record ownership of child records. The owner field is not available on the detail record in master-detail relationship queues, sharing rules and manual sharing are not possible for detail records as they require the owner field.

The comparison table of Lookup vs. Master-Detail relationships found in the same Salesforce Ben article mentioned above would be a great one to commit to memory.

Where in the Salesforce org do you go to create an object relationship?

Where in the Salesforce org do you go to create an object relationship?

Object Manager > Fields and Relationships

  • This should be obvious but I missed it at first— This is where you determine the type of field or the type of relationship (lookup, master, etc.).
💡
TIP - while working through a Trailhead lesson that is guiding you through a task, at times it will give directions like: 1. Click NextNext, and Save. Make sure to not just follow along but be present and attentive to each page you click on. If there is a description box that the lesson does not tell you to fill, put a description anyway. In the real world and even while completing superbadges, it is best practice to always have a description. I have found that using every opportunity to simulate the real world will allow you to benefit the most from the lesson.

Objective Two

Explain how to create, delete, and customize fields and page layouts on standard and custom objects, and know the implications of deleting fields.

Fields

When making a New Custom Field, you have the option to ‘Always require a value in this field in order to save a record’ Making a field required here does so at the database level.

  • When would you want to make a field required at the database level and what’s the difference between that and making it required on the page payout?

    • Making a field required at the database level means that you cannot create and save a record without filling out the field, whether the field is being created through an API or the user interface.

    • Making a field at the page layout level means that it’s only required through the UI, not through an API. Meaning if you were to upload data into Salesforce you could upload that field as blank

Making a field required at the database level could also cause this problem:

  • A user has access to a page layout but not access to that field based on their profile. They could be trying to save a record but could not.

Universally Required Fields

  • a custom field that must have a value for the record to be saved.

  • Field-level security does not override universally required fields.

  • See this Salesforce Help article for other considerations about universally required fields

Let’s connect this topic of ‘Fields’ with section one material for a moment. Question- You have a profile that you are using for users that you only want to have read-only access, and therefore have marked a particular object as read-only. Does it make a difference to enable read-only on the field at the database level? Which one takes precedence? Answer - the object. So even if the field was set to read-write for a particular profile, if the object is set to read-only for this profile then it will be read-only.

Field History Tracking

  • You can enable field history tracking for standard and custom objects in the object’s management settings.

  • You can select a combination of up to 20 standard and custom fields per object to track

  • When you enable tracking for an object, customize your page layouts to include the object’s history related-list

Restore Deleted Field

  • Deleted custom fields and their data are stored until your Org permanently deletes them or 15 days have elapsed, whichever happens first. Until that time, you can restore the field and its data.

  • Some properties of custom fields will be lost or changed and would need to be modified in order to restore the properties they had before deletion.

    • Salesforce converts all relationships to lookup relationships when they are deleted

    • See Notes on Restored Custom Fields in the Salesforce help articles for more examples.

Field Dependencies

Field dependencies are filters that allow us to change the contents of a picklist based on the value of another field.

What types of fields can be used as the dependent field in a field dependency?

  • Custom Picklists and Multi-select Picklists

Dependent Lookup Filters vs. Cross Object Formula Fields

These terms are used frequently and I found it helpful to do a side-by-side comparison to understand their purpose and usage. Read more on dependent lookup filters and cross object formula fields in the Salesforce help docs. I put the following prompt in Chat GPT and I organized the response in the table below:

Prompt: I am studying for the salesforce administrator exam and am writing a blog post about it. Task: Explain the difference between Dependent Lookup filters and Cross Object Formula Fields

Dependent Lookup FiltersCross Object Formula Fields
PurposeThese are used to filter the values available in a lookup field based on the criteria you define. They help ensure that users can only select related records, improving data accuracy and usability.These are used to calculate and display values on a record based on related records. They enable you to perform calculations across objects and display the result as a field on a particular record.
RelationshipThey are primarily used to establish a parent-child relationship between two objects and control the options available in a lookup field. For example, you can create a dependent lookup filter on the "Opportunity" object that filters the available "Account" options based on the selected "Stage" of the opportunity.These fields allow you to retrieve and display information from related objects without creating a direct relationship. They work by referencing related records through lookup or master-detail relationships.
Data ControlThey control the data input by limiting the choices available in a lookup field. You can specify filter criteria to determine which records are visible in the lookup dialog, making it easier for users to select the appropriate related record.They provide a way to calculate values based on related records but do not control data input. Cross-object formula fields are read-only and display information, such as calculated totals or values from related records.
Use CasesIdeal for scenarios where you want to ensure data integrity and usability by narrowing down the available choices in a lookup field based on specific conditions. For instance, using it to filter account options based on the opportunity stage.Useful when you need to display information from related records on a record detail page without creating complex custom code or relationships. For example, you can calculate and display the total value of related opportunity records on an account record.
Data Input vs. Data PresentationFocus on controlling data input and selection in lookup fields to ensure data accuracy.Concentrate on presenting calculated or related data without affecting the data input process.

In summary, Dependent Lookup Filters are used to control and filter data input in lookup fields, ensuring data accuracy and relevance. Cross-Object Formula Fields, on the other hand, allow you to display calculated or related data from other objects on a record, enhancing the presentation of information without affecting data entry.

Thanks Chat GPT!

Page Layouts

Two different tools are used:

  1. Lightning App Builder: Customize the structure of the page and the position of its components with the Lightning App Builder

    • The quickest way to edit the account record page you are on go to setup icon > Edit page

  1. Page Layout Editor: Manage the content of pages in both our Classic UI and in Lightning Experience, customize buttons, actions, and fields on pages.

    • Control which fields, lists of related records, and custom links users see

    • Customize the order in which the fields appear in the page details

    • Determine whether fields are visible, read-only, or required

    • Control which standard and custom buttons appear on records and related lists

    • Control which quick actions appear on the page

  • The quickest way to edit the account record page you are on go to setup icon > Edit object > page layouts > drop-down arrow > Edit

Page Layouts vs. Record Types

A page layout controls what fields, related lists and buttons show on a record. Record types control page layouts for different types of records and can limit picklist values. Each record type can have a page layout per profile. and you can set which profiles have access to which record types.

Highlights Panel

By default, at the top of a record page, you will find the highlights panel.

As stated in the image below, the fields like account name, close date, etc. within the highlights panel are controlled in the compact layout. Read more about compact layouts in the Salesforce help docs.

Where would you go to remove or add the highlights panel to the record page?

  • Lightning app builder

Where would you go to edit the contents of the highlights panel?

  • Compact layouts

There are three primary types of custom buttons and links that you can create.

  • List button—Appears on a related list on an object record page.

  • Detail page link—Appears in the Links section of the record details on an object record page.

  • Detail page button—Appears in the action menu in the highlights panel of a record page.

Because the file is local to your org, use everything after the domain portion of the URL to create the custom link. Using this example, the link points to

✅This :

/sfc/p/8b0000036pm4/a/8b000000DyCg/_y41qD4BqnFRDslk9iwPOCR3ogPe2eFwEy3ZXq7y1QY

🚫Not this:

<https://playful-goat-fba83j-dev-ed.trailblaze.my.salesforce.com>
/sfc/p/8b0000036pm4/a/8b000000DyCg/_y41qD4BqnFRDslk9iwPOCR3ogPe2eFwEy3ZXq7y1QY

Object-specific Actions

Object-specific actions have automatic relationships to other records and let users quickly create or update records, log calls, send emails, and more, in the context of a particular object. They have automatic relationships in the sense that the new records will be directly tied to the object they’re created from.

Global Actions

They can be put anywhere actions are supported. Use global actions to let users log call details, create records, or send emails, all without leaving the page they’re on.

Global actions live on a special layout of their own, known as the global publisher layout.

You might see actions referred to as “quick actions” in Salesforce. It’s true, they’re quick and your users will love them. The quick part is just a category and means that the action is either object-specific or global and not some other kind of Salesforce action.

-Source: Trailhead lesson Empower Your Users with Quick Actions

Data Loss and Changing Field Types

See the following Salesforce Help article: Notes on Changing Custom Field Types

Power of One

  • Power Of One. You can use the Power of One on any object. For example, if you had a report with 10 accounts, each with three opportunities, your Opportunities report returns 30 records. Adding the Power of One formula field to Account allows you to see the number of distinct accounts represented in the records. Some pros say they add a Power of One field to every object in their org!

Debugging

The ‘Missing Parentheses’ error will be given when there’s a missing parenthesis but also when there’s a missing comma (Scroll to Debug Formulas section towards the bottom of the page):

You’ll also see this error if you forget a comma between two function parameters. This error is confusing because the actual problem doesn’t match up with the syntax checker. If you’re certain your parentheses are correct, double-check that the commas in your function are correct as well.

Objective Three

Given a scenario, determine how to create and assign page layouts, record types, and business processes for custom and standard objects.

I needed a bit more clarification on how page layouts, record types, and business processes relate to one another. So, I wrote the following prompt in Chat GPT and I organized the response in the table below:

Prompt: I am studying for the salesforce administrator exam and am writing a blog post about it. Task: Explain how page layouts, record types, and business processes relate to each other.

In Salesforce, Page Layouts, Record Types, and Business Processes are fundamental components that work together to help administrators customize the user interface and data management experience for different types of users and scenarios. Let's explore how these three elements relate to each other:

Page LayoutsRecord TypesBusiness Processes
DefinitionPage layouts determine the arrangement of fields, sections, and related lists on a Salesforce record detail page.Record types are used to categorize and customize records based on certain criteria, such as the type of record or the business process it belongs to.Business processes in Salesforce are workflows or sequences of stages and tasks that guide users through specific actions or steps to achieve a business objective.
PurposePage layouts allow administrators to control what information is visible and editable for users on different records. They help tailor the user interface to match the needs of specific user profiles or record types.Record types allow you to define different sets of picklist values, page layouts, and even business processes for different categories of records. This is especially useful when you have diverse record requirements within the same object.Business processes help streamline and standardize how records progress through different stages. They can involve automations, approvals, and record updates.
RelationPage layouts are typically associated with specific record types and are assigned to user profiles or page layout assignments in business processes. This association ensures that users see the appropriate page layout based on the record type and the stage of a business process.Record types determine which page layout and business process are assigned to records of that type. They enable the customization of the user experience by associating the appropriate page layout and business process with each record type.Business processes are often associated with record types and influence the page layouts users see. Each stage in a business process can have its own page layout and automation rules, ensuring that users are presented with relevant information and actions at each stage of the process.

How They Relate:

  • Record Type Assignment: Record types determine which page layout and business process are assigned to a particular record. When a user creates a record, the associated record type dictates which page layout and business process will be used.

  • User Experience Customization: Together, page layouts, record types, and business processes allow administrators to customize the user experience. They ensure that users see the right fields, picklist values, and actions based on the type of record they are working with and the stage of the business process.

  • Scalability and Flexibility: This combination of elements makes Salesforce highly scalable and adaptable to different business needs. As your organization grows or your processes change, you can create new record types, page layouts, and business processes to accommodate those changes.

In essence, page layouts determine the visual appearance and data input options on record detail pages, record types categorize records into different types or business processes, and business processes guide users through predefined workflows. Together, these components provide a powerful toolkit for tailoring Salesforce to meet the unique requirements of your organization.

Thank you, Chat GPT.

Now we will discuss the actual steps to creating and assigning business processes. Remember, the lightning record pages control the look and feel of the page and are edited in the lighting app builder, while the page layouts control what information is on the page.

Page Layouts

How to Create

Setup > Object Manager > Select an object > Page layouts > New

How to Assign

Two Ways:

Setup > Object Manager > Select an object > Page layouts > Page Layout Assignment > Edit Assignment (to profiles)

Setup > Object Manager > Select an object > Record Types > Page Layout Assignment > Edit Assignment (to profiles) OR while creating a new record type, you assign layouts to profiles.

Record Types

How to Create

Setup > Object Manager > Select an object > Record Types > New

How to Assign

Setup > Object Manager > Select an object > Record Types > New > Select ‘Make Available’ and/or ‘Make default’ for the listed profiles

Business Processes

How to Create

Setup > Type ‘processes’ > Select either ‘Lead Processes’, ‘Sales Processes’, or ‘Support Processes’ > New > Select the values for users to choose from when dealing with a record that has this process > Save

How to Assign

After creating a new Lead Process, associate it with one or more Lead Record Type to apply it to new leads: Setup > Object Manager > Lead (object) > Record Type

After creating a new Sales Process, associate it with one or more Opportunity Record Type to apply it to new opportunities: Setup > Object Manager > Opportunity (object) > Record Type

After creating a new Support Process, associate it with one or more Case Record Type to apply it to new cases: Setup > Object Manager > Case (object) > Record Type

The most efficient process when dealing with page layouts, record types, and business processes (Massey, section 5) would be the following:

  1. Create the page layouts

  2. Create any additional picklist values

  3. Create the business process if the record type will be used to create leads (lead process), cases (support process), or opportunities (sales process)

  4. Create the record type > Assign the record type to relevant profiles > Assign the page layout to relevant profiles > Set picklist values

💡
Note, you can give all three the same name if they will all be used for the same purpose. For example let’s say you’re in the Opportunity object and create a page layout named B2B, a business process named B2B, and a record type named B2B.

Picklists

Let’s talk about picklists. Notice that steps two and four above mention picklists. Stages in a business process are made from a picklist on that object. If you want to re-word the stages to use terms you prefer, delete stages, or add additional stages, this can all be done in

  1. Setup.

  2. Click the Object Manager tab.

  3. In the list of objects, click Opportunity.

  4. Click Fields & Relationships.

  5. Click the Stage field.

Perhaps you need to collect data that is not covered by an existing field. You may only need specific users to give this data. You can use custom picklists for this purpose and use page layouts and record types to control who has access to these picklists. The video by Mike Wheeler does a great job explaining how picklists can be customized with record types.

Picklists vs Global Picklists

You can create picklists for one specific object or you can create a global picklist. This Salesforce Ben article mentions that “Global Picklists should be used any time you need the same set of picklist values on multiple objects.”(O'Leary, 2022) You will be selecting your picklist in step four when you create your record type.

Picklists are created in the object > Fields and Relationships > Type > Picklist.

Stay tuned for the Section 3 article where we add paths and see where paths fit into the process.

References

Massey, D. (n.d.). Salesforce Administrator Certification Course. Get Force Certified. Retrieved 2023, from https://getforcecertified.com

O'Leary, S. (2022, March 16). Global Picklists in Salesforce: Explained. salesforceben.com. Retrieved September 25, 2023, from https://www.salesforceben.com/global-picklists-in-salesforce-explained/

Wheeler, M. (2021, March 2). Picklists Available for Editing Under Record Types. youtube.com. https://youtu.be/7yVufgMoBFs?si=jhCf1mkl07KoFhV9