Skip to main content

Lightning Record Pages for Ultimate Productivity

Salesforce Lightning Experience provides so many configuration options that it's hard to know where to start. I'd like to share how I build Lightning Record Pages to help get you started.

I create Lightning Record Pages with 3 key concepts in mind:
  1. Consistent design
  2. Speed
  3. Everything they need is in one place
Building a Lightning Record Page that delivers these concepts will enable your users to have ultimate productivity.

Let's Take a Look:

Account Lightning Record Page
Account Lightning Record Page
Contact Lightning Record Page
Contact Lightning Record Page
Opportunity Lightning Record Page

Notice Anything?

They all look the same. I know, that's on purpose 🤓

Here are a few key similarities:

1. Activity and Chatter are in the same place

It's common to develop a "muscle memory" when doing repetitive tasks like logging calls or posting to Chatter.

⚡ Put components used for repetitive tasks in the same place. ⚡

2. Record Details load first

Salesforce does not recommend this because it hurts page load time. I used to load something else first and have Details behind a tab, but found out that most of my users just switch over to Details anyway.

When I learned this, I switched to loading the Record Details first because they are just going to switch over to that tab anyway. The page may load slower, but their overall experience will be faster.

⚡ Listen to your users! Give the people what they want! ⚡

3. Related List Quick Links

This component is a game changer.
  • It displays each related list and the number of related records
  • Hovering over any of the related lists will display a preview
  • Clicking a related list will take you to the related records
This component is designed to be lightweight and display just enough information after the initial load. This makes the component load fast

It also fits neatly below the highlights panel or path. My users really like having related records right at their fingertips like this.

⚡ Use components that load fast. ⚡

The Utility Bar

In the bottom left corner, you'll notice a few icons: History, Recent Items, Notes and Help Center. When you click these, a small window appears with the utility inside.

I recommend to add utilities that your users will need regardless of which record they are on. 

Help Center
This is a custom utility I use to display links to resources such as a Wiki, information on Feature ABC or a general FAQ.

Help Center Utility

You can build a Help Center Utility by following these steps:
  1. Go to the App Manager in Setup
  2. Click to Edit your Lightning App
  3. Go to the Utility Items menu
  4. Click Add Utility Item
  5. Select the standard Rich Text component
  6. Change the Label to Help Center
  7. Change the Icon to help_center
  8. I'm using a Panel Height of 175 in the preview above. Adjust this based on the content you have
  9. Add some content such as links to resources you have for your users
  10. Check the "Display as card" checkbox
Save and refresh a record page in Lightning. You'll now see the Help Center!


You can't predict what someone needs to do when they load a page in Salesforce. Because of this, you should give them everything they need at arms reach.

Careful that you don't go overboard and slow the page down, but don't be afraid to load heavier components (like Record Details) first if your users will need them anyway.

Design your pages with a consistent experience in mind. This will make it easy for people to find their way around the system. Once they learn where things are, they will start to enjoy using Lightning!


Popular posts from this blog

Joins in SOQL

If you are familiar with SQL, the biggest gotcha when writing SOQL is how joins are done. You'll see the term  Sub-Query  used instead of  JOIN  because of how queries are done on the Salesforce platform. You can still do joins; it's just done a little differently than you're used to. Sub-Query (Outer Join) In SQL, a join is when rows are selected from multiple tables and joined together on common columns. Thinking about your tables like a Venn Diagram is a great analogy for this. Let's say you want to query all Accounts and also include their related Opportunities. This is an example of an Outer Join because it selects all Accounts and will include their related Opportunities via the sub-query. If an Account does not have an Opportunity, it will still be returned here. An Outer Join is similar to selecting one whole circle in a Venn Diagram, including the area that overlaps with the other circle. Sub-Query (Inner Join) An inner join can seem a little m

Salesforce Lighting Migration: Plan for Success

In April 2018, I led the Salesforce Lightning Migration at Postmates . This is how I would do it over again if I could. Define Goals The goals of a Lightning Migration are: Enable Lightning Experience Configure Lightning Experience Document all Salesforce processes Create training and support materials Lightning Experience is adopted Easy enough right? Let's go though the plan to see how we accomplish each one. Enable Lightning Experience Just turn it on right? Well, kinda. Although it may be controversial, I recommend turning it on and hiding the option from all users. This can be done by removing the Lightning Experience User permission from your custom profiles.  And yes, turn it on in production .  Why? You're going to turn it on anyway. Salesforce has declared this as the path forward, so you either turn it on now or wait until they flip the switch for you. Plus, turning this on ahead of time will make deploying from a sandbox much  e

Modify Salesforce Data from the Command Line

When doing Salesforce data loads, how often are you putting the same value in an entire column? I find this happening when I need to: Move all accounts from one user to another Assign a set of leads to a specific user Set a field to a specific value Let's use the example from my other post: Salesforce Data Loads from the Command Line - Move all accounts owned by one user to another user. Magic Let's break down each piece of this: soql This is an alias I set for sfdx force:data:soql:query --query . It saves me from having to type this out each time and let's me query from the command line by just typing soql  and my query. This is a popular StackExchange post  that talks about how to set an alias. cat This command outputs the contents of a file. It is common to use this command with other commands by piping the output into another command. In our example, we are piping the output into the cut command. This post gives more examples of how to use t