At times you may want to have a report on objects and fields defined in your Salesforce Org. You may want this to document the schema definition in your org or for data migration/integration discussion and mapping.
There is an object called ‘Entity Definition‘ that stores information about standard/custom objects. And you can link it to another object called ‘Field Definition‘ to get details on standard/custom fields defined on that object.
All you need to do is to create a custom report type based on these two objects and use this custom report type as an ingredient in your report. You can then add filters or group by fields or do anything that you can do in a standard report in Salesforce. Your dish is ready.
Here’s a short step-by-step guide which explains this simple process of getting a list of All Objects & Fields in Salesforce in just about 10-15 minutes. Follow this guide to learn how to:
- Create a Custom Report Type for Metadata
- Create a Custom Metadata Report
- View Custom Metadata Report
- Export Metadata Report
(We have discontinued our premium membership offering. If you are an existing premium member, you can still download the guides by clicking on “DOWNLOAD PDF [PREMIUM MEMBERS]” button. If you are not a premium member and want to download the guides, please sign up for our “All Access” pass. Complete details about this pass is available at this URL.)
References & Useful URLs
- EntityDefinition – Developer Documentation (15 mins) – https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm
- FieldDefinition – Developer Documentation (15 mins) – https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm
23 thoughts on “How to Report on Objects and Fields Defined in Salesforce”
Thank you very much! It was very helpful
You’re welcome Jasmine!
Thank you for this tutorial, it was very helpful. For more in-depth insights, I use AbstraLinx to extract metadata and display them in a convenient way (as an ERD or a detailed list) with the ability to search and explore each metadata and find relation between them.
Field usage is manually setup when a field is created that is field usage column is blank.
This is amazing, thank you so much for posting!
I do have a quick question when I ran this report the field usage column is blank, and no results are displayed. Would you know why this is happening?
Hi Susie, I tried Googling for the use of field usage column but couldn’t find anything relevant. You may want to log a case with Salesforce Support to find out about the same.
This was really helpful and exactly what I needed! Thank you for putting this together 🙂
Glad it helped Andy 🙂
Thank you for this! We’re doing a data governance review and this saved me hours of work trying to capture which data is on which objects in Salesforce. This was a lifesaver!
My pleasure Alyssa. Happy to note that this saved you hours of work. That exactly is one of the objectives of my blog
If you want to take things to the next level, then Elements.cloud pulls all the metadata from the Org and presents it an easily navigated tree structure
Thank you for the step-by-step guide. Super useful!!
Thanks Jasmine !
Too bad the Created and Modified fields (date, id) are not available.
This is great and very helpful! Is it possible to drill down further? I am looking the data type = picklist, and I want to know what the picklist options are. Please let me know if that is clear and if it is possible to do.
We took a look at the custom report type again and created the report. To the best of our knowledge, a further drill down is not possible and the picklist values cannot be fetched in the report.
Hi – Is there a way to use this report to see fields that are shared across different Case Record Types?
Hi Jesscia, I think you are referring to page layouts and not case record types as fields are assigned to page layouts and not record types. I did a quick test and don’t think we can show the fields on different page layouts.
Am I correct that “Last Modified Date” on the Field Definition object is derived from the “Modified By” you see on the field itself if you go to Setup – Objects – Fields and Relationships – Select any field – see “Modified By”?
If yes, then the “Last Modified Date” in this report shows only updates to the field label, field name, API name, data type, help text, description, etc. Not that the field has its value set on this date last time.
This is excellent, thank you!
Thanks, Jeff !
It would be great if inlineHelpText, formula and picklist were included in Field Definition. Or am I missing something?
Anyways, some time ago I came up with this:
Thank you for posting this. I use the “Salesforce DevTools” chrome extension to pull basic object information. Your approach can fetch more granular information for analysis and integration.