The Hidden Functionality of Custom Report Types

The Hidden Functionality of Custom Report Types v2Custom report types in Salesforce are great. They let you build an array of relationships to see data in a variety of complex ways. But they also hold some secrets that most admins don’t know about.

It wasn’t until I took the Advanced Administrator certification class that I learned the secret functionality of custom report types. With just a few extra keystrokes, administrators can make these reports far more user-friendly.

Let’s take a look!

Set Default Fields

When selecting a standard report type, Salesforce will populate the report with a few default fields. This makes the report building process much easier.

Custom report types don’t default any data adding several extra steps for users. But, you can add some immediate value to the report by defaulting fields to the report type – giving users an immediate report template to build off of.

Here’s how to do it!

  1. Access the report type by clicking Setup | Create | Report Types | Report Type Name.
  2. Click Edit Layout in the Fields Available for Reports section.
  3. Fields with a checkbox in front of the label are already defaulted. To add a field to the default layout, double-click the field name.
  4. In the window that opens, check the box titled Checked by Default.

Change the field display label and indicate if the field should be defaulted on the report.

Notice that in this new window that opened, the field label can also be changed in the Display As section. The change made here doesn’t reflect on the Salesforce record – it just updates the name in the report builder and the output report.

This is an excellent way to add clarification to a particular field if there tends to be user confusion or wholly rename everything. I think there is an April Fool’s day joke in there somewhere!

Conversely, to remove a field from being a default value on the report, uncheck the  Checked by Default box.

Hide Specific Fields from Reports

Custom report types also allow us to determine which fields can be reported on.

Have old fields that you don’t want users to be able to pull into a report? Perhaps you just wish to reduce the number of fields available to report on to help streamline the report creation process. It can be done!

While fields can be removed, it is important to note that sometimes, fields also need to be added to the report type. Specifically, when adding new fields to an object, the new field doesn’t always show up in the report because it hasn’t been added to the report type.

If this seems janky to you, it is. Vote for this idea to have new fields automatically added to report types.

Alright, let’s look at how to hide or show fields on the custom report type. Follow steps 1 and 2 above to access the report type.

First of all, notice that on the right side of the page, there is a box that shows fields for each object in the report type. In the View section, choose the object to review.


Determine what fields are available to report on using this field selector.

Fields that are available on the report are shaded gray. The fields with the green/brown color are hidden from the report type. This means that users will be unable to report on the data in these fields.

When a new field is added to your object, it tends to end up here – inaccessible to the report.

To add this field to the report type, simply drag it into the appropriate section.

Add Fields via Lookup

Not only can you add or remove fields related to the objects in the report type, but additional fields from related objects can be added to the report as well.

In the report type that I have been working with, Accounts and Contacts are the two primary objects. But let’s say that I want to pull in more specific information on a related object (where a lookup field is used) such as owner email address. We can do that!

In the above screenshot, you’ll notice a hyperlink under the object picklist which says Add fields related via lookup. When clicking on this, all objects related to the selected object will display. In this example, I am looking at Account Fields. When I click the link, this is what I see:

Add fields related via lookup

Dig deep into the relational database by adding additional fields from related records.


By clicking into any one of the options, I’m presented with and add any number of additional fields. Clicking on Account Owner, I can select any number of fields related to the owner including email address.

These additional fields are useful for adding additional context to the data but also for slicing and dicing the data multiple ways using filters.

Change Field Section Folder Names

Salesforce’s report builder does a decent job of grouping fields in the field panel, but certain fields make sense in a different folder section. There may even be a need to create a whole new custom folder section.


These field folders are created by default but can be modified to meet your specific business needs.

In the above image, we can see that there are two folders in the field panel of the report – Accounts and Contacts. These folders match the sections visible in the custom report type editor (where we were adding, removing and defaulting fields above).

Let’s say that we want to create a new section and organize the fields totally different than what Salesforce provides.

Following steps 1 and 2 above to access the custom report type, the click Create New Section. Once the section is created, drag and drop any fields from other sections to this new section.

To edit the labels of existing sections, click Edit in the red header to rename.

Change Section Header

Modify the folder section names to represent your companies nomenclature.


Hide Unused Report Types

In the Spring ’14 release, Salesforce gave us the ability to hide unused report types. With so many default report types provided, hiding unused report types can increase adoption of reports, reduce confusion for users and streamline the process of choosing a type of report to build.

To hide specific report types:

  1. Click ReportsNew Report…
  2. Check the box titled Select Report Types to Hide
  3. Click the check mark to change it to an X and hide the report type
analytics hide report types

Cleanup the list of available report types by hiding the types that aren’t used.

