Salesforce fields are simple but vital to the world of Salesforce configuration. Each field holds separate pieces of data, allowing you to track and report on information related to your standard or custom objects. If you are to think of Salesforce as an Excel workbook, each object would be an individual spreadsheet, a field would be a column, and each row would represent a record.
These data points represented by fields in Salesforce can range from being very straightforward, like a text field a user would have to complete, to being more complex formula fields calculated through the use of other field values from the same object or a related one. We are going to walk you through the difference between standard and custom fields, show you how to actually build fields, and give you an overview of when to use fields in simple Salesforce configurations.
What Is a Standard Field vs. a Custom Field?
A standard field is one that comes out of the box with Salesforce. Standard fields from standard objects such as Account, Opportunity, or Product are available to all Salesforce customers, and the Opportunity stage falls right into this category. Custom objects will always have some standard fields as well, specifically Identity, System, and Name fields.
You can customize standard fields to a certain extent, for example, by adding help text, data owner, or creating and removing certain picklist values, but you cannot delete a standard field. You can, however, choose not to make use of it in some cases and hide it from the page layout.
If you would like to know more about the standard fields available on standard objects, you can consult the full list here.
On the other hand, a custom field is one you choose to create yourself in your organization on either a standard or custom object. Businesses need to track different types of data based on their processes and information needed, and custom fields let you do exactly this.
Generally speaking, you can have as many as 900 custom fields in total per object in the Salesforce Unlimited edition, consisting of 800 custom fields created in the org and 100 custom fields installed from managed packages. There are also other considerations, depending on the edition, as well as certain objects and field types.
There are over 20 different types of fields to choose from, each designed to hold different kinds of data!
How to Create a New Field
Custom fields are so simple to build that even new Salesforce Admins can do it in mere minutes. This, however, does not mean new fields should be created all the time, especially if a standard field, an already existing custom field, or an out-of-the-box functionality would meet the requirement.
Our goal is to create a field on the Account object that would represent the company tier – each account can only have one of three available tiers, respectively Bronze, Silver or Gold. Sales users should be able to choose a value in this field on the account, while all the other teams should be able to view the data. Since we are also aiming to gather as much data from the get-go, the field should be mandatory in the user interface.
When you are building new fields, you first select the object you want to build the field on. You navigate to Setup > Object Manager > Account > Fields and Relationships > New. Alternatively, you can also directly click “Edit Object” from the settings wheel directly from an account.
Step 1: Choose the Field Type
As mentioned above, there are various types of fields you can choose from. In this example, since the business requirement highlights that there can only be one value chosen for each record from a list of predefined values, we will select a picklist field type. Feel free to try the other types as well with your own examples, including formula fields, which will come to the rescue when calculations are needed.
Step 2: Enter the Details
On the next page, you will have to enter the field details. Field Label is what the users will see on the record or in reports, while Field Name is automatically populated by Salesforce and represents the API name of the field. Even though it’s not visible on this screen, you will notice that the API name will also have the suffix “__c” appended at the end.
When it comes to the values, you will have to simply paste the three values each on a separate line for this example, after choosing the “Enter Values” option. Global picklist value sets are something you might use in the future in situations where the same picklist values are needed across multiple objects and fields, so that they can be maintained in one place instead of individual fields.
Depending on the situation at hand, you will choose one or more of the available checkboxes, but pay close attention to the picklist value restriction option – in order to maintain field integrity through API as well, make sure this box is checked for all picklist fields you create. Otherwise, new values outside of the defined ones may appear on records following data imports or updates through an integration. If an attempt is made to insert a new value not present in the list, an error message will be displayed.
As a best practice, make sure to include a description of your field, and if the field is added on page layouts (as it will be later on in our case), the help text can be beneficial for the users.
Step 3: Establish Field-Level Security
This step will once again vary based on the requirement at hand. In our example, we need the sales team to be able to input one of the values, while other teams should just be able to see it.
Depending on the current setup in your org, field permissions might be included either on the profile or in a permission set. As a best practice, even though field permissions on profiles no longer have a clear sunsetting date, Salesforce recommends leveraging permission sets and permission set groups to open up access.
This being said, the new functionality from the User Settings Setup page comes in handy. You can choose to turn it on and see permission sets on this page instead of profiles, where you will be able to assign read/write permissions for the field. Even if you initially added the permissions on profiles when creating the field, if you decide to use permission sets instead and turn on the option, you will directly edit permission sets the next time you check the field-level security on the field.
Step 4: Add to Page Layout
And finally, the last step of the field creation process. Let’s choose if the field should be added to the page layouts. Since we do want all teams to view the field when looking at an account record, we can leave all the boxes checked and save.
This will add the Company Tier field to the page layouts. However, we do want to ensure the field will not be left blank when the record is edited from the user interface; hence, let’s make it required on the Account (Sales) layout, which is assigned to all sales users in the org.
Field Tips and Considerations
Congratulations, you’ve just finished building your first field! Now that you know how to create fields, you can start to use them in other places in Salesforce. For example, you can build reports using the Company Tier now or even add it as a merge field in an email template if needed.
Note that whenever a new field is created, or a change is generally made, you should be familiar with the current Salesforce implementation. For example, while I used the Developer edition to demonstrate the field creation, in a real-life scenario, a few other items should be considered:
- Record types being enabled: If the object you are creating the picklist field or adding another picklist value does have record types, you need to ensure that each record type contains the correct values for this specific picklist.
- Page layout assignment: Especially in an organization using multiple page layouts, it’s always a good idea to confirm that the assignment is correct as well. Although ideally, it shouldn’t happen, names can be misleading, and changes in assignments may happen.
- Other Salesforce functionality being used: For example, your organization might be using Dynamic Forms nowadays; hence, adding the field to the page layout will not make it available on the record page. Alternatively, users might expect the new field to also be added to a Screen Flow, which is another component that would have to be changed accordingly.
All Salesforce Field Types
|Automatically assigns a unique number to each record with a maximum length of 30 characters.
|Allows users to check a box, indicating a true or false attribute of a record.
|Allows users to enter a currency amount that the system automatically formats.
|Allows users to enter or pick a date from a popup calendar.
|Allows users to enter or pick a date from a popup calendar and enter an AM/PM time of day.
|Allows users to enter an email address up to 80 characters, validated to ensure proper format.
|External Lookup Relationship
|When you create an external lookup relationship field, the standard External ID field on the parent external object is matched against the values of the child’s external lookup relationship field. External object field values come from an external data source.
|Allows users to automatically calculate values based on other values or fields such as merge fields. Not available for external objects.
|Allows users to specify a location by its latitude and longitude.
|Creates a hierarchical lookup relationship between users. Allows users to use a lookup field to associate one user with another that does not directly or indirectly refer to itself.
|Indirect Lookup Relationship
|An indirect lookup relationship links a child external object to a parent standard or custom object. When you create an indirect lookup relationship field on an external object, you specify the parent object field and the child object field to match and associate records in the relationship.
|Creates a relationship between two records so you can associate them with each other. For example, opportunities have a lookup relationship with cases that lets you associate a particular case with an opportunity.
|Creates a relationship between records where the master record controls certain behaviors of the detail record such as record deletion and security.
|Allows users to enter any number treated as a real number and any leading zeros are removed.
|Allows users to enter a percentage number as a decimal.
|Allows users to enter any phone number up to 40 characters, validated for format.
|Lets users select a single value from a list that you define.
|Lets users select a single value from a list that you define. Available for external objects only with the cross-org adapter for Salesforce Connect.
|Automatically displays the record count of related records or calculates the sum, minimum, or maximum of related records. The records must be directly related to the selected record and on the detail side of a custom master-detail relationship with the object that contains the roll-up summary field.
|Allows users to enter any combination of letters, numbers, or symbols. You can set a maximum length, up to 255 characters.
|Allows users to enter any combination of letters, numbers, or symbols that are stored in encrypted form.
|Allows users to enter up to 255 characters displaying on separate lines like a Description field.
|Text Area (Long)
|Allows users to enter up to 131,072 characters displaying on separate lines like a Description field.
|Text Area (Rich)
|With the use of a toolbar, users can format the field content and add images and hyperlinks.
|Allows users to enter a time of day, including hours, minutes, seconds, and milliseconds.
|Allows users to enter up to 255 characters of any valid website address. When users click on the field, the URL will open in a separate browser window.
Regardless of the business requirement and Salesforce implementation, chances are that fields, be they standard or custom, will always be a part of it. Knowing when to use existing ones, when to create new ones, or when to leverage a different functionality is key.
Start exploring as many Salesforce field types as possible and discover the myriad of use cases they can be used for.