With these hidden functionality gems, reporting will become more productive and provide users with a lower barrier to entry when it comes to creating their own reports. We all want self-sufficient users and simplification is one of the key components to users helping themselves.

Consider adding the report type clean-up to your list of items to audit so that they are regularly cleaned and updated and unused report types are removed from view or deleted.

What other setting or tips and tricks did I miss when it comes to report types? Let me know – leave a comment!


Load More Related Articles
Load More By Brent Downey
Load More In Analytics


  1. Susie Kokoska

    December 15, 2014 at 9:04 am

    Great stuff Brent!!


  2. CongaPete

    December 15, 2014 at 9:17 am

    Great tips here! I always forget about the ability to hide report types. I have about 15 dev instances I should go back and cleanup.

    The one item that I find invaluable is the ability to: Add fields related via lookup

    The ability to reach through any number of lookup relationships (Standard or Custom) and pull information and details to the report level is so useful in so many ways. Really provides great utility for filtering and display of detail data.


    • Brent Downey

      December 15, 2014 at 10:16 am

      Pete, that is another great hidden feature of custom report types. I’ll have to update this post to include that one as well!


  3. Matt Hagey

    December 15, 2014 at 12:49 pm

    I would create a custom report if one of the reasons applies:
    * You want to filter data utilizing the object model – ex. Accounts with Activities
    * Want to include ‘related data’ in the report that a standard report cannot provide. Ex. Cases with custom Case owner information
    * You want to hide select fields from the ‘general public’. Ex. a simplified ‘opportunity’ report that only includes the Top X fields.

    One tip – if you’re creating a custom report with an object relationship, include that information in the report label. Ex. Accounts with Opportunities or Cases with or without Solutions.
    If it’s not labeled it becomes difficult to understand why one report returns different results than another, if the object model is filtering records ‘behind the scenes’.


    • Brent Downey

      December 15, 2014 at 1:58 pm

      Great suggestions Matt. I am in the process right now of cleaning up our report type labels because they don’t match that naming convention and it becomes difficult to determine when that specific report type would be used. This is something I must have learned from you!


  4. Liubov

    March 4, 2015 at 2:30 pm

    Facing some difficulties, maybe you’ll have an idea how to overcome it
    I had to create a custom object with custom fields that will calculate the split (since split only available on opportunity page). No challenge is to have these fields work for report that will be used in a drill down by person dashboard. Any ideas how to overcome it?


    • Brent Downey

      March 5, 2015 at 4:28 pm

      Hello Liubov! Is this custom object connected to the user via a lookup? You’ll want to ensure that you can access all of your data points through no more than 3 levels deep (that’s the standard limit to report type depth). It sounds like these records should be assigned to an owner which would be the rep. In addition, there should be a lookup relationship to the Opportunity. Actually, you probably just need the relationship with the opportunity because you can use the opportunity owner as the user grouping. Let me know if that helps (or if it doesn’t). Thanks for reading!


  5. Sophie

    April 1, 2015 at 9:27 am

    Hi Brent, it’s great to find this page it will be very helpful to our company users who always find reporting a challenge! Thanks for all the tips.
    I have one issue though while I am testing, I am trying to add the default fields to a custom report and I do not see the field listed in the grid. It is a field that we have had on the Opportunities object since day one and so I would think should appear on a custom report type that was created later? Any advice here please?


    • Brent Downey

      April 1, 2015 at 10:27 am

      Hello Sophie! Custom report types should include all of the fields on the objects selected as of the time the report type was created. If you aren’t seeing specific fields in the selected list or in the list of available fields, there may be something else happening. You may want to open a ticket with Salesforce support.


  6. Supriya

    July 17, 2015 at 2:14 am


    The custom report type in still in development status.
    Report type is not visible to end user but the reports created are visible to the users.
    How? please help



    • Brent Downey

      July 21, 2015 at 4:23 pm

      Report types are GA and have been for more than 5 years. End users won’t be able to create custom report types, but they will be able to create reports based on the report types you create and activate. Be sure that the custom report type created is deployed – otherwise the end-user will not see the custom report type created.


      • Supriya

        July 21, 2015 at 10:47 pm

        My issue is report type is still in development status, user cannot see this.
        But the reports thst are created using this report type are visible to user in the folder and when they try to access they get insufficient priveleges(As report type is in development status). but my question is how come the report is visible to user in the reports folder when report is not accessible.


        • Brent Downey

          July 22, 2015 at 3:03 pm

          Okay, I understand now! Even though the report type isn’t activated yet, you as the Administrator have the ability to build and save reports using that report type. This is mainly for planning purposes and ensuring that the report type is accurate before deploying to the organization. I would create a new folder, accessible only to Admins, which contains these “test” reports built on the new report types that haven’t been deployed. Once the report type has been deployed, move the report to a public folder where end-users can access the report. That should take care of the issue.


  7. Prabu S

    August 14, 2015 at 2:54 pm

    In Dev environment We have have created so many fields (approx 100 fields for 10 objects), I have to add these fields in the Custom report Types, So I have to open each and every report Type manually (Approx 120 report types) and also need to drag & Drop each fields, So totally i have to drag & Drop for 2150 times, Its painful to do.

    Is there any easy way (or automated way or Programmatic way) to do it quickly and wihtout more manual effort ?


  8. Munira Majmundar

    October 19, 2015 at 11:35 am

    Excellent!!! This is so well done. I am going step by step to master these concepts! Thank you!


    • Brent Downey

      October 21, 2015 at 8:55 am

      Awesome! They will help your reporting process a ton.


  9. Latoya Williams

    December 15, 2015 at 9:19 am

    Thanks for creating and posting such a great article! I didn’t realize it was possible to change field section folder names in Salesforce. I need to create some short animated demos of Salesforce functionality showing the configuration for a client’s instance. What tool or application did you use to create the great animated .gif in the “Add Fields via Lookup” section of this post?


  10. teja

    February 12, 2016 at 12:53 pm

    Hey you save my day yar. Because in my organisation we created lots of reports i stuck in a place called reports.Because in my org leads have record types.I got a requirement like create same label names fields in lead page.I stuck this place because when i come to reports it showing the same label twice i cannot create based on this.But, you saved me like create a custom report and create sections and change the name labels in reports.I want to lean Integration in sfdc can you share any posts regarding it.I will love your tips


  11. Abhishek

    April 26, 2016 at 3:21 pm

    Hide function hides the report type from all users. Is there a way to hide it selectively from specific set of users ?


    • Brent Downey

      April 26, 2016 at 5:02 pm

      Not currently – I believe it’s all or nothing.


  12. neema

    May 16, 2016 at 2:54 pm

    Hi Brent,
    I am new to SalesForce. I can create a custom report type and add filters. I am facing a problem with adding custom filters displaying a picklist for user to select. for Example: I have a custom report type between Accounts and opportunities. I want a custom field filter for “Account Type” displaying a picklist for user to select the available Account types and then click Run Report. Is this possible? I can create custom field filter “Account Type equals “Customer” but cannot diplay a picklist for the user to select


    • Brent Downey

      June 9, 2016 at 8:28 am

      You’re actually building the report filter picklist in the report builder. Where you’ve created a field filter for “Account Type equals Customer”, you would continue to add additional values – one for each value housed in your Account Type picklist.


  13. Christi

    May 20, 2016 at 11:57 am

    This made my day. Thanks!


  14. Jacobqg

    September 12, 2016 at 9:26 am

    This is a very insightful post! Thank you, Brent!
    I had one more question that I am hoping you could answer for me.
    When I filter a report to show only contacts who have a phone number (for my call team), the report defaults to adding the the “Account” phone number whenever the “Phone” field is blank. So my call team clicks on records from the report where it is assumed that we have their phone number, only to find that all of the phone number fields are blank.
    I expect there is a simple solution, but the office database managers have been unable to find one yet.
    Any ideas?
    Thanks for your help!


    • Brent Downey

      September 18, 2016 at 3:01 pm

      I’ve come across these types of oddities in reports as well. I have found that, for Contacts, it may be easier to create a custom report looking at Contacts only. What’s happening is that the report type you’re using is evaluating the Account because of it’s relationship to the Contact. Give that a go and hopefully it will result in what you’re looking to accomplish.


  15. Lakshmana Rao Chintala

    September 26, 2016 at 12:12 pm

    Hi All ,

    I have followed the above steps and hide the report type.same like that some other user also will do like that ..How can we track this who hide the report type ..?


    • Brent Downey

      September 30, 2016 at 8:23 am

      Are you wanting to find out who hid a report type? There isn’t a way that I know of to track that, but the permission to manage report types is awarded to a user’s profile, (System Admin by default) and narrow it down from there.


  16. Lakshmana Rao Chintala

    October 2, 2016 at 11:23 pm

    Thanks BRENT ,

    But I have more than 100 admins in my system .

    But we have to track it .many report types are hidden .is there any way …?


    • Brent Downey

      October 7, 2016 at 12:40 pm

      Woah! Over 100 System Administrators?! My first suggestion is that you need to find a way to pair that down – that’s absolutely insane! I can’t think of a single reason why there should be more than 5 Admins in a single org. If users are setup as Admin’s that’s a HUGE problem! I’m sure that the management of reports isn’t the only issue you’re facing!


  17. Minhaj Arifin

    December 23, 2016 at 11:34 am

    Thank you so much for your blog! Using your instructions I was able to get the Organization Business Hours fields to appear in a record type. What I am trying to do is tell the report not to give Data for Saturday and Sunday. But I am stuck here! Any thoughts will be appreciated!


  18. Minhaj Arifin

    December 23, 2016 at 11:37 am

    **Sorry for the earlier comment that has a mistake. I meant Custom Report Type and not Record Type.

    Thank you so much for your blog! Using your instructions I was able to get the Organization Business Hours fields to appear in a custom report type. What I am trying to do is tell the report not to give Data for Saturday and Sunday.

    But I am stuck here! Any thoughts will be appreciated!


  19. Julie C.

    March 9, 2017 at 11:01 pm

    Brent, thanks so much for the tips!
    I wish I would have known some of these a couple of years ago.
    I’m actually struggling with a custom report type problem right now and was wondering if you might be able to help.
    I would like to create a report type that is Opportunities with Partners, with and without bookings (custom object). The problem is that the custom object isn’t available after I select the Partner object…a bunch of other objects are :/
    Is there any trick that can be used to pull in the custom object?


    • Brent Downey

      April 29, 2017 at 10:40 am

      Hey Julie, without knowing the data model (not sure what Partners are and how Bookings relate to these objects) it’s hard to say. Salesforce reporting requires some sort of relationship to traverse in reporting, but the main object you select is key to getting the right data set.


  20. Suzi Simmons

    March 27, 2017 at 4:11 pm

    I want to create a custom object to manage our licenses (not community licenses.) I am trying to retrieve the number of available licenses from the company information page. I CAN create a report type of users that includes a field containing the total number of licenses available, by way of “User Fields (via lookup)

    Lookup Path: Users>>Profile>User License>Total Licenses
    But I can’t seem to do that with a formula field on a custom object.
    Is this possible? I want to manage our licenses, keep track of how many I have and how many are available.
    Is the only way I can get this information by looking at the company profile page?


    • Brent Downey

      April 29, 2017 at 10:42 am

      Are you referring to your company’s Salesforce licenses? I’m not sure of a way to capture that Company information in a report. You may need to create a field in the custom object that houses the number of licenses. It would be a constant (like a formula field) and could then be easily updated when your license counts change.


  21. Sou

    July 11, 2017 at 2:08 am

    Hi Brent,

    I am facing an issue in the “ADD FIELDS VIA LOOKUP” section. I have a custom object “Cycle” and I want to extract the record owner’s fields. The record owner’s data is stored is stored in the standard User object.

    When I use the “ADD FIELDS VIA LOOKUP” this way : Cycle >> Created By ; I get all the fields (standard+custom) of the User object.
    But when I go this way : Cycle >> Owner ; I get only a few fields like Name, Profile, Role etc(no custom fields).

    Now in my case the Created By user is different than the Owner and I need specifically some custom field values of the Owner user. Is there any way to derive those custom fields in the path Cycle >> Owner ?



    • Brent Downey

      July 22, 2017 at 10:38 am

      Hmm, that’s interesting. I’m not entirely sure – as long as it’s Owner is a lookup field, it should display the resulting fields related to the Owner user. Can you confirm that it’s a lookup field?


  22. Somdatta Banerjee

    November 23, 2017 at 10:00 pm

    Hi Brent,

    In Salesforce, there is a requirement for me identify the Custom Report types that are not in use. I do not have local admin rights added to my Profile. So, I can access Data loader and basic Salesforce instance. Can you suggest how to identify Customer Report types that are not in use currently?


    • Brent Downey

      January 24, 2018 at 10:50 pm

      Hi Somdatta! You’ll probably want to have System Admin permissions, or at least full access to all reports in order to make this work. When you run the report on reports, you can identify the report type being used for each report. I would summarize the report by report type and then go through the list of custom report types in your org, doing a stare and compare. Process of elimination will determine which custom report types are not being used.


  23. YAZ

    February 8, 2018 at 4:18 pm

    Hi Brent,

    I came across your website resource and I ‘ve followed this series religiously. So well put together for beginner and easy to follow. What advice do you have on how to proceed with learning salesforce. The resources out there are really overwhelming and I’d love to learn more about Salesforce admin.


    • Brent Downey

      February 21, 2018 at 11:12 am

      Thank you very much YAZ! I appreciate the feedback. My suggestion would be to focus on Trailhead. There is a lot of great content there, and you’ll get some “hands-on” knowledge as well which I think is very helpful in learning.


Leave a Reply

Your email address will not be published. Required fields are marked *




Join the bomb diggity Admin Hero email list and never miss a post. Like, never ever!

Hizza! You're subscribed! Nothing but good times ahead!