0% found this document useful (0 votes)
51 views1,301 pages

Extend Click

The Lightning Platform Home page in Setup provides the central access point for customizing an org, finding setup tools and information, and building and managing applications without code. It includes quick links to common customization tasks, recently accessed items, usage metrics, and allows configuring which fields appear in history lists. Administrators can enable system overview messages to alert them when org limits are approached.

Uploaded by

duy.langsinhthai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views1,301 pages

Extend Click

The Lightning Platform Home page in Setup provides the central access point for customizing an org, finding setup tools and information, and building and managing applications without code. It includes quick links to common customization tasks, recently accessed items, usage metrics, and allows configuring which fields appear in history lists. Administrators can enable system overview messages to alert them when org limits are approached.

Uploaded by

duy.langsinhthai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Extend Salesforce with Clicks,

Not Code
Salesforce, Spring ’24

@salesforcedocs
Last updated: March 8, 2024
© Copyright 2000–2024 Salesforce, Inc. All rights reserved. Salesforce is a registered trademark of Salesforce, Inc., as are other

names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS

Extend Salesforce with Clicks, Not Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Lightning Platform Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Customize Your Salesforce Org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Set Up Your Data Your Way . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Build Your Own Salesforce App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Lightning App Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Manage Your Notifications with Notification Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Custom Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Extend the Reach of Your Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Build Your Own Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
Resources for the Point & Click Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297
EXTEND SALESFORCE WITH CLICKS, NOT CODE

Ready to go beyond the basics of Salesforce administration? Want to customize your org, push its boundaries, and enhance its functionality?
You can do that and so much more without writing a single line of code. All you need is your mouse and a sense of adventure. Enhance
your objects, data, and fields, customize your org’s look and feel, augment your business processes, create websites, and even create
apps—all using point-and-click tools.

Lightning Platform Home Page


The Lightning Platform Home page in Setup is the jumping off point for customizing your org, finding important setup tools and
information, and building and managing applications.
Customize Your Salesforce Org
You can customize each of the standard tabs and types of records, including adding custom fields and setting page layouts. You
can also customize search, tagging, and user interface options for your org. In addition, every Contact Manager, Group, Professional,
Enterprise, Unlimited, and Performance Edition user can customize various personal display options.
Set Up Your Data Your Way
Optimize your Salesforce data to fit the unique needs of your users. You can create your own objects with data that fits together in
the ways that make the most sense for you.
Build Your Own Salesforce App
An app is a collection of items that work together to serve a particular function. Salesforce apps come in two flavors: Classic and
Lightning. Classic apps are created and managed in Salesforce Classic. Lightning apps are created and managed in Lightning
Experience. You can customize both types of app to match the way your users work.
Manage Your Notifications with Notification Builder
Keep your users in the know with timely notifications, whether they’re at their desks or on the go. Create custom notifications to
give your users new information and reminders. Choose whether Salesforce notifications appear on desktop, mobile, Slack, or at all.
Custom Domains
Provide a branded experience for users who access your external-facing Salesforce content by serving your Digital Experiences or
Salesforce Sites on a domain that you own, such as https://www.example.com.
Extend the Reach of Your Organization
Sometimes your users need to work with data and services that are outside your Salesforce org. There’s a variety of ways you can
provide seamless access across org boundaries.
Build Your Own Web Site
Site.com and Salesforce Sites are legacy systems to create sites using Salesforce.
Resources for the Point & Click Administrator
In addition to online help, Salesforce creates guides and tip sheets to help you learn about our features and successfully administer
Salesforce.

1
Extend Salesforce with Clicks, Not Code Lightning Platform Home Page

Lightning Platform Home Page


The Lightning Platform Home page in Setup is the jumping off point for customizing your org,
EDITIONS
finding important setup tools and information, and building and managing applications.
You access the Lightning Platform Home page from Setup. Available in: both Salesforce
Classic (not available in all
In Lightning Experience:
orgs) and Lightning
• The left sidebar, which you can browse or search, provides access to all setup actions, tasks, Experience
and tools.
Available in: all editions
• The Quick Find lets you quickly navigate to any node using a keyword. Quick Find is the best except Database.com
way to find what you’re looking for if you know its name.
• The Create menu gives you quick access to common Setup creation functions—including users,
custom objects, custom tabs, apps, email templates, and processes—without having to drill down through the Setup tree to get
the page. You can get to the Create menu from any page in Setup.
• A carousel of quick-access tiles gives you instant access to important setup tools and information, as well as the release notes. There’s
a link to download SalesforceA—which lets you do Salesforce administration from a mobile app—and a link to the System Status
screen so you can view your org’s performance and usage data.
• The Most Recently Used list shows your most recently used records or customization features in Setup. You can quickly link back to
what you were working on by clicking its name.
• The Object Manager provides a one-stop shop for managing all objects in your org, both standard and custom.
In Salesforce Classic:
• The left sidebar, which you can browse or search, provides access to all setup actions, tasks, and tools.
• The Getting Started box contains a tool for generating a basic app in a single step and links to information about extending and
managing apps. This box doesn’t appear if you’ve previously dismissed it.
• The Recent Items list shows recent metadata items that you’ve viewed, edited, or created and their related objects.
• The System Overview messages box displays messages to remind you when your org reaches its usage limits. The System Overview
messages box isn’t enabled by default.
• The Quick Links box provides links for managing tools, users, apps, security, and data.
• The Community box showcases available resources. If you’ve previously dismissed this box, it reappears with each new release.
• The right pane includes external links that are useful for developers and administrators.

Configure System Overview Messages


Add system overview usage messages to the Salesforce Home page to remind you when your org approaches its limits. You can
expand, collapse, and dismiss the system overview messages that appear on the Home page. By default, the system overview home
page messages are enabled.
Select Which Fields Appear in the Recently Viewed List
As a Salesforce admin, you can customize the Recently Viewed list that appears on the Setup home page for most standard and
custom objects. Choose and order the fields to display so that your users see the information that’s most important for your company.
Recent Items List (Beta)
The Recent Items list in Salesforce Classic shows recent metadata items that you’ve viewed, edited, or created and their related
objects.
Quick Access Menu
The quick access menu offers handy shortcuts to customization features.

2
Extend Salesforce with Clicks, Not Code Configure System Overview Messages

Configure System Overview Messages


Add system overview usage messages to the Salesforce Home page to remind you when your org
EDITIONS
approaches its limits. You can expand, collapse, and dismiss the system overview messages that
appear on the Home page. By default, the system overview home page messages are enabled. Available in: both Salesforce
Note: The system overview page shows only the items enabled for your org. For example, Classic (not available in all
orgs) and Lightning
your system overview page shows workflow rules only if workflow is enabled for your org.
Experience
1. From Setup, enter System Overview in the Quick Find box, then select System Overview.
Available in: All Editions
2. Click Configure Messages. except Personal and
3. Select or deselect the types of system overview messages to show or hide on the Home page. Database.com
4. Click OK.
USER PERMISSIONS
Important: System overview messages only appear on the Salesforce Home page when
your org approaches its limits. To configure system
When you enable or dismiss system overview messages, it only impacts your individual view of the messages:
messages. • Customize Application

Select Which Fields Appear in the Recently Viewed List


As a Salesforce admin, you can customize the Recently Viewed list that appears on the Setup home
EDITIONS
page for most standard and custom objects. Choose and order the fields to display so that your
users see the information that’s most important for your company. Available in: Lightning
Experience
Note: These steps work in Lightning Experience. If you see the App Launcher icon ( ) on
the left side of the navigation bar at the top of your screen, you're in Lightning Experience. If Available in: Essentials,
not, you're in Salesforce Classic. Group, Professional,
Enterprise, Performance,
For most list views, your users can select which fields to display and how to order the view columns.
Unlimited, and Developer
However, they can’t edit the recent records quick list on object home pages. Only Salesforce admins
Editions
can select and order the fields to display for the recent records quick list. Admins can’t make any
other changes to this default list.
1. From Setup, at the top of the page, select Object Manager.
USER PERMISSIONS

2. Click the label name of the object for the Recently Viewed list you want to modify. To customize recent records
list
3. From the menu of links at the top of the page, click Search Layouts.
• Customize Application
4. In the far right of the Search Results row, click and select Edit.
Recently viewed lists use the Search Results search layout in Lightning. In Classic, recently
viewed lists use the Tab search layout.

5. To add columns to the Recently Viewed list, select one or more fields from Available Fields and click Add. To remove columns, select
one or more fields from Selected Fields and click Remove.
6. Order columns by selecting one or more fields from Selected Fields and clicking Up or Down.
7. Click Save.

Example: Your users collaborate on opportunities. To make it easy to see who worked on a recent opportunity last, select Last
Modified By from the Available Fields list. Click Add to move it to Selected Fields. Now this information appears on the Recently
Viewed list on the Opportunities home page.

3
Extend Salesforce with Clicks, Not Code Recent Items List (Beta)

In the Salesforce mobile app, the Recently Viewed list is the same list view as the desktop list view, with a few differences.
• The Recently Viewed list shows up to two fields for each record. To see more than two fields, tap .
• The fields shown come from the search results layout for the object. Any user with the Edit user permission for an object can add
up to 10 fields. On desktop, go to Setup > Customize > {Object Name} > Search Layouts > Search Results. A user’s changes
also affect which fields are shown on the search results page.

Note: In the Salesforce mobile app, a Recent list appears below the list views on an object’s home page. It’s an automatically
generated list of recently accessed records. It isn’t a list view and can’t be modified.

Recent Items List (Beta)


The Recent Items list in Salesforce Classic shows recent metadata items that you’ve viewed, edited,
EDITIONS
or created and their related objects.

Note: The Recent Items list is in beta. It’s production quality but has known limitations. Available in: Salesforce
Classic (not available in all
The Recent Items list includes: orgs)
• Apex classes Available in: all editions
• Apex triggers except Database.com
• Approval processes
• Apps
• Custom report types
• Email templates
• Fields
• Lightning pages
• Objects
• Page layouts
• Permission sets
• Profiles
• Record types
• Static resources
• Tabs
• Users
• Validation rules
• Visualforce pages
• Visualforce components
• Workflow email alerts
• Workflow field updates
• Workflow outbound messages
• Workflow rules
• Workflow tasks

4
Extend Salesforce with Clicks, Not Code Quick Access Menu

Note: The Recent Items list in Salesforce Classic Setup is independent of the Recent Items section in the sidebar column of many
Salesforce pages. The list in Setup shows items that administrators use, while the Recent Items section in the sidebar displays
records with which end users have worked.

Quick Access Menu


The quick access menu offers handy shortcuts to customization features.
EDITIONS
When you're working on apps or objects, use this menu to jump to relevant app customization
features. It's available from object list view pages and record detail pages. Available in: Salesforce
Classic (not available in all
Note: If drag-and-drop scheduling on list views is enabled, the quick access menu isn't visible orgs)
for list views on accounts, contacts, and custom objects.
Available in: Contact
• To expand or collapse the menu, click (or press ALT+;).
Manager, Group,
• To scroll down the list of the menu, press TAB. Professional, Enterprise,
• To select an option on the menu, press ENTER. Performance, Unlimited,
and Developer Editions
• To remove the menu from all list views and record pages, click Turn off menu.
To restore the quick access menu:
USER PERMISSIONS
1. From your personal settings, enter Advanced User Details in the Quick Find box,
then select Advanced User Details. No results? Enter Personal Information in the To view the quick access
Quick Find box, then select Personal Information. menu:
• Customize Application
2. Click Edit.
3. Select the Quick Access Menu checkbox.
4. Click Save.

SEE ALSO:
Personalize Your Salesforce Experience

5
Extend Salesforce with Clicks, Not Code Customize Your Salesforce Org

Customize Your Salesforce Org


You can customize each of the standard tabs and types of records, including adding custom fields
EDITIONS
and setting page layouts. You can also customize search, tagging, and user interface options for
your org. In addition, every Contact Manager, Group, Professional, Enterprise, Unlimited, and Available in: both Salesforce
Performance Edition user can customize various personal display options. Classic and Lightning
Watch a Demo: Creating a Workflow Rule (Salesforce Classic) Experience

Quick demo of how to customize the way Salesforce looks for your organization. The available customization
options vary according to
To tailor Salesforce for your org, you can customize the display of the various tabs and other items.
which Salesforce Edition you
Select a link to get started on any task.
have.

Find Object Management Settings


USER PERMISSIONS
Salesforce lets you personalize your object model with features like custom fields, page layouts,
and validation rules. Depending on which experience of Salesforce you have enabled, these To view setup options:
customizations are located in different areas of Setup. • View Setup and
Ways to Control User Access to Fields Configuration
Use field-level security to control user access to fields. Use page layouts to control the layout To customize your org:
and organization of detail and edit pages in Salesforce, the Self-Service Portal, and the Salesforce • Customize Application
Customer Portal.
Set Page Layouts and Field-Level Security
Use field-level security as the means to restrict users’ access to fields; then use page layouts primarily to organize detail and edit
pages within tabs. This reduces the number of page layouts for you to maintain. For example, if a field is required in the page layout
and read-only in the field-level security settings, the field-level security overrides the page layout and the field is read-only for the
user.
Page Layouts
Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce, custom links, and related lists on object
record pages. They also help determine which fields are visible, read only, and required. Use page layouts to customize the content
of record pages for your users.
Compact Layouts
A compact layout displays a record’s key fields at a glance in the Salesforce mobile app, Lightning Experience, and in the Outlook
and Gmail integrations.
Custom Help Content
Tailor help so that users understand how to work within your unique implementation of Salesforce. You can add learning in the flow
of work in several ways. Add custom help for a page, app, object, or org level, or provide links to help in the Utility Bar, Path, or as a
text box on the page. Show users custom resources in a Lightning Experience welcome mat when they first log in. Or, to reach users
with important news, training, and on-boarding information, add micro-learning prompts and walkthroughs to your app.
Tailor Business Processes to Different Record Types Users
Record types let you offer different business processes, picklist values, and page layouts to different users. You can create record
types to differentiate your regular sales deals from your professional services engagements, offering different picklist values for each.
Or you can display different page layouts for your customer support cases versus your billing cases.
Manage Your Translations
If your Salesforce org has multiple languages enabled, manage translations so that your global users can use Salesforce in their
language.

6
Extend Salesforce with Clicks, Not Code Find Object Management Settings

Find Object Management Settings


Salesforce lets you personalize your object model with features like custom fields, page layouts, and validation rules. Depending on
which experience of Salesforce you have enabled, these customizations are located in different areas of Setup.

Find Object Management Settings in Lightning Experience


Salesforce lets you customize your object model with features like custom fields, page layouts, and validation rules. Most objects are
available from the Object Manager in Setup.
Find Object Management Settings in Salesforce Classic
Salesforce lets you personalize your object model with features like custom fields, page layouts, and validation rules. Depending on
which type of object you want to find, these customizations are located in different areas of Setup.
Standard Object Limits
Standard object limits include usage details for object customizations, such as the custom fields you’ve added or sharing rules you’ve
applied to an object.
App Setup Overview

Find Object Management Settings in Lightning Experience


Salesforce lets you customize your object model with features like custom fields, page layouts, and
EDITIONS
validation rules. Most objects are available from the Object Manager in Setup.
Available in: Lightning
Standard Objects and Custom Objects Experience

A standard object, such as Account or Contact, comes out of the box with your Salesforce Available in: All editions
organization. A custom object is an object that you or another administrator created.
From Setup, at the top of the page, select Object Manager. Select one of the objects in the list,
and then select a specific customization from the left pane.

7
Extend Salesforce with Clicks, Not Code Find Object Management Settings

For example, to add a custom field to the Account object, select Object Manager from the top of the Setup page. Next, select Account,
and then Fields & Relationships. Select New.

Note: If you’ve renamed any objects or fields, the Object Manager uses their assigned custom names.

Other Standard Objects


Some standard objects aren’t housed in the Object Manager. Standard objects with more specific purposes and customizations can be
found in Setup using the Quick Find box.
From Setup, enter the object name in the Quick Find box, then select the customization.

Custom Objects
You can also create custom objects from the Object Manager. From Setup, at the top of the page, select Object Manager. Then select
New Object.

External Objects
An external object is similar to custom objects, except that it maps to data that’s stored outside your Salesforce organization.

8
Extend Salesforce with Clicks, Not Code Find Object Management Settings

From Setup, enter External Objects in the Quick Find box, then select External Objects. Next, click one of the external objects
in the list. Then scroll to the section for the specific customization.
For example, to add a custom field to the Orders external object, enter External Objects in the Quick Find box, then select
External Objects. Click Orders, and then scroll to Custom Fields and Relationships.

SEE ALSO:
Point-and-Click Customization: What’s Different or Not Available in Lightning Experience

Find Object Management Settings in Salesforce Classic


Salesforce lets you personalize your object model with features like custom fields, page layouts,
EDITIONS
and validation rules. Depending on which type of object you want to find, these customizations
are located in different areas of Setup. Available in: Salesforce
Classic
Standard Objects Available in: All editions
A standard object, such as Account or Contact, comes out of the box with your Salesforce
organization.
From Setup, enter the name of the appropriate object in the Quick Find box, then select the specific customization.
For example, to add a custom field to the Case object, enter Case in the Quick Find box, then select Fields under Cases.

Custom Objects
A custom object is an object that you or another administrator created.
From Setup, enter Objects in the Quick Find box and select Objects. Next, click one of the custom objects in the list. Then
scroll to the section for the specific customization.
For example, to add a custom field to the Job Applications object, enter Objects in the Quick Find box, then select Objects.
Click Job Applications, and then scroll to Custom Fields and Relationships.

External Objects
An external object is similar to custom objects, except that it maps to data that’s stored outside your Salesforce organization.
From Setup, enter External Objects in the Quick Find box, then select External Objects. Next, click one of the external
objects in the list. The scroll to the section for the specific customization.
For example, to add a custom field to the Orders external object, enter External Objects in the Quick Find box, then select
External Objects. Click Orders, and then scroll to Custom Fields and Relationships.

9
Extend Salesforce with Clicks, Not Code Find Object Management Settings

Standard Object Limits


Standard object limits include usage details for object customizations, such as the custom fields
EDITIONS
you’ve added or sharing rules you’ve applied to an object.
The list varies depending on the object. When a customization exceeds the allowed limit for the Available in: both Salesforce
object, or reaches 75% of the limit, a tip displays that suggests what you can do next. Classic and Lightning
Experience
Refer to the standard object limits page when you’re planning to customize a particular standard
object or to monitor the usage and limits of customizations on that object. Available in: All Editions
To see an object’s usage: except Database.com

• If you’re using Lightning Experience, from Setup, open the Object Manager, click the name of
the object you want to see the usage for, and then go to Object Limits.
• If you’re using Salesforce Classic, from Setup, enter the object name in the Quick Find box, and then select Limits under that object.

Note: The object limit percentages are truncated, not rounded. For example, if your org uses 95.55% of the limit for a particular
customization, the object limit displays 95%.

10
Extend Salesforce with Clicks, Not Code Rename Object, Tab, and Field Labels

Rename Object, Tab, and Field Labels


You can change the name of almost any object, field, or tab in Salesforce. This simple adjustment
EDITIONS
lets you continue using the terminology your users already know and helps them transition to using
Salesforce. However, Salesforce Help and most pages in Setup always display the original names Available in: both Salesforce
for standard objects, fields, and tabs. Classic and Lightning
Before renaming tabs, objects, fields, and other related labels, review the implementation tips for Experience
administrators.
Available in: Essentials,
For example, you can change the name label for the “Accounts” object and related “Accounts” tab Professional, Enterprise,
to “Companies”, and change the field “Account Name” to “Company Name.” When you rename an Performance, Unlimited,
object, tab, or field, the new name appears on all pages the user sees, in Salesforce for Outlook, and and Developer Editions
in Connect Offline.
If you use person accounts in your Salesforce org, see Renaming Person Account Labels. USER PERMISSIONS
1. From Setup, enter Rename Tabs and Labels in the Quick Find box, then select Rename
To rename a tab and field:
Tabs and Labels. • Customize Application
2. Select your default language from the Select Language dropdown list at the top of the page. OR
Note: In Hebrew, we recommend keeping tab renaming to a minimum because variable Manage Translation
gender in verbs isn’t supported and verbs can lose gender agreement. OR
If you’re designated as
3. Click Edit next to the tab you want to rename. Click Reset to revert to a tab’s original name.
a translator, you need:
Note: You can’t reset custom object tab names. View Setup and
Configuration
4. Enter the singular and plural forms of the new tab name. Also, if applicable for the language,
To reset renamed tabs:
select Starts with a vowel sound for labels that start with a vowel to ensure that Salesforce
• Customize Application
uses the proper article (such as “a” or “an”). Then click Next.
OR
When you rename a tab or an object, you can’t use the name of another standard tab, custom
object, external object, or custom tab. When you rename an object, a field, or a tab, you can’t Manage Translation
use these characters: #, $, %, ;, <, =, >, [, ], ^, `, |, and ~. OR
If you’re designated as
5. Enter your labels for the standard field labels and other user interface elements. Be sure to enter
a translator, you need:
both a singular and plural form for each label that requires it. Select Starts with a vowel sound
for labels that start with a vowel. View Setup and
Configuration
Note: Some standard fields, such as Created By and Last Modified By, are purposely
omitted from renaming because they track system information.

6. Click Save.
Repeat this procedure to translate labels into all other languages used in your organization.

Tip: After renaming a tab or object, rename any custom reports, dashboards, profiles, permission sets, custom fields, and list views
that contain the original name. You can modify labels using the Translation Workbench. To rename a standard report, click Save
As and save it to a folder designed for your new name.
Other tab customization options include:
• Individual users can control which tabs and related lists display for their own logins.
• In addition to the standard tabs provided by Salesforce, users can create entirely new custom tabs depending on their Edition. For
more information, see Custom Tabs.

11
Extend Salesforce with Clicks, Not Code Rename Object, Tab, and Field Labels

• In Enterprise, Unlimited, Performance, and Developer Edition organizations, you can override the tab home page that is displayed
when a user clicks a standard, custom, or external object tab. For more information, see Override Standard Buttons and Tab Home
Pages on page 733.

SEE ALSO:
Considerations for Renaming Tab and Field Labels
Rename the Chatter Tab
Find Object Management Settings

Renaming Person Account Labels


If your org uses person accounts, you can rename three standard fields.
EDITIONS
Field Tab Description Available in: Salesforce
Business Account Accounts An account that isn’t a person account because Classic (not available in all
it doesn’t have a record type specific to person orgs)
accounts. This label is primarily used to clarify Person accounts available
the type of accounts you’re importing. in: Enterprise, Performance,
Unlimited, and Developer
Person Account Accounts A person account.
Editions
Business Contact Contacts A contact that is associated with a business
account. This label is primarily used to clarify
the type of accounts you’re importing.

When you rename the Person Account field label, the renamed label appears in Salesforce:
• As a prefix to differentiate person account fields such as Birthdate and Home Phone from business account fields. For example,
Person Account: Birthdate is available as an account column in opportunity reports.
• In the name of the Is Person Account field and icon. For example, if you rename the Person Account field to “Consumer,” then Is
Person Account becomes Is Consumer.

Note: The Person Account and Business Account field labels are independent from actual record type names.
• To customize person account record types, from the object management settings for person accounts, go to Record Types.
• To customize business account record types, from the object management settings for accounts, go to Record Types.

SEE ALSO:
Rename Object, Tab, and Field Labels
Considerations for Renaming Tab and Field Labels

12
Extend Salesforce with Clicks, Not Code Rename Object, Tab, and Field Labels

Considerations for Renaming Tab and Field Labels


Before renaming standard and custom tabs and fields, learn how those changes affect your users.
EDITIONS
• Most standard tabs and objects can be renamed but not all. For example, the Forecasts tab isn’t
available for renaming. From Setup, enter Rename Tabs and Labels in the Quick Find Available in: both Salesforce
box, then select Rename Tabs and Labels to view a list of the tabs and objects you can rename. Classic (not available in all
orgs) and Lightning
• The renamed labels appear on all user pages in Salesforce, including Personal Setup. In Lightning
Experience
Experience, all pages in the Setup area use the renamed labels. In Salesforce Classic, the Setup
pages in the Setup area use the default, original labels. Available in: Professional,
• Some standard fields, such as Created By and Last Modified By, are purposely omitted from Enterprise, Performance,
renaming because they track system information. Unlimited, and Developer
Editions
• When you rename a tab or an object, you can’t use the name of another standard tab, custom
object, external object, or custom tab.
• When you rename a tab, a field, or an object, you can’t use include these characters: #, $, %, USER PERMISSIONS
;, <, =, >, [, ], ^, `, |, and ~.
To rename tab and field
• After renaming tabs, objects, or fields, check the following additional items to determine which labels:
items need manual updates: • Customize Application
– Review all list view names. List view names continue to display the original object name To reset renamed tabs:
until you change them manually. • Customize Application
– Check standard report names and descriptions for the objects you renamed.
– Update the titles and descriptions of any email templates that contain the original object or field name.
– Manually change any other items you customized with the new object or field name. For example, change any custom fields,
page layouts, and record types that contain the original tab or field name.

• Connect Offline, the Outlook integration, the Gmail integration, and Salesforce for Outlook use your new names.
• When you rename custom tabs for custom objects, the tab label normally appears in the requested language. If there’s no translation
for the requested language, the tab label appears in the default language of the custom object. The custom object default language
is the default language of the org when the object was created.
• If you have renamed tabs, objects, or fields, you can also replace Salesforce Help with another URL. Users can view this URL whenever
they click any context-sensitive help link on an end-user page or within their personal settings. After you replace the help, the Help
& Training link at the top of every page and all Setup pages will continue to display Salesforce Help. For more information, see Define
Org-Level Help in Salesforce Classic on page 92.
• In Hebrew, we recommend keeping tab renaming to a minimum because variable gender in verbs isn’t supported and verbs can
lose gender agreement.

SEE ALSO:
Rename Object, Tab, and Field Labels

13
Extend Salesforce with Clicks, Not Code Ways to Control User Access to Fields

Ways to Control User Access to Fields


Use field-level security to control user access to fields. Use page layouts to control the layout and
EDITIONS
organization of detail and edit pages in Salesforce, the Self-Service Portal, and the Salesforce
Customer Portal. Available in: both Salesforce
Important: When you use page layouts to hide fields from detail and edit pages, users can Classic and Lightning
Experience
still see these fields via reports, search results, list views, and the API. To restrict field access,
use field-level security. Search doesn’t return results for records with fields protected by field Page layouts and search
level security. In some rare situations, when search terms match field values protected by layouts available in: All
field-level security, the associated records are returned but without the protected fields and Editions
their values.
Field-level security available
Don’t use page layouts to secure data. For example, removing the Edit button from a page in: Enterprise, Performance,
layout doesn’t prevent users from using inline editing. To prevent users from editing data, Unlimited, Developer, and
use sharing rules, field-level security, page layout field properties, validation rules, object Database.com Editions
permissions, and Visualforce pages.

Field-Level Security
• Restrict users’ access to view and edit fields. For example, restrict access in reports, search results, list views, related lists, email, and
mail merge templates, custom links, Connect Offline. Also restrict API access and when synchronizing data or importing personal
data.
• Override less-restrictive field access settings in page layouts and mini page layouts. For example, if a page layout requires a field
that’s read-only in field-level security settings, the field remains read-only for the user.
• Override less-restrictive field settings in search layouts. For example, if a field is visible in the search layout but hidden via field-level
security settings, the field remains hidden.

Page Layouts
• Control the layout and organization of detail and edit pages.
• Control which fields, related lists, and custom links users see, on detail and edit pages only.
• Control which standard and custom buttons display on detail pages and related lists.
• Determine whether fields are visible, read only, or required, on detail and edit pages only.
• Determine the fields that users can import data into.
• In Personal, Contact Manager, Group, and Professional Editions, page layouts control which fields users can access in:
– related lists and list views
– reports
– Connect Offline
– email and mail merge templates
– custom links
Page layouts also control field access when synchronizing data.
• In Professional, Enterprise, Unlimited, Performance, and Developer Editions, determine aspects of mini page layouts, including:
– record type
– profile associations
– related lists

14
Extend Salesforce with Clicks, Not Code Set Page Layouts and Field-Level Security

– fields and field access settings


The visible fields and related lists of the mini page layout can be further customized. But other items inherited from the associated
page layout can’t be changed on the mini page layout. Mini page layouts display selected fields and related lists of records in the
mini view of the console.

Tip: To automatically add a field to all page layouts and make it visible and required everywhere regardless of field-level security,
make it a universally required field.

SEE ALSO:
Page Layouts
Customize Search Layouts to Show Results Users Want

Set Page Layouts and Field-Level Security


Use field-level security as the means to restrict users’ access to fields; then use page layouts primarily
EDITIONS
to organize detail and edit pages within tabs. This reduces the number of page layouts for you to
maintain. For example, if a field is required in the page layout and read-only in the field-level security Available in: both Salesforce
settings, the field-level security overrides the page layout and the field is read-only for the user. Classic and Lightning
1. Create custom fields. Experience

2. Create any custom buttons or links. Page layouts and search


3. If you’re in a Personal, Contact Manager, or Group Edition org, skip to step 8. layouts available in: All
Editions
4. Create any custom profiles.
Field-level security available
5. Create record types for different business scenarios. in: Professional, Enterprise,
6. Assign which record types are available to users with different profiles. Performance, Unlimited,
and Developer Editions
7. Set the field-level security for each profile to restrict users’ access to specific fields.
8. Define page layouts to organize your pages.
USER PERMISSIONS
9. Set the related objects and the mini page layouts that display in the console.
10. Assign page layouts to users based on profiles and record types. To view field accessibility:
• View Setup and
This step isn’t applicable for Personal, Contact Manager, and Group Editions. In Personal, Contact
Configuration
Manager, and Group Edition orgs, all users automatically use the same page layout for each
object.

11. To verify that all field access settings are correct, check the field accessibility grid.
This step isn’t applicable for Personal, Contact Manager, and Group Editions.

12. Define search layouts. All users use the same search layouts.

Tip: Click Preview while editing a page layout to see how the page looks for users with different profiles. This preview includes
any extra security that is set in field-level security.

SEE ALSO:
Field-Level Security

15
Extend Salesforce with Clicks, Not Code Page Layouts

Page Layouts
Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce, custom
EDITIONS
links, and related lists on object record pages. They also help determine which fields are visible,
read only, and required. Use page layouts to customize the content of record pages for your users. Available in: both Salesforce
Page layouts can include s-controls and Visualforce pages that are rendered within a field section Classic and Lightning
when the page displays. You can control the size of the s-controls and Visualforce pages, and Experience
determine whether a label and scroll bars display.
Page layouts available in: all
Salesforce has two drag-and-drop tools for editing page layouts: the original page layout editor editions
and an enhanced page layout editor. The enhanced page layout editor is enabled by default, and
Creation and deletion of
provides all the functionality of the original editor, as well as additional functionality and an
page layouts available in:
easier-to-use interface.
Professional, Enterprise,
You can enable the original page layout editor in the User Interface settings. Your Salesforce org Performance, Unlimited,
can use only one page layout editor at a time. and Developer Editions
From within a page layout, you can access a mini page layout. The mini page layout defines the
hover details that display when you mouse over a field on an object’s detail page in the Agent
console or in the Recent Items section of the sidebar in Salesforce Classic.
Salesforce automatically creates a default page layout when you create a custom object. If you don’t use any page layout with your
custom object, you can still interact with it by using the Lightning Platform API to manage custom data or build a custom user interface.

Create Page Layouts


With the enhanced page layout editor, you can tailor record page layouts to the needs of your users.
The Enhanced Page Layout Editor
The enhanced page layout editor is a tool for customizing your page layouts in Salesforce, the Self-Service Portal, and the Salesforce
Customer Portal. The enhanced page layout editor has all the functionality of the original page layout editor, but has more features
and an easier-to-use interface.
Assign Page Layouts to Profiles or Record Types
After defining page layouts, assign which page layouts users see. A user’s profile determines which page layout he or she sees. In
addition, if your organization is using record types for a particular object, the combination of the user’s profile and the record type
determine which page layout is displayed when a user views records for that object.
Edit Multi-Line Layouts for Opportunity Products
Customize the columns that display when users add or edit items in the Products related list of an opportunity detail page.
Configure Fields on Multi-Line Layouts for Opportunity Products
Before you can add a field to the Opportunity Product multi-line layout, the field must be visible on the Opportunity Product page
layout. You make the field visible via the Product related list on an Opportunity object page layout.
Customize Related Lists
You can customize the buttons, columns displayed, column order, and record sort order of related lists on record detail pages in
Salesforce and the Salesforce Customer Portal.
Customize Standard and Custom Buttons on Page Layouts
When customizing page layouts, you can control which standard and custom buttons are displayed and the order in which the
custom buttons appear.
How Page Layout Elements Display in Lightning Experience
When you customize your page layouts in Salesforce Classic, those changes can affect the content of object record pages in Lightning
Experience. However, in Lightning Experience, the page elements display differently and some aren’t supported.

16
Extend Salesforce with Clicks, Not Code Page Layouts

Page Layout Tips


Here are a few tips to keep your page layouts organized and easy to use.
Page Layout Considerations
Keep these considerations in mind when working with page layouts in the enhanced page layout editor.
Page Layout Limitations
Keep these limitations in mind when working with page layouts in the enhanced page layout editor.
How Page Layouts Work in the Salesforce Mobile App
Use the enhanced page layout editor to customize the layout of an object’s record detail pages, configure actions, and adjust which
fields and related lists appear in the Salesforce mobile app.
Manage Mobile Cards in the Enhanced Page Layout Editor
Add expanded lookups, components, and Visualforce pages to the Mobile Cards section of your page layout to have them show up
as mobile cards in the Salesforce mobile app.
Feed-Based Layouts in Salesforce Classic
Feed-based page layouts make it easier to work with records by providing two separate views: one for the record’s feed, and one
for its details, including related lists.
Salesforce Classic Home Tab Page Layouts
You can customize the Home tab in Salesforce Classic to include components such as sidebar links, a company logo, a dashboard
snapshot, or custom components that you create. A dashboard snapshot is a clipping of the top row of a dashboard’s components.
Just like other tabs, you can also assign different home page layouts to different users based on profile.
Customize Page Layouts with the Original Page Layout Editor
Use the original page layout editor to customize page layouts in Salesforce, the Self-Service Portal, and the Salesforce Customer
Portal.

SEE ALSO:
Ways to Control User Access to Fields
Customize Search Layouts
Trailhead: Customize Record Details with Page Layouts

Create Page Layouts


With the enhanced page layout editor, you can tailor record page layouts to the needs of your users.
EDITIONS
1. From the management settings for the object that you want to edit, go to Page Layouts.
Available in: Salesforce
2. Create a page layout in one of these ways.
Classic (not available in all
• Click New from the Page Layouts list page. orgs) and Lightning
• Clone an existing layout by clicking New from the Page layouts list page, then selecting a Experience
layout from the Existing Page Layout menu that you want to base the new layout on.
Available in: Enterprise,
• Clone an existing layout by using Save As inside the enhanced page layout editor. Performance, Unlimited,
and Developer Editions
3. Give the layout a name.

USER PERMISSIONS

To create page layouts:


• Customize Application

17
Extend Salesforce with Clicks, Not Code Page Layouts

4. Click Save.

SEE ALSO:
Customize Page Layouts with the Enhanced Page Layout Editor
Assign Page Layouts to Profiles or Record Types

The Enhanced Page Layout Editor


The enhanced page layout editor is a tool for customizing your page layouts in Salesforce, the
EDITIONS
Self-Service Portal, and the Salesforce Customer Portal. The enhanced page layout editor has all the
functionality of the original page layout editor, but has more features and an easier-to-use interface. Available in: both Salesforce
The enhanced page layout editor has two parts: a palette on the upper portion of the screen and Classic (not available in all
the page layout on the lower portion of the screen. The palette contains the user interface elements orgs) and Lightning
that you can add to your page layout, such as fields, actions, buttons, links, and related lists. Experience

Available in: All Editions

18
Extend Salesforce with Clicks, Not Code Page Layouts

With the enhanced page layout editor you can:


• Add custom console components, customize the Mini-Page Layout for record pages in Salesforce Classic, configure Multi-Line layouts
(on supported objects), and choose which objects appear in the mini view of the console.
• Customize the highlights panel on Salesforce Classic pages (2). This section isn’t used in Lightning Experience.
• Manage the quick actions that appear in the Salesforce Classic publisher (3) and in Lightning Experience and the Salesforce mobile
app (4). See Quick Actions.
• Add, remove, and reorder:
– Custom and standard buttons on the record page (5).
– Fields in the record details (6).
– Custom links.

19
Extend Salesforce with Clicks, Not Code Page Layouts

– Report charts.

• Customize the related lists that appear on record pages, including configuring related list buttons and selecting which fields display
on a related list. See Customize Related Lists.

Customize Page Layouts with the Enhanced Page Layout Editor


Tailor your page layouts to the needs of your users with the enhanced page layout editor. Add, remove, or reorder actions, buttons,
fields, and sections on a record’s detail page.
User Interface Elements for the Enhanced Page Layout Editor
This list describes the enhanced page layout editor user interface elements and how you can use them in your page layout. To add
elements, drag them from the palette to the layout. Valid drop locations show up in green. To remove elements, drag them off the
layout and back to the palette.
Standard Object Record Page Save Options on Page Layouts
With save options, you can make object-specific checkboxes appear on the edit pages for certain standard objects. Save options
trigger additional processes when a record is saved. You can also set the checkboxes to be selected by default.
Tips for Using the Enhanced Page Layout Editor
Keep these tips in mind when customizing page layouts in the enhanced page layout editor.

SEE ALSO:
Page Layouts

Customize Page Layouts with the Enhanced Page Layout Editor


Tailor your page layouts to the needs of your users with the enhanced page layout editor. Add,
EDITIONS
remove, or reorder actions, buttons, fields, and sections on a record’s detail page.
1. From the management settings for the object that you want to edit, go to Page Layouts. Available in: Salesforce
Classic (not available in all
2. Click on a layout’s row, and select Edit, or simply click the name of the layout.
orgs) and Lightning
3. Add items to the layout by clicking the element type in the palette and dragging an item in Experience
that category onto the layout.
Available in: Enterprise,
Performance, Unlimited,
and Developer Editions

USER PERMISSIONS

To create page layouts:


• Customize Application

20
Extend Salesforce with Clicks, Not Code Page Layouts

4. Remove an item by dragging it from the layout back to the palette, or hover over it and click the remove icon ( ).
5. Make a field ready-only or required by double-clicking it in the page layout and selecting the appropriate checkbox.
6. Save the layout.

SEE ALSO:
User Interface Elements for the Enhanced Page Layout Editor
Page Layout Tips

User Interface Elements for the Enhanced Page Layout Editor


This list describes the enhanced page layout editor user interface elements and how you can use
EDITIONS
them in your page layout. To add elements, drag them from the palette to the layout. Valid drop
locations show up in green. To remove elements, drag them off the layout and back to the palette. Available in: both Salesforce
Important: The Mobile Cards section of the page layout editor is no longer supported as of Classic and Lightning
Experience
Spring ’20. Items in the Mobile Cards section, such as components and expanded lookups,
no longer display in the Salesforce mobile app. For more information, see Mobile Cards Are Available in: All Editions
Not Available in the New Salesforce Mobile App in the Salesforce Spring ’20 release notes.

Analytics Assets
You can add and move an Analytics dashboard to any section on the page layout, except Mobile Cards.
For an Analytics dashboard element, use field mapping to map data fields in the dashboard to the object’s fields so that the dashboard
shows only the data that’s relevant for the record being viewed. For more about field mapping or filtering Analytics dashboards, see
Embed Analytics Dashboards in Lightning Pages or Embed Analytics Dashboards in Salesforce Classic Pages.

21
Extend Salesforce with Clicks, Not Code Page Layouts

Blank Spaces
You can find blank spaces in the Fields and the Custom Links categories of the page layout editor palette.
You can add and move blank spaces to any section on the page layout, except Mobile Cards. Use blank spaces to visually align and
distinguish elements on the page.

Note: If you use the original page layout editor to view a page layout that was created in the enhanced page layout editor, the
original page layout editor shows the blank spaces that you added. You can’t move or add blank spaces in the original page layout
editor, but you can remove them by dragging them to the box on the right.

Buttons
You can control which standard and custom buttons are displayed and the order in which the custom buttons appear. You can’t rearrange
standard buttons.
Standard and custom buttons are available as actions in the Salesforce mobile app and Lightning Experience.

Canvas Apps
For the Canvas Apps category to appear in the palette, set the canvas app location to Visualforce Page when you create the canvas app
in Salesforce.
If you add a canvas app to any section other than the Mobile Cards section, the canvas app appears in the page layout in the full Salesforce
site.
Canvas apps added as mobile cards don’t appear in the Salesforce mobile app. To have a canvas app appear on a mobile record page,
add it to the page as a component using the Lightning App Builder.

Components and Expanded Lookups


Components and expanded lookups added as mobile cards don’t appear in the Salesforce mobile app. Expanded lookups are no longer
supported in mobile as of Spring ’20.
To have a News or Twitter component appear on a mobile record page, add it to a Lightning page using the Lightning App Builder.

Fields
A field can display one or more of these icons:
• The field must have a value to save the record, but isn’t required on the page layout itself.
• The field must be included on the page layout because an administrator configured the field as universally required or Salesforce
automatically requires the field. Although you can’t remove such fields, you can move them to different locations.
• The field is a controlling field.
• The field is a dependent field.
• The field is read-only.
To set which fields are required and read-only, select one or more fields and click on any selected field.
• You can’t change the field properties of some standard fields. You can change custom fields only if they aren’t universally required
fields.
• Administrators and users with the Edit Read Only Fields permission can always edit fields marked as read-only.
• If you make a picklist field read-only, all new records contain the default value for that picklist.
• Auto-number fields are always read-only.

22
Extend Salesforce with Clicks, Not Code Page Layouts

• If you mark the opportunity Probability field as read-only, the Probability value is still updated when a user changes the Stage value
of an opportunity.
When working with fields:
• In Personal, Contact Manager, and Group Editions, page layouts control which fields users can access in related lists, list views, reports,
Connect Offline, email and mail merge templates, custom links, and when synchronizing data. In Professional, Enterprise, Unlimited,
Performance, and Developer Editions, field-level security controls this access. Field-level security settings override field properties
that you set on the page layout if the field-level security is more restrictive than the page layout setting.
• Users can import values into a field only if they have read and edit access. User permissions, page layout assignments, and field-level
security settings determine field access.

Mobile & Lightning Actions


The items in this category of the page layout editor palette are a mixture of different types of actions, such as global quick actions,
object-specific actions, custom actions, and Chatter actions like Post and Poll.
All of the items in this category are supported for Lightning Experience. Add items from this category to the Salesforce Mobile and
Lightning Experience Actions section.
Actions in Lightning Experience display in different places on a record page, such as the highlights panel, Activity tab, and the Chatter
tab. Where they appear depends on their type.
In the Salesforce mobile app, actions of all types appear in the action bar, the action bar’s action menu, and as list-item actions.
For more information, see Actions in Lightning Experience and How Page Layouts Work in the Salesforce Mobile App.

Quick Actions
This category of the page layout editor palette contains standard and custom quick actions that are supported for Salesforce Classic. In
Salesforce Classic, quick actions appear in the Chatter publisher when Chatter Settings are enabled. Some actions work in Salesforce
Classic and Lightning Experience, so they appear in both categories.
When customizing a page layout for Salesforce Classic record pages, drag actions from here into the Quick Actions in the Salesforce
Classic Publisher section.
Mobile smart actions appear as a single action element in the page layout editor. In the Salesforce mobile app, the Mobile Smart Actions
element expands to distinct create actions that enable users to create records directly from the action bar. The create actions included
in the set of mobile smart actions vary depending on the page layout’s object.

Note: If you delete an action, the action is removed from all layouts that it’s assigned to.

Related Lists
A page layout can have up to 100 related lists. You can place related lists at the bottom of the page layout. To move a related list on the
page layout, drag the handle located above the related list.
To customize a related list, double-click the related list handle or click inside the handle. Use the related list properties to:
• Specify which fields display as columns on the related list, the order in which they appear, and the sort order of the records in the
related list. In Professional, Enterprise, Unlimited, and Performance Editions, you can also opt to apply the column information to
other page layouts for the same type of object.
• Specify which standard and custom buttons appear on the related list.
When working with related lists on page layouts, note that:

23
Extend Salesforce with Clicks, Not Code Page Layouts

• Some related lists aren’t customizable because they link to data rather than store it. Related lists that aren’t customizable are indicated
on the page layout.
• You can’t add related lists to the page layouts for the User object.
• In Professional, Enterprise, Unlimited, Performance, and Developer Editions, individual users can customize which related lists display
for their personal use. Administrators can overwrite these user customizations and apply the related list configuration in the page
layout to all users, even if they already customized their display. To overwrite users’ related list customizations, click Yes on the
Overwrite Users’ Customized Related Lists window, which appears when saving a page layout if you moved or added a related list.

Report Charts
Report charts are supported in Salesforce Classic and Lightning Experience.

S-Controls
A page layout can have up to 20 s-controls.
To change the properties of an s-control, double-click the s-control or click its wrench icon ( ), and then set these attributes.
• Width sets the horizontal size in pixels or a percent.
• Height sets the vertical size in pixels.
• Show scrollbars determines whether the iFrame in which the s-control displays contains scroll bars when necessary.
• Show label determines whether the page layout includes the Label of the custom s-control. Remove the label to display the s-control
in a wider area.
S-controls aren’t supported in Lightning Experience.

Sections
You can add and move sections anywhere above the related lists on the page layout. The sections you add can contain fields, s-controls,
and blank spaces. In addition, each page layout has a default section that can only contain custom links and blank spaces. You can
change the location of the custom link section, but you can’t remove it from the page.
The Section user interface element is the second option in the palette when you select the Fields or Custom S-Controls category on the
palette.
To change the attributes of a section, double-click the section or select its associated wrench icon ( ). You can:
• Enter a name for the section. Names of some standard page sections can’t be changed.
• Specify whether the section has one or two columns.
• Specify the order in which users can tab through the items in that section.
• Specify whether the section heading is shown on the detail and edit pages.

Tags
If tags are enabled, click Layout Properties, and configure personal and public tags in the header section of the page layout. Users can’t
tag a record if personal or public tags aren’t included in the header section. Also, the positioning of personal and public tags in the header
can’t be modified.
Tags aren’t supported in Lightning Experience.

24
Extend Salesforce with Clicks, Not Code Page Layouts

Visualforce Pages
You can add Visualforce pages to any section on the page layout, except for sections reserved for custom links and related lists. A page
layout can have up to 20 Visualforce pages.
You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set to the object for which
you’re creating the page layout. If you don’t have any Visualforce pages with a standard controller set to that object, the Visualforce
Pages category doesn’t appear in the palette.
Visualforce pages added as mobile cards in the page layout editor don’t appear in the Salesforce mobile app. To have a Visualforce page
appear on a mobile record page, add it to the page as a Visualforce component using the Lightning App Builder.

SEE ALSO:
Page Layout Considerations
Page Layout Limitations
The Enhanced Page Layout Editor

Standard Object Record Page Save Options on Page Layouts


With save options, you can make object-specific checkboxes appear on the edit pages for certain
EDITIONS
standard objects. Save options trigger additional processes when a record is saved. You can also
set the checkboxes to be selected by default. Available in: Salesforce
To configure how Salesforce displays the checkboxes, when customizing the page layout in the Classic and Lightning
enhanced page layout editor, click Layout Properties. Experience

Use the Select by default option associated with a checkbox if you want Salesforce to automatically Available in: All Editions
select the option when a user accesses the edit window.
If both Show on edit page and Select by default are selected, the save option checkbox is selected
by default, but users can deselect it to disable the option.

Object Available Save Options

Account “Evaluate this account against territory rules on save” checkbox —Displays the Evaluate
this account against territory rules on save checkbox on account edit pages. Available
only if Enterprise Territory Management is enabled for your org.
Territory assignment rules run automatically when the Default checkbox is selected.

Case • Case Assignment Checkbox— Displays the Assign using active assignment rules
checkbox on case edit pages.
Case assignment rules run automatically when the Default checkbox is selected.

• Email Notification Checkbox — Displays the Send notification email to contact


checkbox on case edit pages.

Case Close • Solution information section — Displays the solution information section on the case
close edit pages.
• Notify contact checkbox — Displays the Notify Contact checkbox on case close edit
pages.

25
Extend Salesforce with Clicks, Not Code Page Layouts

Lead Lead Assignment Checkbox— Displays the Assign using active assignment rule checkbox
on the lead edit page.
Lead assignment rules run automatically when the Default checkbox is selected.

Person Account Evaluate this account against territory rules on save — Displays the Evaluate this account
against territory rules on save checkbox on person account edit pages.
Territory assignment rules run automatically when the Default checkbox is selected.

Task Email notification — Displays the Send Notification Email checkbox on the task edit page.
A user’s personal preference for defaulting the state of the checkbox takes precedence over
the org-wide setting.

Example: The save options from page layouts appear in the footer of the edit window in Lightning Experience. In this case, the
“Evaluate this account against territory rules on save” checkbox option was enabled on the account page layout. When
users edit an account record, they now see the checkbox in the edit window.

SEE ALSO:
Customize Page Layouts with the Enhanced Page Layout Editor
The Enhanced Page Layout Editor
Page Layouts

26
Extend Salesforce with Clicks, Not Code Page Layouts

Tips for Using the Enhanced Page Layout Editor


Keep these tips in mind when customizing page layouts in the enhanced page layout editor.
EDITIONS
• To select multiple elements individually, use Ctrl+click. To select multiple elements as a group,
use Shift+click. Available in: Salesforce
• To change the properties of an element on the page layout, double-click the element or click Classic and Lightning
the wrench icon ( ) next to it. You can’t change the properties of elements in the palette. Experience

• To make a field read-only or required, double-click the field in the page layout and select the Available in: All Editions
appropriate checkbox.
• To access the other layouts for an object with multiple page layouts, click the page layout name
at the top of the page and select another layout to view.
• To change the name of the page layout, add personal and public tags if available, and display standard object checkboxes, click
Layout Properties.

Note: You can’t rename a page layout if you’re using Salesforce Professional Edition.

• In Enterprise, Unlimited, Performance, and Developer Editions, you can select a profile to preview how the pages look for users with
that profile. Most related lists’ columns preview without data.
• If you’re working with a feed-based page layout, click Feed View to customize the tools and components that appear when users
are working in the feed on a record.
• To choose which fields display on the record detail page and the order in which they appear, click Edit Multi-Line Layout.
• Multi-line layout is available only for page layouts on certain objects, including Opportunity Product, Opportunity Split, Order Product,
Contract Line Item, and Sales Agreement Product. If you don’t see the Edit Multi-Line Layout link in the page layout editor on an
object layout, then multi-line layout isn’t supported for that object.
• The mini page layout defines the hover details that display when you mouse over a field on an object’s detail page, in the Agent
console, or in the Recent Items section of the sidebar in Salesforce Classic.
• When you’re done customizing the page layout, save it. If you navigate away from your page layout before saving, you lose your
changes.

SEE ALSO:
Page Layout Considerations
Page Layout Limitations
Tips for Optimizing Page Layouts for the Salesforce Mobile App
The Enhanced Page Layout Editor

27
Extend Salesforce with Clicks, Not Code Page Layouts

Assign Page Layouts to Profiles or Record Types


After defining page layouts, assign which page layouts users see. A user’s profile determines which
EDITIONS
page layout he or she sees. In addition, if your organization is using record types for a particular
object, the combination of the user’s profile and the record type determine which page layout is Available in: Salesforce
displayed when a user views records for that object. Classic and Lightning
You can assign page layouts from: Experience

• The object's customize page layout or record type page Page layouts are available
• The original or enhanced profile user interface. in: All Editions

1. From the management settings for the appropriate object, go to Page Layouts or Record Types. Record types are available
in: Professional, Enterprise,
2. Click Page Layout Assignment.
Performance, Unlimited,
3. Click Edit Assignment. and Developer Editions
4. Use the table to specify the page layout for each profile.
The table displays the page layout assignments for each profile. If your organization uses record USER PERMISSIONS
types, a matrix displays a page layout selector for each profile and record type.
To assign page layouts:
When selecting page layout assignments: • Manage Profiles and
• Click a cell, column, or row heading to select all the table cells in that column or row. Permission Sets
• Press SHIFT+click to select multiple adjacent table cells, columns, or rows.
• Press CTRL+click to select multiple nonadjacent table cells, columns, or rows.
• Click any cell and drag to select a range of cells.
• Click Next or Prev to view another set of record types.
Selected page layout assignments are highlighted. Page layout assignments you change are italicized until you save your changes.

5. If necessary, select another page layout to assign from the Page Layout To Use drop-down list and repeat the previous step for the
new page layout.
6. Click Save.

Note: To verify that users have the correct access to fields based on the page layout and field-level security, you can check the
field accessibility grid. From Setup, enter Field Accessibility in the Quick Find box, then select Field Accessibility.
From this page, choose a particular object to view and then select whether you want to check access by profiles, record types, or
fields.

SEE ALSO:
Page Layouts
Assign Record Types and Page Layouts in Profiles
Assign Record Types and Page Layouts in the Enhanced Profile User Interface
Tailor Business Processes to Different Record Types Users
Ways to Control User Access to Fields

28
Extend Salesforce with Clicks, Not Code Page Layouts

Edit Multi-Line Layouts for Opportunity Products


Customize the columns that display when users add or edit items in the Products related list of an
EDITIONS
opportunity detail page.
In Salesforce Classic, the Multi-Line Layout columns appear when you click Edit All from the Products Available in: Lightning
related list on an opportunity detail page. Experience and Salesforce
Classic (not available in all
In Lightning Experience, the Multi-Line Layout columns appear on the Edit All Products window
orgs)
that appears when you click Edit Products or Add Products > Next from the Products related
list on an opportunity record page. Available in: Professional,
Enterprise, Performance,
Note: Multi-line layout is available only for page layouts on certain objects, such as Unlimited, and Developer
Opportunity Product, Opportunity Split, Order Product, Contract Line Item, and Sales Editions
Agreement Product. If you don’t see the Edit Multi-Line Layout link in the page layout editor
on an object layout, then multi-line layout isn’t supported for that object.
USER PERMISSIONS
1. From the object management settings for Opportunity Product, go to Page Layouts.
2. Next to the name of an Opportunity Product page layout, click Edit. To edit multi-line layouts for
opportunity products:
3. Click Edit Multi-Line Layout. • Customize Application
4. Move fields between Available Fields and Selected Fields.

Note: The Product and Quantity fields are required and can’t be removed from the layout.

5. Click Save.

SEE ALSO:
Configure Fields on Multi-Line Layouts for Opportunity Products
The Enhanced Page Layout Editor
Page Layouts

Configure Fields on Multi-Line Layouts for Opportunity Products


Before you can add a field to the Opportunity Product multi-line layout, the field must be visible
EDITIONS
on the Opportunity Product page layout. You make the field visible via the Product related list on
an Opportunity object page layout. Available in: Lightning
1. From the object management settings for Opportunity, go to Page Layouts. Experience and Salesforce
Classic (not available in all
2. Next to the name of an Opportunity page layout, click Edit.
orgs)
3. Scroll down to the Related Lists section.
Available in: Professional,
4. On the Products related list, click the wrench icon ( ). Enterprise, Performance,
5. Move fields between Available Fields and Selected Fields. Unlimited, and Developer
Editions
Note: The fields in the Selected Fields area become the list of column options available
when you configure multi-line layouts for Opportunity Products on page 29.
USER PERMISSIONS
6. Click OK.
To edit multi-line layouts for
opportunity products:
• Customize Application

29
Extend Salesforce with Clicks, Not Code Page Layouts

7. Save the page layout.

SEE ALSO:
The Enhanced Page Layout Editor
Page Layouts

Customize Related Lists


You can customize the buttons, columns displayed, column order, and record sort order of related
EDITIONS
lists on record detail pages in Salesforce and the Salesforce Customer Portal.
1. From the management settings for the object you want to edit, go to Page Layouts. Available in: both Salesforce
Classic and Lightning
2. Click on a layout’s row in the list view, and select Edit, or click the name of the layout.
Experience
3. To edit a related list, double-click its tab. If you’re using the enhanced page layout editor, you
can also click . Available in: All Editions
except Database.com
A related list configuration window appears.

USER PERMISSIONS

To customize related lists:


• Customize Application

30
Extend Salesforce with Clicks, Not Code Page Layouts

Note: You can’t customize the History related list because it links to data stored elsewhere.

4. Select the fields to include in the related list, define the order to display the fields, and select the record sort order.
The default sort order is by record ID. You can include up to 10 fields per related list. To display more than four fields in Lightning
Experience, edit the related list component in the Lightning App Builder and choose Enhanced List as the related list type.

5. If desired, select other page layouts to apply your related list customizations to.
Only layouts that include this related list appear in the list. Layouts that include related lists with the same customizations as the
current layout had when you opened it are selected by default.

6. If you have quick actions or custom list buttons configured for the related list’s object, from the Buttons section header, click + to
customize which standard buttons, custom buttons, and quick actions appear on the related list.

31
Extend Salesforce with Clicks, Not Code Page Layouts

The quick action or custom button must be defined for the object contained in the related list. For example, to display a quick action
on the Contacts related list of an account, define the quick action for contacts, not accounts. For custom buttons, the button Type
must be List Button.

7. If necessary, click Revert to Defaults to undo any customizations and use the default Salesforce settings in the related list.
8. To store your customizations, click OK.
The related list changes aren’t saved until you save the page layout.

9. Save the page layout.


If you add, move, or remove related lists from the layout, then click to save the page layout, you have the option to apply those
related list changes to all users, even if they already customized their display. This action isn’t reversible.

To update the related list type, move the related list on the record page, and more, select the related list on the record page in the
Lightning App Builder. To further customize the list or to reorder the list’s actions from the Lightning App Builder, upgrade to the Dynamic
Related List - Single component.

Note: From the User Interface settings in Setup, you can also enable related list hover links so that record detail pages include
links for each related list at the top of the page. Users can hover over the link to display the corresponding related list in an interactive

32
Extend Salesforce with Clicks, Not Code Page Layouts

overlay to view and manage the related list items. Users can also click the link to jump to the content of the related list without
scrolling down the page.

SEE ALSO:
Page Layout Limitations
Page Layout Tips
Ways to Control User Access to Fields
Knowledge Article: Unable to Edit a Related List

Customize Standard and Custom Buttons on Page Layouts


When customizing page layouts, you can control which standard and custom buttons are displayed
EDITIONS
and the order in which the custom buttons appear.
1. From the management settings for the object whose page layout you want to customize, go Available in: both Salesforce
to Page Layouts. Classic and Lightning
Experience
2. Click Edit next to the page layout you want to customize.
3. Add, remove, or reorder the buttons on the layout. Available in: All Editions

This process is different depending on which editor you’re using.


• In the enhanced page layout editor, select the Buttons category on the palette and drag
USER PERMISSIONS
one or more buttons from the palette to the buttons section on the page layout. To remove To customize detail page
a button, drag it from the layout back to the palette. buttons:
• In the original page layout editor, double-click the Detail Page Buttons item in the Button • Customize Application
Section.

4. Save the page layout.

Note: Standard and custom buttons are also considered actions. In Lightning Experience, buttons are displayed along with quick
actions in different places on a record page depending on the button type. See Actions in Lightning Experience.

SEE ALSO:
Customize Page Layouts with the Enhanced Page Layout Editor
Provide Actions, Buttons, and Links
Override Standard Buttons and Tab Home Pages
Define Custom Buttons and Links

33
Extend Salesforce with Clicks, Not Code Page Layouts

How Page Layout Elements Display in Lightning Experience


When you customize your page layouts in Salesforce Classic, those changes can affect the content
EDITIONS
of object record pages in Lightning Experience. However, in Lightning Experience, the page elements
display differently and some aren’t supported. Available in: Lightning
Here’s a sample contact record in Lightning Experience. The highlights panel (1) contains key record Experience
fields and is the only part of a record page that you can’t customize using the page layout editor.
Page layouts are available
The fields in the highlights panel are customized using a compact layout.
in: All Editions

Creation and deletion of


page layouts is available in:
Enterprise, Performance,
Unlimited, and Developer
Editions

These page layout elements are supported in Lightning Experience.


Actions
Actions display in different places, such as the highlights panel (1), Activity tab (2), and the Chatter tab (3). The actions are derived
from the list of actions in the Salesforce Mobile and Lightning Experience Actions section of the page layout. Some actions aren’t
supported in Lightning Experience.
For more information, see Actions in Lightning Experience.
Blank Spaces
Blank spaces are supported in Lightning Experience.
Canvas Apps
Canvas apps are supported in Lightning Experience.
Custom Links
Custom links display under the Details tab (4).

34
Extend Salesforce with Clicks, Not Code Page Layouts

Fields
On pages that don’t use Dynamic Forms, fields from the page layout display in a block under the Details tab (4). You can remove or
reorder fields on a page layout only via the page layout editor.
On Dynamic Forms-enabled pages, fields can be put almost anywhere on the page, using the Lightning App Builder. A page layout
defines which fields are available for use on the page, but the organization of the fields is done in the Lightning App Builder. See
Break Up Your Record Details with Dynamic Forms.
The top-down tab-key order, which allows users viewing a record detail page to move through a column of fields from top to bottom
before moving focus to the top of the next column of fields, isn’t supported in Lightning Experience. Even if a page layout is configured
for a top-down tab-key order, tabbing moves from left-to-right through field columns in Lightning Experience.
Related Lists
Related lists are included as Lightning components in Lightning Experience, and they appear in the Related tab (5). Not all related
lists are supported in Lightning Experience.
In Lightning Experience, the related list type determines how many fields are displayed in a related list. The Basic List related list type
displays only the first four fields of a related list. The Enhanced List type shows up to 10 fields, lets you resize and sort columns,
perform mass actions, and wrap text. To change the related list type, customize the Related List–Single component or the Related
Lists component in the Lightning App Builder.
Report Charts
Report charts that you add to a page layout appear under the Details tab (4) in Lightning Experience. When you add a report chart
to a page layout, it can take a few moments before the chart appears on Lightning record pages.
Sections
On pages that don’t use Dynamic Forms, sections appear along with fields under the Details tab (4). A section with no header is
incorporated into the section above it.
On Dynamic Forms-enabled pages, sections can be put almost anywhere on the page using the Lightning App Builder. See Break
Up Your Record Details with Dynamic Forms.
A section with no header is incorporated into the section above it.
The Detail Page visibility setting controls whether the section header appears for both the detail page and the edit page. If the section
header is set to display (or hide) on the detail page, the header also displays (or hides) on the edit page.
Standard and Custom Buttons
Standard and custom buttons are treated as actions in Lightning Experience, just like in the Salesforce mobile app. Buttons can
appear in various places on a Lightning page, depending on the button type and the page type. See Actions in Lightning Experience.

Important: Custom buttons that call JavaScript aren’t supported in Lightning Experience.

Visualforce Pages
Visualforce pages that you added to the page layout appear under the Details tab (4). Only Visualforce pages with Available for
Lightning Experience, Experience Builder sites, and the mobile app enabled display in Lightning Experience on Lightning
pages, utility bars, and the Salesforce mobile app.
These page layout elements aren’t supported in Lightning Experience.
• Expanded lookups
• Mobile cards
• S-controls
• Section header visibility for Edit Page
• Tags

35
Extend Salesforce with Clicks, Not Code Page Layouts

Note: The Lightning App Builder is used to customize the layout of Lightning Experience record home pages, not the enhanced
page layout editor.

SEE ALSO:
User Interface Elements for the Enhanced Page Layout Editor
Customize Buttons on the Tabbed Activity Composer
Custom Record Page Settings

Page Layout Tips


Here are a few tips to keep your page layouts organized and easy to use.
EDITIONS
• Use field-level security to restrict users’ access to fields; then use page layouts to organize detail
and edit pages within tabs. This reduces the number of page layouts for you to maintain. Available in: both Salesforce
Field-level security settings override the visible and read-only settings on the page layout if the Classic and Lightning
field-level security has a more restrictive setting than the page layout. Experience
• Remove unnecessary fields. Page layouts available in: all
• Keep the number of required fields to a minimum. editions
• Group similar fields with sections. Creation and deletion of
• Think about the right TAB key order for each section. page layouts available in:
Professional, Enterprise,
• Check your layouts in Read and Edit modes.
Performance, Unlimited,
• Add help and description text to custom fields. Use it to explain to users what data you’re and Developer Editions
looking for in the field.
• In Professional, Enterprise, Performance, Unlimited, and Developer Editions, use record types
to provide unique layouts for different records.
• Optimize related lists—adjust their overall order, the sorting of the records, and display of relevant columns and buttons.
• If you want to customize the user profile layout in the Salesforce mobile app, create a new layout or edit an existing layout in the
User Profile Page Layouts section.
• If a dependent lookup is above its controlling field on a page layout, make its lookup filter optional or redesign the page layout.
Placing a required dependent lookup above its controlling field on a page layout could confuse users who typically start from the
top of the page when entering data.
• A background process periodically runs that cleans up metadata associated with deleted custom fields. This process will affect the
Last Modified Date and Last Modified By fields on page layouts, record types, and custom objects.
• Salesforce recommends creating no more than 200 page layouts. Although there is no limit, it can be difficult to manage your page
layouts if you have more than 200.

36
Extend Salesforce with Clicks, Not Code Page Layouts

Page Layout Considerations


Keep these considerations in mind when working with page layouts in the enhanced page layout
EDITIONS
editor.
Available in: both Salesforce
Usage Considerations Classic and Lightning
Experience
Layout changes made by administrators for record pages don't appear immediately in Lightning
Experience. The record page displays the updated layout about 15 minutes later when you reload Page layouts available in: all
the page. editions

To see your changes immediately, log out and log back in. Other users don't see the change until Creation and deletion of
up to one hour later when they reload the page. This behavior applies to record pages for these page layouts available in:
objects. Professional, Enterprise,
Performance, Unlimited,
• Account and Developer Editions
• Case
• Contact
• Lead
• Opportunity
• Custom objects
This behavior also applies to record layouts updated through the page layout editor, compact layouts, and Lightning pages. For example,
the layout is changed when you add a custom field to an object and add that field to the page layout.
For changes to a Lightning page, such as via the Lightning App Builder, administrators continue to see their changes immediately after
a page reload. However, other users and other browsers don’t see the change up to one hour later when they reload the page. To see
the changes immediately, users can log out and log back in.

Page Layouts
• For Personal, Contact Manager, Essentials, and Group Edition orgs, every user views the same layout. Professional, Enterprise, Unlimited,
Performance, and Developer Edition orgs can create different page layouts for use by different profiles and record types and set
field-level security settings to further restrict users’ access to specific fields.
• In Professional, Enterprise, Performance, Unlimited, and Developer Editions, you can set the mini page layouts and related objects
that appear in the Console tab.
• Elements that are already on the page layout still appear on the palette but are inactive. When you click an inactive element on the
palette, Salesforce highlights the element on the page layout.
• Removing a field from a page layout doesn’t remove it from the object’s compact layout. The two layout types are independent.
• If the original page layout editor is enabled, users can click the page layout name to access the detail page of the page layout. The
enhanced page layout editor doesn’t have detail pages, as all the detail page functionality is always available on the enhanced editor.
Salesforce displays a read-only version of the enhanced page layout editor to users with the “View Setup and Configuration” permission.

Note: The read-only view of the page layout doesn’t display field types and lengths in hover details.

• The Custom Links, Custom S-Controls, and Visualforce Pages categories appear in the palette only if you’ve defined those types of
elements for the object for which you’re defining a page layout. When you create a custom link for an object, you add it to the
Custom Links section on that object’s page layout. In non-English Salesforce orgs, the “Custom Links” section title isn’t translated
from English automatically for the Territory and Territory Model objects, but you can edit the section title.
• The Canvas Apps category appears in the palette only if you defined at least one canvas app with a location of Visualforce Page.

37
Extend Salesforce with Clicks, Not Code Page Layouts

• The Components category appears in the palette only if the available components are supported by the object for which you’re
defining a page layout. For example, the Twitter component is supported only on account, contact, and lead page layouts.
• When you edit an account page layout for use in Salesforce Classic, the following applies:
– On business accounts, you can display a Copy Billing Address to Shipping Address link. On the page layout, in the Address
Information section, select the option to display the section header on the Edit page. Next to the Billing Address field, add the
Shipping Address field.
– You can also display a link on person accounts. On the page layout, in the Address Information section, select the option to
display the section header on the Edit page. Next to the Billing Address field, add the Shipping Address or the Mailing Address
field. The link says Copy Billing Address to Shipping (or Mailing) Address.
– Contact fields and related lists are available on person account page layouts, but contact custom links and custom buttons aren’t.

• Currently, you can't change the location of Chatter feeds. However, in Salesforce Classic, users can click the Hide Chatter link
in a Chatter feed to hide the feed, and the Show Chatter link to show the feed.
• Changes to user layouts override the global publisher layout on user profile pages and the Chatter home page.

Mini Page Layouts


• In Professional, Enterprise, Performance, Unlimited, and Developer Editions, you can set the mini page layouts and related objects
that appear in the Console tab.
• Field properties on the page layout determine field properties on the mini page layout. For example, if a field is read-only on the
page layout, that same field is read-only on the mini page layout. To change the field properties of fields on the mini page layout,
you must change the field properties of fields on the page layout.
• Overrides for the Edit and View buttons for an object don’t affect the Edit and View buttons in mini page layouts.
• Fields marked Always Displayed or Always on Layout on page layouts are automatically included on the mini page
layout and can’t be removed unless they’re removed from the page layout.

Knowledge Layouts
• Authoring actions that you add to the Salesforce Mobile and Lightning Experience Actions section of the page layout appear in the
highlights panel on record pages in Lightning Experience and the Salesforce mobile app.
• To use inline edit with Knowledge, add the Publication Status field to your standard page layout. The Publication Status field must
be in the standard page layout, not in a compact layout. However, the field can appear in both the standard and compact layouts.

Tip: If the Publication Status field is in a collapsed layout section, you must expand the section to load the edit icons before
you can use inline editing. To increase the accessibility of inline editing, add the Publication Status field to a layout section
that is likely to always be open.

• The Title and URL Name standard fields are required. You can’t remove them from the layout.
• To control which audiences can view an article, add these fields to the page layout: Visible in Internal App; Visible to Customer; Visible
to Partner; and Visible in Public Knowledge base. The fields appear as checkboxes in the record.

SEE ALSO:
Tips for Using the Enhanced Page Layout Editor
Page Layout Limitations
User Interface Elements for the Enhanced Page Layout Editor

38
Extend Salesforce with Clicks, Not Code Page Layouts

Page Layout Limitations


Keep these limitations in mind when working with page layouts in the enhanced page layout editor.
EDITIONS

Page Layouts Available in: both Salesforce


Classic and Lightning
• If you’re using Salesforce Professional Edition, you can’t rename a page layout. Experience
• You can drag up to 20 s-controls, 20 Visualforce pages, 20 expanded lookups, and 100 related
Page layouts available in: all
lists onto a page layout. There are no limits on custom links.
editions
Note: You can’t place a Visualforce page more than one time on a page layout.
Creation and deletion of
page layouts available in:
• In Lightning Experience, page layouts support up to 55 lookup fields. In Salesforce Classic, page
Professional, Enterprise,
layouts support up to 40 lookup fields. Performance, Unlimited,
• Don’t add more than four external lookup fields to your page layout. On Lightning Experience and Developer Editions
record pages, a Record Detail component that contains more than four external lookup fields
breaks the page at runtime.
• You can add one dashboard per page layout.
• Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related lists,
custom buttons, and standard field customizations aren’t included on page layouts for the user object. Also, field-level security is
only available for custom fields on the user object. Only standard Chatter actions appear on the user profile page, regardless of which
actions are assigned to the User Page Layout or the global publisher layout.
• You can edit only certain attributes when you’re working with a page layout that was installed from a managed app. Some changes
that you make to managed page layouts, such as adding components, work when you’re editing the page layout but aren’t reflected
on the record detail page.
• Chatter group layout changes affect the Salesforce mobile app only. Changes to the group publisher (actions and layout) reflect in
both the full Salesforce site and the Salesforce mobile app.

• Custom fields installed from a managed package aren’t translated when they appear in the page layout editor.

Related Lists
• A page layout can have up to 100 related lists.
• The View All button only displays up to 2,000 items in a related list.
• You can’t add related lists to the page layouts for the User object.
• You can include up to 10 fields per related list.
• In Lightning Experience, the related list type determines how many fields are displayed in a related list. The Basic List related list type
displays only the first four fields of a related list. The Enhanced List type shows up to 10 fields, lets you resize and sort columns,
perform mass actions, and wrap text. To change the related list type, customize the Related List–Single component or the Related
Lists component in the Lightning App Builder.
• Users can’t drag documents to add them to Files or Notes & Attachments related lists when the related list type is Basic List.
• You can’t move the first field of a related list, because it’s a unique identifier for the record.
• You can add custom fields of the long text area type to a related list. However, you can’t add some standard fields of the long text
area type. For example, you can’t add the Description field on an Opportunity to a related list.
• The default sort order varies per record. The Sort By dropdown isn’t available for activities and opportunity products.
• Lookup fields aren’t available for display on their corresponding lookup related list. For example, the case lookup field on an account
page layout isn’t available when editing the cases related list.

39
Extend Salesforce with Clicks, Not Code Page Layouts

• You can’t customize the History related list because it links to data stored elsewhere.

Mini Page Layouts


• You can’t choose Mini Console View for the Close Case layout, Log a Case page, or View Cases page layouts on the Self-Service Portal.
You can’t choose Mini Console View for opportunity team page layouts.
• You can’t define mini page layouts for the Close Case layout, Log a Case page, or View Cases page layouts on the Self-Service Portal.
You can’t define mini page layouts for opportunity team page layouts.
• You can define mini page layouts for the user object; however, you can’t add standard fields or related lists. Also, a customized mini
page layout won’t display in the Agent console.

SEE ALSO:
Tips for Using the Enhanced Page Layout Editor
Page Layout Considerations

How Page Layouts Work in the Salesforce Mobile App


Use the enhanced page layout editor to customize the layout of an object’s record detail pages,
EDITIONS
configure actions, and adjust which fields and related lists appear in the Salesforce mobile app.
In the Salesforce mobile app, page layouts drive these areas of the mobile experience. Available in: both Salesforce
Classic and Lightning
• Record Related Information and Detail Pages—When you view a record in the mobile app, you
Experience
see the fields, Visualforce pages, and related lists that are based on the record type and the
user’s profile. Related lists show up as single-line cards containing the name of the page or Available in: All editions
related list. Tapping the related list card displays its details. except Database.com
• Actions—Actions in the Salesforce Mobile and Lightning Experience Actions section of a page
layout appear in the action bar and action menu on the object’s record pages.

40
Extend Salesforce with Clicks, Not Code Page Layouts

Example: Here are the record details, related lists, and action menu for a sample account, Edge Communications:

Tips for Optimizing Page Layouts for the Salesforce Mobile App
Here are some tips and tricks for making your existing page layouts more mobile-friendly.

Tips for Optimizing Page Layouts for the Salesforce Mobile App
Here are some tips and tricks for making your existing page layouts more mobile-friendly.
EDITIONS
Page layouts containing dozens of fields and lots of related lists might be manageable when viewing
records on a computer screen, but on a small mobile device, viewing that same record can be Available in: both Salesforce
overwhelming. People accessing information using a mobile device are looking for a quick way to Classic and Lightning
get what they need, and making your users sift through hundreds of fields and related lists just Experience
doesn’t make sense.
Available in: All editions
When optimizing a page layout, consider: except Database.com
• What are the important things to see at a glance?
• What are the important moments for your users when they’re working in the Salesforce mobile app?
• What actions or processes can you automate so that your users don’t have to manually do them?

41
Extend Salesforce with Clicks, Not Code Page Layouts

The Key: Organize and Minimize Fields


• Use sections to organize information logically, putting the most important things at the top of the page so they show up first. Your
users don’t want to search for fields individually. Organizing similar fields in sections will help your users find what they need. They
can then easily scroll down the page to the section they care about.
• For accounts, contacts, and leads, you don’t need to put phone or email fields near the top. They’re already quickly accessible via
the and icons on each record page’s action bar.
• You don't need to keep fields in one column, as the page renders dynamically. Salesforce for iOS or Android will reorder the fields
into a single column, while web browsers can show two columns.
• Put the most important fields into the compact layout—which drives record highlights and record preview cards in the mobile
app—so they’re available right up front, and so your mobile users don’t have to drill into the record detail.
• Keep the number of required fields to a minimum. Setting a field to required means it must appear on the detail page of all page
layouts, so consider whether each field is truly required. You might have to convince stakeholders that a field isn’t actually necessary
for a record to be saved.
• If available in your org, think about using record types so that fields that aren’t common to all records don’t have to appear on all
records.
• To reduce the number of fields on a screen, consider using default values for new records instead of having the user enter the data.

SEE ALSO:
How Page Layouts Work in the Salesforce Mobile App

Manage Mobile Cards in the Enhanced Page Layout Editor


Add expanded lookups, components, and Visualforce pages to the Mobile Cards section of your
EDITIONS
page layout to have them show up as mobile cards in the Salesforce mobile app.

Important: The Mobile Cards section of the page layout editor is no longer supported as of Available in: both Salesforce
Spring ’20. Items in the Mobile Cards section, such as components and expanded lookups, Classic and Lightning
Experience
no longer display in the Salesforce mobile app. For more information, see Mobile Cards Are
Not Available in the New Salesforce Mobile App in the Salesforce Spring ’20 release notes. Available in: All editions
except Database.com

Feed-Based Layouts in Salesforce Classic


USER PERMISSIONS
Feed-based page layouts make it easier to work with records by providing two separate views: one
for the record’s feed, and one for its details, including related lists. To create and edit page
layouts:
Available in: Enterprise, Performance, Unlimited, and Developer Editions • Customize Application

Feed-based layouts offer a more streamlined way of working with records, and don’t require users to scroll through information they’re
not interested in to find what they’re looking for. Users can easily switch back and forth between the feed view, which includes the
publisher and important events on the record, shown in chronological order, and the details view, which shows in-depth information
about the record, including related lists.
Unlike standard page layouts, which include all of a record’s information—the feed, details, and related lists—on one page, feed-based
layouts let you switch between the feed view and the details view so you can focus on the type of information you need at any given
moment. For example, to see comments others have made about a record or to create a record that’s related to it, you’d use the feed
view. To delve into the record’s related lists, attachments, and other in-depth information, you’d use the details view.

42
Extend Salesforce with Clicks, Not Code Page Layouts

Feed-based layouts are available on account, asset, case, contact, lead, opportunity, custom, and external objects. To create feed-based
layouts for cases, use Case Feed.

The feed view in these layouts includes:


• Tabs or, if you’re working in the Salesforce console, toggle buttons ( ) to switch between the feed view and the detail view.
(1)
• The publisher, which might include actions that let you do things like create related records or log calls, depending on how your
administrator has set up your organization. (2)
• The record feed, which shows activity on the record, such as comments others have made about it. (3)
• Any custom buttons and links your administrator has added. (4)
• A follow button or following indicator and a list of people who follow the record. (5)
Depending on how your administrator has set up the page, these might appear on the left side or on the right side.

• Feed filters, which let you choose which information from the feed you see. (6)
Depending on how your administrator has set up the page, the filters might appear on the left side of the page, in the center, or on
the right.

Detail views show in-depth information about the record, including related lists.

43
Extend Salesforce with Clicks, Not Code Page Layouts

Create Feed-Based Page Layouts in Salesforce Classic


Make it easier for your users to work with account, contact, lead, opportunity, custom, and external object records by creating
feed-based layouts. These layouts include two separate views: one for the record’s feed and one for its details.

Create Feed-Based Page Layouts in Salesforce Classic


Make it easier for your users to work with account, contact, lead, opportunity, custom, and external
EDITIONS
object records by creating feed-based layouts. These layouts include two separate views: one for
the record’s feed and one for its details. Available in: Salesforce
Before you begin, ensure that feed tracking is enabled for the object on which you want to create Classic (not available in all
a feed-based layout. To enable feed tracking, from Setup, enter Feed Tracking in the Quick orgs)
Find box, then select Feed Tracking. Available in: Group,
1. Create a new page layout and select Feed-Based Layout. Professional, Enterprise,
Performance, Unlimited,
Note: Only new page layouts can be feed-based; you can’t change an existing standard Contact Manager, and
layout to a feed-based layout. Developer Editions
2. Click Edit next to your layout and use the enhanced page layout editor to configure it.
You can’t configure feed-based layouts with the original page layout editor. USER PERMISSIONS

3. On the main page layout editor page, customize the publisher to include the actions you want To create, edit, and delete
to make available to users, and add any custom buttons or links. page layouts:
• Customize Application
4. Click Feed View in the page layout editor header to customize what appears on the feed page.
You can:
• Enable full-width feed so the feed expands horizontally when users view records in Salesforce console tabs or subtabs.

44
Extend Salesforce with Clicks, Not Code Page Layouts

• Turn on compact feed so users see a cleaner, more streamlined feed view when working with records in Salesforce console tabs
or subtabs.
• Choose to automatically collapse the publisher when it’s not in use so users can see more of the information below it on the
page.
• Add custom components, which are Visualforce pages with functionality you define.
• Choose where on the page custom buttons and links and standard components like the Follow button and followers list appear.
• Hide the standard sidebar.
• Choose which feed filters are available, and where they appear.

5. Assign the page layout to user profiles.

SEE ALSO:
Feed-Based Layouts in Salesforce Classic
Use Case Feed in Salesforce Classic
Feed Tracking
Enable Feed Updates for Related Records

Salesforce Classic Home Tab Page Layouts


You can customize the Home tab in Salesforce Classic to include components such as sidebar links,
EDITIONS
a company logo, a dashboard snapshot, or custom components that you create. A dashboard
snapshot is a clipping of the top row of a dashboard’s components. Just like other tabs, you can Available in: Salesforce
also assign different home page layouts to different users based on profile. Classic
You can add components to the sidebar or the main panel. You can also determine if custom sidebar
Available in: All Editions
components appear only on the Home tab or on all Salesforce pages.

Create Custom Home Page Components


Use custom components to configure the Salesforce Classic home page for your users. Add HTML, images, links, and more to enhance
your users’ productivity.
Design Home Page Layouts in Salesforce Classic
After creating the components you want displayed on the Home tab, design your home page layouts. You can design your layouts
based on your unique organizational and user needs.
Visualforce Area Home Page Components
Use Visualforce Area home page components to add dynamic content to your home page. For example, you can present content
from partner apps, display charts with the Reports and Dashboards REST API, or add a canvas app to the home page.
Home Page Components Tips and Considerations
Keep these considerations in mind when creating custom components that you want displayed on the Salesforce Classic Home tab.
Assign Home Tab Page Layouts to Profiles
Your home page layouts are only visible to users after you assign them to a user profile.

45
Extend Salesforce with Clicks, Not Code Page Layouts

Create Custom Home Page Components


Use custom components to configure the Salesforce Classic home page for your users. Add HTML,
EDITIONS
images, links, and more to enhance your users’ productivity.
Before you begin: Available in: Salesforce
Classic
• If you’re creating custom link components, define your Home tab custom links first. See Custom
Buttons and Links on page 722. Available in: All Editions
• If you’re creating an image component, upload your image to the Documents tab first.
• If you’re creating a Visualforce Area component, create your Visualforce page first. USER PERMISSIONS
1. From Setup, enter Home Page Components in the Quick Find box, then select Home
To create or change home
Page Components. page layouts:
2. Click New. • Customize Application
3. Enter a name for the component. For custom links, this name is displayed as the section heading
in the sidebar on the Home tab.
4. Choose the type of component.
5. Click Next, and then complete one or more of these steps.
• For links, select the appropriate custom links, and then click Add.
• For images, click Insert an image, choose the document folder, and then select the image file. The image file must be in a public
folder and Externally Available must be enabled on the document’s properties so that users can view the image.
Keep your image size smaller than 20 KB for optimum performance.

• For an HTML Area component, choose where to display it—in the wide or narrow column—and then enter your content in the
box below.
HTML Area home page components don’t support JavaScript, CSS, iframes, and some other advanced markup. To use JavaScript
or other advanced HTML elements in your home page component, we recommend that you use a Visualforce Area component
instead.

• For a Visualforce Area component, choose where to display it—in the wide or narrow column—then select the Visualforce page,
and assign it a height.

6. Click Save.
After creating the home page component, you need to add it to a home page layout. See Design Home Page Layouts in Salesforce
Classic on page 47.

Note: Components in the narrow column are displayed in the sidebar. They aren’t displayed in the sidebar on other pages in
Salesforce unless you specify that in your user interface settings or by assigning the Show Custom Sidebar On All Pages permission.

SEE ALSO:
Visualforce Area Home Page Components
Home Page Components Tips and Considerations

46
Extend Salesforce with Clicks, Not Code Page Layouts

Design Home Page Layouts in Salesforce Classic


After creating the components you want displayed on the Home tab, design your home page
EDITIONS
layouts. You can design your layouts based on your unique organizational and user needs.
1. From Setup, enter Home Page Layouts in the Quick Find box, then select Home Page Available in: Salesforce
Layouts. Classic
2. Click to edit an existing layout or create one. Alternately, select a layout to copy and click Clone. Available in: All Editions
3. If you create a layout, give it a name and then click Save.
4. Select the components to display on the layout. USER PERMISSIONS
• To add the Find Articles component, select Article Search. This component is only available To view home page layouts:
for Salesforce Knowledge users. • View Setup and
• To add the Customer Portal component, select Customer Portal Welcome. If the My Configuration
Profile site Visualforce page has been enabled, this component contains a personalized To create or change home
welcome message and a link to the portal user’s profile. The My Profile page enables users page layouts:
logged into either your Salesforce site, or your Customer Portal from Salesforce sites, to • Customize Application
update their own contact information. When they change this page, the corresponding
portal user and contact records are updated.
• To allow your users to resume flow interviews that they’ve paused, select Paused Flow Interviews. This component displays
only flow interviews that the user has paused.
You can add up to 20 components to a home page layout.

5. Click Next.
6. Customize the order in which the narrow and wide components appear. Move a component by selecting it and using the arrow
buttons.
7. Click Save.

SEE ALSO:
Assign Home Tab Page Layouts to Profiles
Salesforce Classic Home Tab Page Layouts

Visualforce Area Home Page Components


Use Visualforce Area home page components to add dynamic content to your home page. For
EDITIONS
example, you can present content from partner apps, display charts with the Reports and Dashboards
REST API, or add a canvas app to the home page. Available in: Salesforce
The Visualforce page that you choose for the component can use a standard or custom controller. Classic (not available in all
You can include JavaScript in your Visualforce page, but because the component is rendered in an orgs)
iframe on the home page layout, the JavaScript can’t interact with the page that contains the
Available in: All Editions
component.

Sample Usage
If your Visualforce Area home page component displays in the sidebar, you can dynamically get the record ID and top-level URL of the
page that the component is being displayed on by using the $CurrentPage global variable in your Visualforce markup.

47
Extend Salesforce with Clicks, Not Code Page Layouts

Using $CurrentPage, you can access the query string parameters for the page by specifying the parameters attribute, after
which you can access each individual parameter:

$CurrentPage.parameters.parameter_name

The parameters for record ID and top-level page URL are, respectively, id and sfdcIFrameOrigin. For more information, see
“Getting Query String Parameters” in the Visualforce Developer's Guide.

Home Page Components Tips and Considerations


Keep these considerations in mind when creating custom components that you want displayed
EDITIONS
on the Salesforce Classic Home tab.
• Standard components without an Edit link are read only. Available in: Salesforce
• The components that you select for the narrow column display in the sidebar. They don’t display Classic
in the sidebar on other pages within Salesforce unless you specify that in your user interface Available in: All Editions
settings. If you only want certain users to view sidebar components on all pages, grant those
users the “Show Custom Sidebar On All Pages” permission.
• When editing the standard Messages & Alerts component, enter the text that you want to display to users. If entering HTML code
for your message, make sure that it’s self-contained, well-formed HTML.

Note: Standard Messages & Alerts home page components don’t support JavaScript, CSS, iframes, and some other advanced
markup.

• When editing the standard Custom Links home page component, enter the link text to display to users in the Bookmark field. In the
URL field, enter the complete website address, such as http://www.yahoo.com. To link to a Salesforce page, enter only the
part of the URL after salesforce.com, for example, /00Ox0000000esq4. These links always open within the main Salesforce
window, not in a popup window.
• The standard Custom Links home page component is a quick way to add links to the sidebar, but it doesn’t support merge fields,
functions (such as URLFOR), executing JavaScript, or customizable window opening properties. If you need this additional functionality,
you can:
1. Create your home page custom links from the Customize > Home > Custom Links node in Setup.
2. Create a custom home page component of type Links on the Customize > Home > Home Page Components page in Setup
that includes the custom links that you created in the first step.
Creating a custom home page component for your links doesn’t change the visual styling for your end users.

• The Dashboard Snapshot component displays the top three components of the last dashboard the user accessed. Users can view a
dashboard snapshot on their Home tab if they have access to at least one dashboard.
• When designing home page layouts for your Customer Portal, we recommend adding the following components: Search, Solution
Search, Recent Items, Customer Portal Welcome, and a custom HTML Area component that includes your corporate branding in the
wide column.
• You can add up to 20 components to a home page layout.

SEE ALSO:
Create Custom Home Page Components

48
Extend Salesforce with Clicks, Not Code Page Layouts

Assign Home Tab Page Layouts to Profiles


Your home page layouts are only visible to users after you assign them to a user profile.
EDITIONS
1. From Setup, enter Home Page Layouts in the Quick Find box, then select Home Page
Layouts. Available in: Salesforce
Classic
2. Click Page Layout Assignment.
3. Click Edit Assignment. Available in: All Editions

4. Choose the appropriate page layout for each profile.


Initially, all users, including Customer Portal users, are assigned to the Home Page Default layout. USER PERMISSIONS

5. Click Save. To assign home page


layouts:
Tip: Users can customize the dashboard settings on their Home tab in their personal settings. • Customize Application

Customize Page Layouts with the Original Page Layout Editor


Use the original page layout editor to customize page layouts in Salesforce, the Self-Service Portal,
EDITIONS
and the Salesforce Customer Portal.

Note: We recommend using the enhanced page layout editor instead of the original page Available in: Salesforce
layout editor because it offers more features and an easier-to-use interface. Classic

1. From the management settings for the object that you want to edit, go to Page Layouts. Available in: All Editions

2. If tags are enabled, specify whether personal and public tags should be included in the header
section of the page layout. Users can tag a record only if personal or public tags are included USER PERMISSIONS
here.
To customize page layouts:
• To add personal or public tags, select Header Items from the View dropdown list and then • Customize Application
drag the Personal Tags or Public Tags items to the header section. You can’t change the
order in which personal and public tags appear when both are in the header section at the
same time.
• To remove tags, drag the Personal Tags and Public Tags items from the header section to the area under the View dropdown
list.

3. To customize buttons, double-click Detail Page Buttons in the Button section.


4. To arrange fields, custom s-controls, Visualforce pages, custom links, and related lists on the layout, select one or more items from
the box on the right and drag them to the desired location. You can drag up to 20 s-controls, 20 Visualforce pages, 20 expanded
lookups, and 100 related lists onto a page layout. There are no limits on custom links.

Note: You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set to the
object for which you’re creating the page layout. If you don’t have any Visualforce pages with a standard controller set to that
object, the Visualforce Pages category doesn’t appear in the palette.

5. To set which fields are required and read only, select one or more fields and click Edit Properties.
• You can change custom fields only if they aren’t universally required fields.
• Fields marked as read only are always editable by administrators and users with the Edit Read Only Fields permission.
• If you make a picklist field read only, all new records contain the default value for that picklist.
• Auto-number fields are always read only.

49
Extend Salesforce with Clicks, Not Code Page Layouts

• If you make the opportunity Probability field read only, the Probability value still updates automatically when a user changes
the Stage value of an opportunity.
• In Professional, Enterprise, Unlimited, Performance, and Developer Editions, field-level security settings override the field properties
you set here if the field-level security is more restrictive than the page layout setting.

6. To change the properties of an s-control or Visualforce page, double-click it and set the following attributes.
• Width sets the horizontal size in pixels or a percent.
• Height sets the vertical size in pixels.
• Show scrollbars determines whether the iFrame in which the s-control displays contains scrollbars when necessary.
• Show label determines whether the page layout includes the label of the custom s-control. Remove the label to display the
custom s-control in a wider area.

7. To organize the page using sections, click Edit next to an existing page section, or click Create New Section.
8. To customize related lists on the page layout, double-click a related list in the Related List section.
Some related lists aren’t customizable because they link to data rather than store it. You can move your cursor over any related list
section to see if it’s customizable. Also, lookup fields aren’t available for display on their corresponding lookup related list. For example,
the case lookup field on an account page layout isn’t available when editing the cases related list.

9. To apply the related lists in the page layout to all users, even if they’ve already customized their display, select Overwrite users’
customized related lists.
10. To review the page layout, click Preview. From the preview in Enterprise, Unlimited, Performance, and Developer Editions, select a
profile to see how the pages look for users with different profiles. Most related lists’ columns preview without data.
11. Click Save to finish. Alternatively, click Quick Save to save and continue editing the page layout.
In Professional, Enterprise, Unlimited, Performance, and Developer Editions:
• To choose which related records display in the Console tab’s mini view, click Mini Console View.
• To define the mini page layouts of the records that appear in the Console tab’s mini view, click Mini Page Layout.

Note: You can’t define mini console views or mini page layouts for the Close Case Layout or the Log a Case Page and View Cases
Page layouts on the Self-Service Portal.
In Enterprise, Unlimited, Performance, and Developer Editions:
• You can assign page layouts for different profile and record type combinations.
• You can set field-level security to restrict field access further.

Considerations for Using the Original Page Layout Editor


When working with the Original Page Layout Editor in Salesforce Classic, keep these considerations in mind.

SEE ALSO:
Considerations for Using the Original Page Layout Editor
Customize Related Lists
Page Layouts

50
Extend Salesforce with Clicks, Not Code Page Layouts

Considerations for Using the Original Page Layout Editor


When working with the Original Page Layout Editor in Salesforce Classic, keep these considerations
EDITIONS
in mind.
• When customizing page layouts for tasks, you can select these save options to appear when Available in: Salesforce
users create or edit a task. These options aren’t available when user control over task assignment Classic
notifications is enabled.
Available in: All Editions
– Show Task Email Notification checkbox—Displays the Send Notification Email
checkbox when users create or edit a task.
– Select Task Email Notification checkbox by default—Selects the Send Notification Email checkbox by default when users
create or edit a task. A user's personal preference for defaulting the state of the checkbox takes precedence over the org-wide
setting.

• When customizing page layouts for cases, you can select these save options to appear when users create or edit a case. These options
aren’t available when user control over case assignment notifications is enabled.
– Show on edit page Case Assignment checkbox—Displays the Assign using active assignment rules checkbox when
users create or edit a case.
– Default Case Assignment checkbox—Automatically runs case assignment rules.
If both Show on edit page and Select by default are selected, the assignment checkbox is selected by default, but users can
deselect it to override the assignment rule.

– Show Case Email Notification checkbox—Displays the Send Notification Email checkbox when users create or edit a case.
– Select Case Email Notification checkbox by default—Selects the Send Notification Email checkbox by default when users
create or edit a case.

• Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related lists,
custom buttons, and standard field customizations are not included on page layouts for the user object. Also, field-level security is
available only for custom fields on the user object.
• You can define mini page layouts for the user object; however, you can’t add standard fields or related lists. Also, a customized mini
page layout won’t display in the Agent console.
• Users can import values into a field only if they have read and edit access. User permissions, page layout assignments, and field-level
security settings determine field access.
• In Personal, Contact Manager, and Group Editions, page layouts control which fields users can access in related lists, list views, reports,
Connect Offline, email and mail merge templates, custom links, and when synchronizing data. In Professional, Enterprise, Unlimited,
Performance, and Developer Editions, this access is controlled by field-level security.
• In Professional, Enterprise, Unlimited, Performance, and Developer Edition, individual users can customize which tabs and related
lists display for their personal use.
• When editing a person account page layout, if you add Shipping Address next to Billing Address in the Address Information section,
a link displays on the person account edit page that allows you to copy the billing address to the shipping address. Also, an equivalent
link appears if you add Other Address to the Address Information section.
• Some items can only be moved to certain sections on the page layout. For example, you can drag a custom s-control to any field
section on the page layout but not a related list section or button section.
• Create the appropriate buttons before editing your page layout. For example, create an account custom button for the detail page
and a contact custom list button before putting them both on an account page layout.

51
Extend Salesforce with Clicks, Not Code Compact Layouts

• If you use the original page layout editor to view a page layout that was created in the new page layout editor, the original page
layout editor will show any blank spaces you added. You can’t move or add blank spaces in the original page layout editor, but you
can remove them by dragging them to the box on the right.

SEE ALSO:
Customize Page Layouts with the Original Page Layout Editor

Compact Layouts
A compact layout displays a record’s key fields at a glance in the Salesforce mobile app, Lightning
EDITIONS
Experience, and in the Outlook and Gmail integrations.
Creating and customizing compact layouts for objects isn't required, because system defaults are Available in: Salesforce
provided out of the box. However, we recommend using compact layouts to put important fields Classic (not available in all
into object record headers—and elsewhere—to help your users get the information they need orgs) and Lightning
quickly. Experience

In the Salesforce mobile app, the fields that you assign to a compact layout appear in: Available in: all editions
except Database.com
• An object record’s highlights area (shows up to ten fields)
• Expanded lookup cards on a record’s related information page (shows the first four fields)
In Lightning Experience, up to the first seven fields in a compact layout appear in the highlights panel of an object record. (On smaller
screens, the highlights panel displays fewer fields.) When a user hovers over a lookup relationship field on the object record page, a
highlights panel for that field also displays the first seven fields from the compact layout. Highlights panels display the first field from
the compact layout at the top in an accented font.

52
Extend Salesforce with Clicks, Not Code Compact Layouts

In the Outlook and Gmail integrations, up to the first three fields in a compact layout appear for records related to an email or event.
As with page layouts, there are separate compact layouts for each object. By default, each object derives its record highlight fields,
preview cards, and action-related feed items from the predefined set of fields in the object’s read-only, system default compact layout.
You can create custom compact layouts on an object-by-object basis. After you create one or more custom compact layouts, you set
one as the primary compact layout for the object. The primary compact layout is then used as the new default for that object.
If you have record types associated with an object, you can override the object’s primary compact layout and assign different compact
layouts to some or all the record types. Each record type can have only one compact layout assigned to it.
Event and task compact layouts determine the fields that appear in the details section when you expand an activity in the activity timeline
in Lightning Experience. When you change the compact layout for tasks in the activity timeline, you also impact the fields that show up
in the highlights area on tasks, in tasks lists, and everywhere else the compact layout is used.

Create Compact Layouts


Use compact layouts to customize the fields that display for object records when viewed in the Salesforce mobile app and Lightning
Experience.
Assign Compact Layouts to Record Types
As with page layouts, there are separate compact layouts for each object. By default, each object derives its record highlight fields,
preview cards, and action-related feed items from the predefined set of fields in the object’s read-only, system default compact
layout. You can create custom compact layouts on an object-by-object basis. After you create one or more custom compact layouts,
you set one as the primary compact layout for the object. The primary compact layout is then used as the new default for that object.

53
Extend Salesforce with Clicks, Not Code Compact Layouts

Compact Layout Limitations and Considerations


Keep these limitations and considerations in mind when using compact layouts.

SEE ALSO:
Activity Timeline Customization Considerations

Create Compact Layouts


Use compact layouts to customize the fields that display for object records when viewed in the
EDITIONS
Salesforce mobile app and Lightning Experience.
1. From the management settings for the object that you want to edit, go to Compact Layouts. Available in: both Salesforce
Classic and Lightning
2. Create a new compact layout and give it a label.
Experience
3. Add up to 10 fields.
Available in: All editions
Tip: Put the object’s Name field first to provide context for your users when they view a except Database.com
record.

4. Sort the fields by selecting them and clicking Up or Down. USER PERMISSIONS
The order you assign to the fields determines the order in which they display. To customize compact
layouts:
5. Save the layout.
• Customize Application
6. To set the compact layout as the primary compact layout for the object, click Compact Layout
To view compact layouts:
Assignment.
• View Setup and
Example: Here’s a sample compact layout edit page for the Account object. It shows the Configuration
name of the layout and a list of fields to display.

54
Extend Salesforce with Clicks, Not Code Compact Layouts

Here’s the related page for the same account object in Lightning Experience, displaying six of the eight fields assigned to the
compact layout. You can see the account’s name, phone number, business hours, website, owner, and type at the top of the page.

And here’s what that same account record looks like in the mobile app.

Note: Up to ten fields on your compact layout populate the record highlights section at the top of each record view in the
Salesforce mobile app. The record highlights section in Lightning Experience uses the first seven fields on the compact
layout. However, the number of fields that display can vary based on the width of your screen, which record page is being
viewed, and the permissions of the user.

SEE ALSO:
Compact Layouts
Customize Case Hovers in Lightning Experience

55
Extend Salesforce with Clicks, Not Code Compact Layouts

Assign Compact Layouts to Record Types


As with page layouts, there are separate compact layouts for each object. By default, each object
EDITIONS
derives its record highlight fields, preview cards, and action-related feed items from the predefined
set of fields in the object’s read-only, system default compact layout. You can create custom compact Available in: both Salesforce
layouts on an object-by-object basis. After you create one or more custom compact layouts, you Classic and Lightning
set one as the primary compact layout for the object. The primary compact layout is then used as Experience
the new default for that object.
Compact layouts are
If you have record types associated with an object, you can override the object’s primary compact available in: All editions
layout and assign different compact layouts to some or all the record types. Each record type can except Database.com
have only one compact layout assigned to it.
Record types are available
1. From the management settings for the object that you want to edit, go to Compact Layouts.
in: Professional, Enterprise,
Tip: For Salesforce Knowledge articles, from Setup, enter Knowledge Article Performance, Unlimited,
Types in the Quick Find box, then select Knowledge Article Types, click the name of and Developer Editions
an article type, then scroll down to the Compact Layouts related list.
USER PERMISSIONS
2. Click Compact Layout Assignment.
3. Select a compact layout to use as the primary compact layout for this object. To customize compact
layouts:
4. In the Record Type Overrides section, select one or more record types to which you want to • Customize Application
assign a compact layout.
To view compact layouts:
If you don’t have record types set for the object, you won’t see this section. If you don’t set any • View Setup and
record type overrides, all record types use the object’s primary compact layout by default. Configuration
Some record types in the list might be inactive. You can assign a compact layout to an inactive
record type.

5. Select a compact layout from the Compact Layout To Use dropdown list to assign it to the selected cells.
6. Click Save.

SEE ALSO:
Compact Layouts
Find Object Management Settings

Compact Layout Limitations and Considerations


Keep these limitations and considerations in mind when using compact layouts.
EDITIONS

Considerations Available in: Salesforce


Classic (not available in all
• Up to ten fields on your compact layout populate the record highlights section at the top of orgs) and Lightning
each record view in the Salesforce mobile app. The record highlights section in Lightning Experience
Experience uses the first seven fields on the compact layout. However, the number of fields
that display can vary based on the width of your screen, which record page is being viewed, Available in: all editions
and the permissions of the user. except Database.com

• Changes you make to a compact layout are reflected in both Lightning Experience and the
Salesforce mobile app.

56
Extend Salesforce with Clicks, Not Code Compact Layouts

• Each record type can have only one compact layout assigned to it. However, the same compact layout can be associated with
multiple record types.
• Compact layouts aren’t assigned to profiles or individual users. To display different sets of fields in records by use case or role, create
record types for the object, then assign the appropriate custom compact layout to each record type.
• If a user doesn’t have access to one of the fields that you assign to a compact layout, the next field on the layout is used.
• A compact layout must contain at least one field.
• Don’t make the primary field a lookup field. Doing this could result in navigation issues in Lightning Experience and the Salesforce
mobile app.
• Removing a field from a page layout doesn’t remove it from the object’s compact layout. The two layout types are independent.
• If you change a field on a compact layout to an unsupported type, the field is removed from the compact layout.
• Before you can delete a compact layout that’s set as the primary compact layout for the object, you must choose another compact
layout to replace it.
• In the Salesforce mobile app, tasks automatically show whether a task is open or closed and the due date (depending on a user’s
access to activity dates). When customizing a task compact layout, you don’t have to add these fields to the Selected Fields list.
• Compact layouts installed from a managed package are editable. However, we recommend against editing compact layouts installed
from a package, as doing so can cause destructive changes to your org. Instead, clone the installed compact layout and make your
changes to the clone.
• Compact layout assignments are subscriber controlled. If a user installs a managed package that contains a compact layout and
then changes the compact layout’s assignment in their org, the compact layout’s assignment isn’t overridden when they later
upgrade the package.
• These considerations apply to Chatter:
– In the full Salesforce site, a compact layout determines which fields appear in the Chatter feed item that appears after a user
creates a record with a quick action.

– To avoid inadvertent sharing of information through the feed, the Task page layout determines the fields shown in the Chatter
feed items for tasks created using a quick action.
– Primary compact layouts determine which fields are shown in Chatter personal digest emails.

Limitations
• A compact layout can only contain fields from its object, including a formula field that is a cross-object reference to another object.
• Fields that aren’t available in SOAP API don’t show up on compact layouts in the Salesforce mobile app.
• Compact layouts support all field types except:
– text area
– long text area
– rich text area
– multi-select picklist

SEE ALSO:
Create Compact Layouts
Compact Layouts
Customize Case Hovers in Lightning Experience

57
Extend Salesforce with Clicks, Not Code Custom Tabs

Custom Tabs
Custom tabs let you display custom object data or other web content in Salesforce. When you add
EDITIONS
a custom tab to an app in Salesforce Classic, it appears as a tab. When you add a custom tab to an
app in Lightning Experience, it appears as an item in the app’s navigation bar and in the App Available in: both Salesforce
Launcher. Classic (not available in all
Custom tabs show custom object data or other web content embedded in the app. You can create orgs) and Lightning
any of these types of custom tabs. Experience

• Custom Object Tabs: Custom object tabs (available only at an app level and not on subtab apps) Custom Object Tabs and
show the data of your custom object. Custom object tabs look and function just like standard Web Tabs available in:
tabs. Contact Manager, Group,
Professional, Enterprise,
• Web Tabs: Custom web tabs show any external web-based application or web page. You can
Performance, Unlimited,
design web tabs to include the sidebar or span the page without the sidebar.
and Developer Editions
• Visualforce Tabs: Visualforce tabs show data from a Visualforce page. Visualforce tabs look and
Visualforce Tabs available
function just like standard tabs.
in: Contact Manager,
• Lightning Component Tabs: Lightning component tabs make Lightning components available Group, Professional,
in the Salesforce mobile apps and in Lightning Experience. Lightning components aren’t Enterprise, Performance,
supported in Salesforce Classic. Unlimited, and Developer
• Lightning Page Tabs: Lightning page tabs let you add Lightning app pages to the Salesforce Editions
mobile app and Lightning Experience navigation bars. Lightning Page Tabs
In Salesforce Classic, Lightning page tabs don’t appear on the All Tabs page when you click . available in: All Editions
Lightning page tabs also don’t appear in the Available Tabs list when you customize the tabs except Database.com
for your apps.

Subtab apps support only web tabs and Visualforce tabs. USER PERMISSIONS
Delegated administrators who can manage specified custom objects can also create and customize To create and edit custom
tabs for those custom objects. tabs:
In Lightning Experience, Lightning page tabs, Visualforce tabs, and Lightning component tabs have • Customize Application
a fixed, friendly URL structure of /lightning/n/customTabDevName.

SEE ALSO:
Create Custom Apps for Salesforce Classic
Subtab Apps in Salesforce Classic

58
Extend Salesforce with Clicks, Not Code Custom Tabs

Create Web Tabs


Build web tabs so that your users can use your web applications or other websites from within the
EDITIONS
application.
1. From Setup, enter Tabs in the Quick Find box, then select Tabs. Available in: both Salesforce
Classic (not available in all
2. Click New in the Web Tabs related list.
orgs) and Lightning
3. Choose a layout for the new tab. The full page width spans across the entire page without the Experience
sidebar, while the column style allows users to view the sidebar.
Custom Object Tabs and
4. Click Next. Web Tabs available in:
5. Enter a label to display on the tab. Contact Manager, Group,
Professional, Enterprise,
6. Click the Tab Style lookup icon to display the Tab Style Selector.
Performance, Unlimited,
If a tab style is already in use, a number enclosed in brackets [] appears next to the tab style and Developer Editions
name. Hover your mouse over the style name to view the tabs that use the style. Click Hide Visualforce Tabs available
styles which are used on other tabs to filter this list. in: Contact Manager,
Group, Professional,
7. Click a tab style to select the color scheme and icon for the custom tab. Optionally, click Create
Enterprise, Performance,
your own style on the Tab Style Selector dialog to create a custom tab style if your org has
Unlimited, and Developer
access to the Documents tab. To create your own tab style: Editions
a. Click the Color lookup icon to display the color selection dialog and click a color to select Lightning Page Tabs
it. available in: All Editions
b. Click Insert an Image, select the document folder, and select the image you want to use. except Database.com

c. Select a file and click OK. The New Custom Tab wizard reappears.

8. Change the content frame height if necessary. USER PERMISSIONS

9. Enter a description of the tab, if desired, and click Next. To create and edit custom
tabs:
10. Enter the URL or choose the custom s-control that you want to display in the tab. Optionally,
• Customize Application
copy and paste any merge fields for data that you want dynamically replaced in the link. Click
Preview Web Tab to display your web tab.

Note: Only User, organization, and API merge fields are supported for web tabs.

11. For a URL, choose an encoding setting and click Next.


12. Add the web tab to the appropriate profiles. Choose Default On, Default Off, or Tab Hidden to determine whether the custom tab
is visible to users with that profile. You can change this setting later.
13. Click Next.
14. Specify the custom apps that should include the new tab.
15. Select Append tab to users' existing personal customizations to apply the tab visibility settings to all users.
16. Save the tab.

59
Extend Salesforce with Clicks, Not Code Custom Tabs

Create a Custom Object Tab


Give your users access to custom object data and records in an app. Custom object tabs are available
EDITIONS
only at the app level, not on subtab apps, and function like standard tabs.
When you add a custom object tab to an app in Salesforce Classic, it appears as a tab. When you Available in: both Salesforce
add a custom object tab to an app in Lightning Experience, it appears as an item in the app’s Classic (not available in all
navigation bar and in the App Launcher. orgs) and Lightning
Experience
• From Setup, in the Quick Find box, enter Tabs, and then select Tabs.
• Click New in the Custom Object Tabs related list. Custom Object Tabs and
Web Tabs available in:
• Select the custom object to appear in the custom tab. If you haven’t created the custom object,
Contact Manager, Group,
click create a new custom object now and see Create a Custom Object on page 139. Professional, Enterprise,
The label of the new tab is the same as the plural version of the custom object label. Performance, Unlimited,
and Developer Editions
• To show Tab Style Selector, click the Tab Style lookup icon.
Visualforce Tabs available
If a tab style is already in use, a number enclosed in brackets [] appears next to the tab style in: Contact Manager,
name. To view the tabs that use that style, hover over the style name. To filter this list, click Hide Group, Professional,
styles which are used on other tabs. Enterprise, Performance,
Unlimited, and Developer
• To select the color scheme and icon for your custom tab, select a tab style.
Editions
If your org has access to the Documents tab, click Create your own style on the Tab Style
Lightning Page Tabs
Selector dialog to create a custom tab style. available in: all editions
– To access the color selection dialog, click the Color lookup icon and select a color. except Database.com
– Click Insert an Image, select the document folder, and select the image you want to use.
You can also click Search in Documents, enter a search term, and click Go! to find a USER PERMISSIONS
document file name that includes your search term.
To create and edit custom
Note: This dialog only lists files in document folders that are under 20 KB and have tabs:
the Externally Available checkbox selected in the document property settings. If the • Customize Application
document used for the icon is later deleted, Salesforce replaces it with a default
multicolor block icon ( ).

– Select a file and click OK. The New Custom Tab wizard reappears.

• You have the option to choose a custom link to use as the introductory splash page when users initially click the tab.
• Enter a description of the tab, if desired, and click Next.
• Choose the user profiles that you want to have access to the new custom tab.
For Professional Edition users and Salesforce Platform One license users, tab visibility is set to Default On.

Note: A custom object is searchable with or without a custom tab. Go to Search Manager to make your custom object
searchable in your org.

• Specify the custom apps that you want to include in the new tCRMab.
• To add the tab to your users’ customized display settings if they’ve customized their personal display, select Append tab to users'
existing personal customizations.
• Save the tab.
Depending on the visibility settings you selected, you see the tab right away.

60
Extend Salesforce with Clicks, Not Code Custom Tabs

SEE ALSO:
Custom Tabs
Make Search Faster

Create Lightning Page Tabs


Before you can include a Lightning app page in the Salesforce mobile app or in a Lightning app,
EDITIONS
you must create a custom tab for it.
When you first activate an app page in the Lightning App Builder, a tab is created for the page as Available in: both Salesforce
part of the activation process. You can also create a tab for the page manually in Setup before you Classic (not available in all
activate it. orgs) and Lightning
Experience
You can create a custom tab only for an App Page type of Lightning page.
1. From Setup, enter Tabs in the Quick Find box, then select Tabs. Available in: all editions

2. Click New in the Lightning Page Tabs related list.


USER PERMISSIONS
3. Choose a Lightning page for the tab.
4. Enter a label. To create and edit custom
tabs:
This text is used as the display name for the Lightning page.
• Customize Application
5. Select a tab style to set a color scheme and icon for the Lightning page tab.
6. Enter a description of the tab, if desired, and click Next.
7. Choose the user profiles the new custom tab is available for. In Salesforce Classic, the Default On and Default Off options for Lightning
page tabs don’t work the same way as for other custom tabs. The Lightning page menu item appears for the selected profiles in
Salesforce for Android and Salesforce for iOS whether you choose Default On or Default Off. Select the Tab Hidden option to hide
the Lightning page for the selected profiles.
8. Click Save.
When creating a custom icon for your Lightning page tab, follow these image guidelines. The icon should:
• Be less than 10k in size
• Be 120 x 120 pixels
• Be a PNG with a transparent background
• Have a resolution of 72 dpi
• Not include a color background

61
Extend Salesforce with Clicks, Not Code Custom Help Content

• Not include outer shadows on the inner icon graphic

Custom Tab Considerations


When working with custom tabs, keep these considerations in mind.
EDITIONS
• The custom tabs limit is a fixed number based on edition and can’t be increased. For more
information, contact Salesforce. Available in: both Salesforce
• If you choose Default On or Default Off when setting custom object tab visibility, an option is Classic (not available in all
added to the Create New dropdown list in the Salesforce Classic sidebar so that users with the orgs) and Lightning
Experience
Create permission can quickly create a record. For example, if the custom object displayed in
the custom tab is named Expenses, an Expense option appears in this list. Custom Object Tabs and
• A custom object that’s associated with a custom tab is searchable by default, even if users don’t Web Tabs available in:
add the tab for display. Contact Manager, Group,
Professional, Enterprise,
• A Web tab or custom link could display a blank page if the embedded site:
Performance, Unlimited,
– Has been set to deny the loading of its content in a frame. and Developer Editions
– Has been set to allow the loading of its content in a frame only if the same site is delivering Visualforce Tabs available
the content. in: Contact Manager,
– Contains a mix of secure and unsecure content, and the user’s browser has been configured Group, Professional,
to block mixed active content. Enterprise, Performance,
Unlimited, and Developer
To resolve this issue, try these workarounds. Editions
– Set your custom link to either open in a new window or display in the existing window Lightning Page Tabs
without the sidebar or header. available in: All Editions
– Move the URL from a Web tab into a custom link instead, and set the URL to either open except Database.com
in a new window or display in the existing window without the sidebar or header.
– If the site you’re embedding has an HTTP prefix and mixed active content, try changing the
prefix to HTTPS. If the embedded site has a valid security certificate and it hasn’t blocked itself from being displayed in frames,
using HTTPS as the prefix allows the site to display.

• In Salesforce Classic, Lightning page tabs don’t display on the All Tabs page when you click . Lightning page tabs also don’t appear
in the Available Tabs list when you customize the tabs for your apps.
• In Salesforce Classic, the Default On and Default Off options for Lightning page tabs don’t work the same way as for other custom
tabs. The Lightning page menu item appears for the selected profiles in Salesforce for Android and Salesforce for iOS whether you
choose Default On or Default Off. Select the Tab Hidden option to hide the Lightning page for the selected profiles.

Custom Help Content


Tailor help so that users understand how to work within your unique implementation of Salesforce. You can add learning in the flow of
work in several ways. Add custom help for a page, app, object, or org level, or provide links to help in the Utility Bar, Path, or as a text
box on the page. Show users custom resources in a Lightning Experience welcome mat when they first log in. Or, to reach users with
important news, training, and on-boarding information, add micro-learning prompts and walkthroughs to your app.

Help Salesforce Classic Lightning Experience


Field-Level Help—Detail the purpose and
function of a standard or custom field.

62
Extend Salesforce with Clicks, Not Code Custom Help Content

Help Salesforce Classic Lightning Experience


Object-Level Help in Salesforce See Learning Paths
Classic—Help your users by providing
object-level help for all custom objects and
external objects.

Learning Paths—Create a personalized and


always-available learning experience for
your users.

Customize Content in the Guidance


Center—Direct users to a globally available
menu of suggested resources from
Salesforce or links to custom help assigned
with Learning Paths.

Customize the Help Menu in Lightning


Experience—Supplement the
recommended resources by adding a
section with links to your own content.

In-App Guidance—Use prompts to reach


users directly with news, training, and
onboarding messages.

Welcome Mat—Provide resources the first


time that users log in to Lightning
Experience.

Utility Bar—Use the Notes component to


add links to custom help.

Rich Text Component—Add simple HTML


to your Lightning page.

Guidance for Success on Path—Give key


coaching details to support users.

In-Dashboard Videos for Einstein Not applicable - cloud-based platform Not applicable - cloud-based platform
Analytics—Provide customized instruction
that helps users get the most out of
dashboards.

Custom Notification from a Process—Alert


an account owner if a new support case is
logged while trying to close a deal, or send
a notification for a workflow built entirely
with custom objects.

Sales Enablement (myTrailhead)—Your Not applicable Not applicable


company’s unique enablement content in
a branded experience powered by the
Trailhead online learning platform.

63
Extend Salesforce with Clicks, Not Code Custom Help Content

Field-Level Help
Field-level help lets you provide help text detailing the purpose and function of any standard or custom field. Before defining
field-level help, review these implementation tips and best practices.
Custom Help in Lightning Experience
In Lightning Experience, In-App Guidance allows you to add prompts and walkthroughs to reach users directly with feature updates,
record help, and onboarding tips. Find help from anywhere in the app by opening the Guidance Center, which shows learning items
assigned with Learning Paths and suggestions from Salesforce. All Trailhead modules and custom help assignments can be found
on Learning Home.
Custom Help in Salesforce Classic
In Salesforce Classic, object-level help replaces the links for a custom object or external object page. Replace built-in Salesforce Help
with documentation that’s customized for your users.

Field-Level Help
Field-level help lets you provide help text detailing the purpose and function of any standard or custom field. Before defining field-level
help, review these implementation tips and best practices.

Implementation Tips
• Field-level help is enabled by default for all editions.
• Field-level help isn’t available for some standard fields, including fields on the User object, system read-only fields, auto-number
fields, multi-currency fields, Ideas fields, and Experience Cloud site fields.
• The help text for a field is automatically added to a package when you add the associated field to any AppExchange package.
• In a managed package, the help text is locked to the developer, giving installers full capabilities to change it.

Best Practices
• Because your custom help text displays on both edit and detail pages, avoid instructions for entering data. Instead, construct help
text that defines the field's purpose, such as:
The maximum discount allowed for this account.

• Provide information in your help text about the attributes of the field, such as:
A detailed description of the purpose for the expense report. Up to 32 KB of data
are allowed. Only the first 255 characters display in reports.

• Provide examples in your help text that help users understand the field's meaning clearly, such as:
The four-digit promotional code used to determine the amount charged to the customer,
for example, 4PLT (for level-four platinum pricing).

• If your org uses more than one language, provide translations for your Help Text using the Translation Workbench.

64
Extend Salesforce with Clicks, Not Code Custom Help Content

Define Field-Level Help


Define custom help text for your organization’s fields to provide users with a helpful description. Help text can be defined for standard
and custom fields on all detail and edit pages where the field displays. Users can view the field-level help text by hovering over the
Info icon next to the field.

SEE ALSO:
Custom Help Content

Define Field-Level Help


Define custom help text for your organization’s fields to provide users with a helpful description.
EDITIONS
Help text can be defined for standard and custom fields on all detail and edit pages where the field
displays. Users can view the field-level help text by hovering over the Info icon next to the field. Available in: both Salesforce
1. From the management settings for the field’s object, go to Fields. Classic and Lightning
Experience
2. Click Edit next to the field.
3. In the Help Text field, enter the text you want displayed. Available in: All Editions
except Database.com
The text displays when a user hovers the mouse over the Info icon that appears next to the field
on a detail or edit page. You can enter up to 510 characters.
USER PERMISSIONS
4. Click Save.
To define or change
Note: If the object you’re modifying is exposed in an Experience Cloud site, field-level help field-level help:
is visible to site members, including unlicensed users, partners, and customers. Make sure • Customize Application
the information you provide in field-level help accounts for all audiences and doesn’t contain
business-sensitive information.

SEE ALSO:
Custom Help Content
Field-Level Help
Find Object Management Settings

Custom Help in Lightning Experience


In Lightning Experience, In-App Guidance allows you to add prompts and walkthroughs to reach users directly with feature updates,
record help, and onboarding tips. Find help from anywhere in the app by opening the Guidance Center, which shows learning items
assigned with Learning Paths and suggestions from Salesforce. All Trailhead modules and custom help assignments can be found on
Learning Home.

Understand the Benefits


Easily accessible resources within the app are crucial to help users do their jobs efficiently and effectively inside their workspace. Learn
more about the onboarding and troubleshooting stages of the in-app journey by taking the User Engagement and the User Training
and Enablement Trailhead modules. Without training, end-user productivity declines, as can trust and feature adoption. With sufficient
training and on-demand troubleshooting resources, users quickly find answers to their questions so they can get unblocked and back
to work. These resources are also a time saver for admins because they can prevent them from repeatedly fielding the same questions
from their users.

65
Extend Salesforce with Clicks, Not Code Custom Help Content

Because apps are so often customized, sometimes Salesforce resources don’t reflect the actual user experience. As a result, many admins
help their users by adding links to resources that reflect the company’s unique processes and guidelines. There are several ways to
integrate custom help inside the app, but the Guidance Center, Learning Paths, and In-App Guidance are great additions to your admin
toolbox.

Decide When to Use the Guidance Center or In-App Guidance

If you... Then consider...


Have important resources to share with your users. Guidance Center and Learning Paths assignments
Require users to complete training by a certain date. Manage, assign, and track all your longform in-depth learning
Have training created for specific pages or specific users. resources.
Display public Trailhead and enablement site (myTrailhead)
modules or URLs to resources in specific locations for specific
users in the Guidance Center.
Apply a due date.
Centralize all learning resources on the Learning homepage.
Earn Trailhead and enablement site badges inside the app.

Want to nudge, prompt, or remind users of important In-App Guidance


announcements or features. Provide targeted, micro-learning moments to boost feature
adoption.
Pick from targeted, floating, and docked prompts or
walkthroughs.
Design the guidance, select the target audience, and specify
where it appears and for how long.
Add links to internal wikis, training, or PDFs for a custom call
to action.
Use built-in engagement tracking.

Decide When to Use the Guidance Center or Help Menu


Guidance Center and the Help Menu are accessible from the global header. The Help Menu offers Salesforce-suggested resources and
a section for admins to add links to their own content that their users can see anywhere in the app. Guidance Center customized with
Learning Paths offer admins not only a panel to add contextual help per page, but also a way to assign required learning to users. Users
see all their assignments on Learning Home. For more details about Guidance Center, check outFind Help in Lightning Experience.
This table lists the main differences between Guidance Center customized with Learning Paths and the Help Menu.

Feature Guidance Center and Learning Paths Help Menu

Hide completely No, you can’t hide the Guidance Center. Yes, from the Help Menu Setup page

Hide individual sections Yes, hide suggestions from Salesforce or Yes, from the Help Menu Setup page
Learning Home from the Guidance Center
Setup page.

66
Extend Salesforce with Clicks, Not Code Custom Help Content

Add URLs as learning items Add up to 1,000 learning items with Add up to 30 URLs
Learning Paths, and up to four learning
items appear in the Guidance Center at a
time.

Add help for a specific page, app, or org Up to two resources for the object home or Resources for an org appear in the global
record appear under Help for This Page. The custom resource section at the top of the
Selected for You section includes up to two Help Menu. Admins can’t specify per page
resources assigned to all objects for all apps or per app.
or for a specific app with a due date.

Specify a required due date to complete Yes No

Specify user-level visibility Yes, either specify by users or by public No


groups

View Trailhead modules inside the app Yes, users can read and earn badges for No, all URLs open in a new tab. Links to
multiple choice challenges inside the app. Salesforce documentation under Help for
This Page do show inside the app.

View suggestions from Salesforce Salesforce suggestions appear under Suggestions appear under Help for This
Selected for You and Related to This Page. Page for most pages in the app, including
Setup. Global links for search, support,
keyboard shortcuts, and release notes are
under More Resources.

In-App Guidance in Lightning Experience


Help users discover your products and services, adopt your processes, or learn how to use a new feature. Create prompts and
walkthroughs in Lightning Experience apps or pages.
Learning Paths
Create a personalized and always-available learning experience for your users. When you customize Learning Paths, you can choose
whom to assign a learning item to—individuals, public groups, or all users. The Guidance Center icon in the global header opens a
panel where users can see suggestions from Salesforce and your Learning Paths assignments. Associate the learning item with a
particular app or page, and optionally apply a due date. Choose modules from Trailhead or an enablement site (myTrailhead), and
add links to other training resources for the ultimate custom training experience. Admins can let other stakeholders, such as trainers
or sales team managers, assign and manage learning items.
Guidance Center
The Guidance Center panel in Lightning Experience provides a convenient location for showing content that's assigned to or
recommended for the current user. The Guidance Center includes not only suggested content that's authored by Salesforce but also
custom content that you manage. With Learning Paths, you can manage the learning items—custom links, videos, and Trailhead
modules—that are available in the Guidance Center and assign those items to specific users with optional due dates.
Customize the Help Menu in Lightning Experience
The question mark icon in the global header opens a menu of related resources for a page, Trailhead modules, videos, and more
items suggested by Salesforce. The Help Menu offers a default in-app help experience for companies that don’t have custom guidance
or training available to users. You can supplement the recommended resources by adding a global section with links to your own
content.

67
Extend Salesforce with Clicks, Not Code Custom Help Content

In-App Guidance in Lightning Experience


Help users discover your products and services, adopt your processes, or learn how to use a new feature. Create prompts and walkthroughs
in Lightning Experience apps or pages.
See In-App Guidance.

Learning Paths
Create a personalized and always-available learning experience for your users. When you customize
EDITIONS
Learning Paths, you can choose whom to assign a learning item to—individuals, public groups, or
all users. The Guidance Center icon in the global header opens a panel where users can see Available in: Lightning
suggestions from Salesforce and your Learning Paths assignments. Associate the learning item with Experience
a particular app or page, and optionally apply a due date. Choose modules from Trailhead or an
enablement site (myTrailhead), and add links to other training resources for the ultimate custom Available in: Developer,
training experience. Admins can let other stakeholders, such as trainers or sales team managers, Professional, Enterprise,
assign and manage learning items. Performance, and
Unlimited Editions
• Get going right away with Assign a Learning Item for Learning Paths.
Not Available for: Chatter
• Understand the layout of the Guidance Center with Find Help in Lightning Experience in
External, Chatter Free, or
Salesforce Help. Learn who sees what type of content.
Communities (now known
• Learn more on Trailhead, and take the User Training and Enablement module. as Experience Cloud) user
Ready to get started? Start reviewing Learning Paths documentation to begin helping your users licenses
as they work in the app. Enablement Sites
Note: As long as your Salesforce-related accounts are part of your Trailblazer.me profile, (myTrailhead) available in:
Enterprise, Performance,
badges that you earn while inside Lightning Experience are included in your profile. See
and Unlimited Editions
Trailblazer.me and Trailhead. If your company has an enablement site, you don’t necessarily
have a Trailblazer.me profile, but you can create one. See Create a Trailhead Account, and log
in with the username and password that you use to log in to Salesforce.
If your company uses Salesforce Identity for Enablement to authenticate users to your
enablement site, the Salesforce Trailhead badges that you earn in-app appear on your
Trailblazer.me profile. The enablement site badges that you earn don’t appear on your
Trailblazer.me profile. See Considerations for Selecting an Authentication Provider

Learning Paths Best Practices


Learn how to define an in-app help strategy, and get tips for customizing Learning Paths.
Considerations for Using Learning Paths
As you prepare to customize Learning Paths for your users, keep these details in mind.
Assign a Learning Item for Learning Paths
You can assign a Trailhead or enablement site (myTrailhead) module or a custom learning item such as a video, tutorial, or reference
guide. You can assign a learning item to individuals, public groups, or all users. And you can associate a learning item with an app
and a particular object and page within the app.
Monitor Learning Paths (Beta)
Use custom reports and dashboards to track user engagement with Learning Paths, Trailhead, and enablement sites (myTrailhead).

68
Extend Salesforce with Clicks, Not Code Custom Help Content

Turn Off Learning Paths


Optionally, you can turn off Learning Paths, which hides the Learning Home and prevents admins from assigning learning items to
users. When Learning Paths is turned off, the Guidance Center remains available.

SEE ALSO:
Find Help in Lightning Experience
Customize Content in the Guidance Center

Learning Paths Best Practices


Learn how to define an in-app help strategy, and get tips for customizing Learning Paths.

Strategy
As you plan your in-app help strategy, think of adding layers of customization to address the needs of your users and, if applicable, your
existing training program. Along with creating in-app guidance, customizing Learning Paths is a great next step.
Learning Paths offers targeted assignment functionality, available now and in upcoming releases. It’s as easy to assign learning items
across Salesforce as it is to assign items to a specific page for specific users. Users can read assigned Trailhead modules and earn badges
right inside the app.
Be sure to let users know that they can access these resources from the Trailhead icon in the global header or from Learning Home. To
make Learning Home easier to find, add Learning to the navigation bar.

Tips to Get Started


Here are some ideas to help you plan which resources to add to Learning Paths.
• Replicate the modules that you added to the global custom section of the Help Menu.
• Add your company’s videos, wiki pages, quick start guides, enablement site (myTrailhead) modules, or other custom resource.
• Assign shorter modules that users can complete in less than a half hour to facilitate learning as the user works.
• Assign only one or two items to a specific page in the app.
• Add due dates to give users a better sense of when to complete the learning item.
• Scope out what to add by listing the learning item, location, audience, and, optionally, due date.
Here are some resources to consider adding. All learning items are Trailhead modules, except as noted.

Onboarding

Learning Item App


Let’s Take Lightning Experience for a Spin (video) All

Searching in Salesforce (video) All

Working with List Views (video) All

Trailhead: Quick Look All

Salesforce User Basics All

Salesforce User Tour All

69
Extend Salesforce with Clicks, Not Code Custom Help Content

Learning Item App


Salesforce CRM (CRM for Lightning Experience) All

Working from Anywhere

Learning Item App


Virtual Meeting Setup: Quick Look All

Virtual Collaboration All

Virtual Whiteboarding: Quick Look All

Effective Emails: Quick Look All

Relationship Building All

Emotional Intelligence All

Fearless Teaming All

Sales

Learning Item App


Sales Cloud: Quick Look Sales

Prospecting to Improve Sales Sales

Demo Delivery Essentials Sales

Demo Storytelling Sales

Design Thinking for Sales Sales

Service

Learning Item App


Service Cloud: Quick Look Service

Service Cloud Agent Experience Service Console

Communication Skills for Customer Service Agents Service

Wellbeing

Learning Item App


The Power of Movement All

70
Extend Salesforce with Clicks, Not Code Custom Help Content

Learning Item App


The Value of Sleep All

Mindful Living with the Plum Village Monastics All

SEE ALSO:
Find Help in Lightning Experience
Custom Help in Lightning Experience

Considerations for Using Learning Paths


As you prepare to customize Learning Paths for your users, keep these details in mind.
EDITIONS
Important: Learning Paths isn’t available in a sandbox or ingovernment environments.
Available in: Lightning
Experience
View Assignments in the Guidance Center Available in: Developer,
Not all assignments appear in the Guidance Center. Users can find all learning assignments on Professional, Enterprise,
Learning Home. Performance, and
Unlimited Editions

Assign a Learning Item Not Available for: Chatter


External, Chatter Free, or
There are limits to the assignments that you can make.
Communities (now known
as Experience Cloud) user
Assignments Maximum licenses
Learning items 500 Enablement Sites
Assignments per learning item 100 (myTrailhead) available in:
Enterprise, Performance,
and Unlimited Editions
An assignment to a public group counts as one assignment.

Note: The number of assignments doesn't always correspond to the number of users assigned to the learning item. A public
group can contain thousands of users, but assigning a learning item to that public group still counts as only one assignment.
You can assign Trailhead modules that contain quizzes, but not modules that contain hands-on challenges. You can’t assign Trailhead
projects.
You can’t create more than one learning item with the same Trailhead or enablement site module.
When you assign a learning item to a particular app or page, the item is visible in the side panel only to users who are in that app. It’s
visible on Learning Home to all users, regardless of which app a user is in.
To assign a learning item to a group, use a public group. You can’t assign learning items to Roles and Subordinates or Roles and Internal
Subordinates public group member types. You can’t assign learning items to permission set groups, personal groups, or Chatter groups.
When you assign a Trailhead or enablement site module via Learning Paths, the module assignment appears in the learning panel and
on Learning Home. It doesn’t appear on an assignee’s enablement site home page.

71
Extend Salesforce with Clicks, Not Code Custom Help Content

Modify a Learning Item


After you save a learning item, you can’t change its module, custom link, or due date. Delete the learning item and create another one
with the module, link, or due date that you want to assign. To add more assignees to a learning item, use the Add Assignments feature
on Learning Home.
If a module is deleted from Trailhead or an enablement site, any learning item that you created with that module remains in Learning
Paths. To avoid confusing users, delete the learning item.

Delete a Learning Item


If you want to delete a learning item that’s assigned to more than 100,000 users, first unassign users before you delete the learning item.
Otherwise, errors can occur when trying to delete a learning item that’s assigned to a large number of users.

Gather Feedback on Assigned Modules


When a user completes an assigned Trailhead or enablement site module, they can rate the module on a five-star scale.
For enablement site content, your company can review all the ratings that users submit and use the feedback to help guide content
planning.

Turn Off Learning Paths and Suggested Content


See Turn Off Learning Paths and Turn Off Suggested Content in the Guidance Center.
To hide assigned content from users, delete the assignments or select Don’t assign to anyone.

SEE ALSO:
Assign a Learning Item for Learning Paths
Learning Paths Best Practices
Monitor Learning Paths (Beta)
Turn Off Learning Paths
Turn Off Suggested Content in the Guidance Center

72
Extend Salesforce with Clicks, Not Code Custom Help Content

Assign a Learning Item for Learning Paths


You can assign a Trailhead or enablement site (myTrailhead) module or a custom learning item
EDITIONS
such as a video, tutorial, or reference guide. You can assign a learning item to individuals, public
groups, or all users. And you can associate a learning item with an app and a particular object and Available in: Lightning
page within the app. Experience
Watch the video to see how to assign learning items with Learning Paths.
Available in: Developer,
Watch a video Professional, Enterprise,
Performance, and
1. To open the panel, click the icon for Guidance Center in the global header. Unlimited Editions

Not Available for: Chatter


External, Chatter Free, or
Communities (now known
as Experience Cloud) user
2. At the bottom of the panel, click Assign Learning Content to go to Learning Home. licenses
You can also get to Learning Home via the App Launcher. Add Learning Home to your navigation
Enablement Sites
bar for easy access. (myTrailhead) available in:
3. On Learning Home, click Manage Learning Assignments, then click New. Only admins or Enterprise, Performance,
users with the Manage Learning user permission have access to the Manage Learning and Unlimited Editions
Assignments page.
4. In the New learning item window, select a content type, then search for a Trailhead or USER PERMISSIONS
enablement site module, or enter the URL for a custom link.
To manage as an admin
• Modify All Data OR
Customize Application
To manage as a designated
trainer
• Manage Learning

When users click the link for a Trailhead or enablement site module in the side panel or on Learning Home, the item opens in the
app. Custom links open in a new browser tab. Put custom links that you previously included in the Help Menu in Learning Paths
instead.
5. Under Location, specify where the learning item appears in the app by selecting an app and, if you want, an object and record.

73
Extend Salesforce with Clicks, Not Code Custom Help Content

• To make the learning item appear across Salesforce, select All for App and Object and Record.
• To make the learning item show up on every page in an app, select an app in the App picklist, then select All in the Object and
Record picklist.
• To make the learning item show up for a specific object in an app, select a value in the App and the Object and Record picklists.
• To have the learning item show up for the same object across Salesforce, select All in the app picklist, then select a value in the
Object and Record picklist.
• To add a module to a specific Setup page, enter a URL. If you don’t specify a URL, the module shows up on all pages in Setup.

6. Under Assignments, specify which users and public user groups see the module. If you don’t assign the module to at least one user
or public group, it doesn’t show up in the app.

When you assign a learning item to a public group, the assignment also applies to members that you subsequently add to the group.
The assignment is removed for members that you remove from the group.
7. To make the learning item required, include a due date.

8. Save your changes.


• The Selected for You section in the Guidance Center displays up to two learning items with a due date and no location specified
for Objects and Records. When completed, the learning items are removed from the panel.
• The Related to This Page section in the Guidance Center displays up to two learning items with a location specified for Objects
and Records. When completed, the learning items remain.
• A learning item that’s assigned to an app or a page is visible in the side panel only when users are in the associated app.
• Users can see all assigned learning items on Learning Home.

9. On the Manage Learning Assignments page, you can expand a row in the Name column to see all the users and groups that the
learning item is assigned to.

74
Extend Salesforce with Clicks, Not Code Custom Help Content

Use the row-level actions for a learning item to edit, delete, or add assignees to the item.
• To change the page that a learning item is assigned to, select Edit from the actions menu for the learning item.
• To assign a learning item to another individual or group, select Add Assignments from the actions menu for the learning item.
• To remove all assignments, select Unassign All in the row-level actions menu for the learning item.
• To delete a particular assignment, select Remove Assignment from the row-level action menu for an individual or group.

We suggest that you let your users know about Guidance Center and Learning Home so they can watch out for required content. To
hide Learning Home, in Setup, turn off Learning Paths on the Guidance Center page.

SEE ALSO:
Considerations for Using Learning Paths
Learning Paths Best Practices
Find Help in Lightning Experience
Customize the Help Menu in Lightning Experience
Customize Content in the Guidance Center
Plan Your Enablement Site Solution
Your Trailblazer Profile
Merge Trailblazer Accounts
Personalize the Navigation Bar in Lightning Experience
Personalized Navigation Considerations
Add and Customize Tabs on Lightning Pages Using the Lightning App Builder
What Is a Group?
Create and Edit Groups

75
Extend Salesforce with Clicks, Not Code Custom Help Content

Monitor Learning Paths (Beta)

USER PERMISSIONS EDITIONS

To create custom reports and dashboards Manage Learning Reporting Available in: Lightning
for Learning Paths Experience

To create and update custom report types Legacy Folder Sharing Available in: Developer,
Create and Customize Reports Professional, Enterprise,
Performance, and
AND Unlimited Editions
Manage Custom Report Types
Not Available for: Chatter
Enhanced Folder Sharing External, Chatter Free, or
Create and Customize Reports Communities (now known
AND as Experience Cloud) user
licenses
Manage Custom Report Types
Enablement Sites
To delete custom report types Legacy Folder Sharing (myTrailhead) available in:
Create and Customize Reports Enterprise, Performance,
and Unlimited Editions
AND
Manage Custom Report Types
AND
Modify All Data
Enhanced Folder Sharing
Create and Customize Reports
AND
Manage Custom Report Types
AND
Modify All Data

Use custom reports and dashboards to track user engagement with Learning Paths, Trailhead, and enablement sites (myTrailhead).

Note: As a beta service, Monitoring Learning Paths is subject to the Beta Services terms at:
https://www.salesforce.com/company/legal/agreements.jsp. Use this feature at your sole discretion, and make your purchase
decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this
feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only,
not for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of
or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related
Non-Salesforce Applications and Content apply equally to your use of this feature.

Use Cases for Reporting on Learning Paths


Learning Paths comes with four objects. Two of them give you information about Trailhead and an enablement site, and two give you
information about your assignments in Learning Paths. You can:

76
Extend Salesforce with Clicks, Not Code Custom Help Content

• Track the number of Trailhead and enablement site modules completed, including total points earned and how long it took each
user to complete each module.
• Identify the modules that are the most popular with your users by tracking how many people complete each one.
• Track the number of assigned modules that your users started but haven’t completed to get an idea of how helpful that learning
item is.
• Track how many learning items you assign in a given month and how many are in progress, overdue, or completed.
• Filter your reports by user fields such as username, profile, role, manager, or locale.
Here are examples of how you can use the four objects to track your users’ progress on learning items. Set up a custom report type using
one of the following objects to monitor Learning Paths.

Object Pulls Data from... Create a Report Showing...


Learning Content Trailhead and an enablement site How many Trailhead or enablement site
modules exist, by module title, and how
many points a user can earn for each

Learning Content Progress Trailhead and an enablement site How many Trailhead and enablement site
modules your users completed
Which users completed a particular
Trailhead or enablement site module and
how long it took them to finish
How many enablement site modules are in
progress
How many total points earned
company-wide

Learning Learning Paths How many individual users you assigned a


learning item to and how many of those
users completed the item

Learning Assignment Progress Learning Paths Which users you assigned a learning item
to, which users have it in progress, and
which users completed it
Which users have an overdue learning
assignment
The percentage of your users that
completed an assigned learning item

For example, create a report that associates the Learning Content object with the Learning object and Learning Assignments Progress
object. Then you can review data on the modules that you assign to specific users and those users' progress on the assigned modules.

77
Extend Salesforce with Clicks, Not Code Custom Help Content

After you create reports, you can create a dashboard that shows key data.

1. Number of Trailhead and enablement site modules completed company-wide, by week


2. Most popular Trailhead and enablement site modules
3. Number of Trailhead and enablement site modules completed company-wide
4. Number of hours spent reading Trailhead and enablement site modules company-wide
5. Number of points earned company-wide
6. Number of Trailhead and enablement site modules that your users have started but not yet finished

Considerations for Monitoring Learning Paths


You can track user engagement with Trailhead and enablement site modules, but not with custom links.
Reports using the Learning Content and Learning Content Progress objects show a maximum of 1,000 rows.
You can filter a report on the Learning Content Progress object by the date when a user began a module, but not when a user completed
the module.
You can’t filter a report on the Learning Assignment Progress object by the date when a user completed a module.
To report on users' learning assignment progress, filter your report on the Title field from the Learning Content object. You can't create
a report that shows users' progress on all assigned Trailhead modules.
You can’t track how many public groups or public group members you assigned a learning item to.

78
Extend Salesforce with Clicks, Not Code Custom Help Content

For more details on limitations for reports on Learning Paths, see Limits on Report Types and Report Considerations for Salesforce
Connect—All Adaptors in Salesforce Help.

SEE ALSO:
Assign a Learning Item for Learning Paths
Create a Custom Report Type
Limits on Report Types
Manage Custom Report Types
Build a Lightning Experience Dashboard
Salesforce Connect Support for Reports

Turn Off Learning Paths


Optionally, you can turn off Learning Paths, which hides the Learning Home and prevents admins
EDITIONS
from assigning learning items to users. When Learning Paths is turned off, the Guidance Center
remains available. Available in: Lightning
1. From Setup, in the Quick Find box, enter Guidance Center, and then select Guidance Experience
Center.
Available in: Developer,
2. Turn off Learning Paths. Professional, Enterprise,
Performance, and
Unlimited Editions

Not Available for: Chatter


External, Chatter Free, or
Communities (now known
as Experience Cloud) user
licenses

Enablement Sites
(myTrailhead) available in:
Enterprise, Performance,
and Unlimited Editions

USER PERMISSIONS

Change Guidance Center


Settings
• Modify All Data
OR
Customize Application

79
Extend Salesforce with Clicks, Not Code Custom Help Content

Guidance Center
The Guidance Center panel in Lightning Experience provides a convenient location for showing
EDITIONS
content that's assigned to or recommended for the current user. The Guidance Center includes not
only suggested content that's authored by Salesforce but also custom content that you manage. Available in: Lightning
With Learning Paths, you can manage the learning items—custom links, videos, and Trailhead Experience
modules—that are available in the Guidance Center and assign those items to specific users with
optional due dates. Available in: Starter,
Professional, Enterprise,
Note: The Guidance Center isn’t supported in the Salesforce mobile app. Trailhead modules Performance, Unlimited,
aren’t available in the Guidance Center in sandbox environments. and Developer Editions

Explore the Guidance Center


Open the Guidance Center to easily access help while in the flow of work.
Explore Guidance Sets
Salesforce admins, Enablement admins, and all Starter Edition users have access to guidance sets in the Guidance Center. Guidance
sets offer personalized setup and learning resources that align with experience level and a specific business journey. Each guidance
set includes suggested resources to help you successfully complete your job.
Customize Content in the Guidance Center
To add your own learning items in the Guidance Center, assign content with Learning Paths. Or, optionally hide Learning Home or
Salesforce suggestions.
Configuring the Size and Position of the Guidance Center
Personalize the in-app content experience with options for pinning and unpinning the Guidance Center panel. The Guidance Center
panel also automatically expands for videos and Trailhead modules, offering more room on the screen for your content.
Turn Off Suggested Content in the Guidance Center
Optionally, you can turn off Salesforce suggestions for content in the Guidance Center for end users. Suggested content still appears
for admins. The Guidance Center remains available so you can assign specific learning items with Learning Paths.
Turn Off Salesblazer Content in the Guidance Center
Optionally, turn off Salesblazer content in the Guidance Center for end users. The Guidance Center remains available for other content.

Explore the Guidance Center


Open the Guidance Center to easily access help while in the flow of work.
EDITIONS
To open the Guidance Center panel, in the global header, click the Guidance Center icon.
Available in: Lightning
Experience

Available in: Starter,


Professional, Enterprise,
Performance, Unlimited,
and Developer Editions

The Guidance Center panel includes these sections.

80
Extend Salesforce with Clicks, Not Code Custom Help Content

Selected for You (1)


Includes suggested content that’s specific to your role. Learning items assigned through Learning Paths also appear here when they
have a due date but no specific object or record location. Content is removed from this section when you complete it.
Salesblazer (2)
Includes insights, tips, and strategies curated for and written by sales leaders and professionals, originally published on the Salesforce
website. Content in the Salesblazer section opens in a new browser tab. Clicking an item in the Salesblazer section opens the content
in a new browser tab. Items remain in the Salesblazer section until the source content is refreshed, which occurs weekly on average.
Related to This Page (3)
Includes contextual content that’s specific to the page that you’re currently working on. Learning items assigned through Learning
Paths also appear here when they have a specific object or record location. Content remains visible in this section when complete
it so you can refer to it again. If there’s no contextual content or assignments for the page, the section is removed.
If your company uses Enablement for sales reps, the Guidance Center also shows a user’s assigned Enablement programs.

SEE ALSO:
Take Enablement Programs

81
Extend Salesforce with Clicks, Not Code Custom Help Content

Explore Guidance Sets


Salesforce admins, Enablement admins, and all Starter Edition users have access to guidance sets
EDITIONS
in the Guidance Center. Guidance sets offer personalized setup and learning resources that align
with experience level and a specific business journey. Each guidance set includes suggested resources Available in: Lightning
to help you successfully complete your job. Experience
1. Open the Guidance Center.
Available in: Starter,
The Selected for You section shows up to two guidance sets.
Professional, Enterprise,
Performance, Unlimited,
and Developer Editions

2. To find all available guidance sets, click View More.


As you open resources and complete steps in a guidance set, they’re marked as completed.

82
Extend Salesforce with Clicks, Not Code Custom Help Content

Customize Content in the Guidance Center


To add your own learning items in the Guidance Center, assign content with Learning Paths. Or,
EDITIONS
optionally hide Learning Home or Salesforce suggestions.
For information about assigning learning items with Learning Paths, see Assign a Learning Item for Available in: Lightning
Learning Paths. Experience
You can also turn off certain content in the Guidance Center. Available in: Starter,
• Turn Off Learning Paths Professional, Enterprise,
Performance, Unlimited,
• Turn Off Suggested Content in the Guidance Center and Developer Editions
• Turn Off Salesblazer Content in the Guidance Center

USER PERMISSIONS
SEE ALSO:
Find Help in Lightning Experience Change Guidance Center
Settings
Learning Paths • Modify All Data OR
Customize Application

Configuring the Size and Position of the Guidance Center


Personalize the in-app content experience with options for pinning and unpinning the Guidance
EDITIONS
Center panel. The Guidance Center panel also automatically expands for videos and Trailhead
modules, offering more room on the screen for your content. Available in: Lightning
Experience
Pinning and Unpinning the Guidance Center Available in: Starter,
The Guidance Center panel can overlap some elements of the page in Lightning Experience. To Professional, Enterprise,
split the screen between the Guidance Center and the Lightning Experience page, side by side with Performance, Unlimited,
no overlap, click the pin icon in the Guidance Center header. and Developer Editions

Salesforce remembers a user’s pin selection for the browser and device they’re on.

Tip: Pinning works best on wide screens. If the screen is too narrow, the Guidance Center can still overlap content on the page
even when it’s pinned.
To exit the split view and have the Guidance Center overlap the Lightning Experience page again, click the unpin icon in the Guidance
Center header.

Note: If you’re using Enablement programs, the Guidance Center is pinned by default.

To turn off pinning and unpinning, contact Salesforce Customer Support.

Expanded View for Videos and Trailhead Content


Some content types in the Guidance Center, such as videos or Trailhead units, are easier to experience when you have more room on
the screen. For these content types, the Guidance Center automatically expands to a larger width.
To resize the Guidance Center after it expands, toggle the arrow icon.

83
Extend Salesforce with Clicks, Not Code Custom Help Content

Turn Off Suggested Content in the Guidance Center


Optionally, you can turn off Salesforce suggestions for content in the Guidance Center for end users.
EDITIONS
Suggested content still appears for admins. The Guidance Center remains available so you can
assign specific learning items with Learning Paths. Available in: Lightning
1. From Setup, in the Quick Find box, enter Guidance Center, and then select Guidance Experience
Center.
Available in: Starter,
2. Turn off Salesforce Suggestions for End Users. Professional, Enterprise,
Performance, Unlimited,
Note: Turning off Salesforce suggestions also turns off Salesblazer content in the Guidance and Developer Editions
Center. When Salesforce suggestions are on, you can optionally turn off Salesblazer content
separately.
USER PERMISSIONS

Change Guidance Center


Settings
• Modify All Data
OR
Customize Application

84
Extend Salesforce with Clicks, Not Code Custom Help Content

Turn Off Salesblazer Content in the Guidance Center


Optionally, turn off Salesblazer content in the Guidance Center for end users. The Guidance Center
EDITIONS
remains available for other content.
1. From Setup, in the Quick Find box, enter Guidance Center, and then select Guidance Available in: Lightning
Center. Experience
2. Turn off Salesblazer Content. Available in: Starter,
Professional, Enterprise,
Note: If you turn off Salesforce suggestions for content in the Guidance Center, Salesblazer
Performance, Unlimited,
content also turns off. and Developer Editions

SEE ALSO:
USER PERMISSIONS
Turn Off Suggested Content in the Guidance Center
Salesforce: Salesblazer Website Change Guidance Center
Settings:
• Modify All Data
OR
Customize Application

Customize the Help Menu in Lightning Experience


The question mark icon in the global header opens a menu of related resources for a page, Trailhead
EDITIONS
modules, videos, and more items suggested by Salesforce. The Help Menu offers a default in-app
help experience for companies that don’t have custom guidance or training available to users. You Available in: Lightning
can supplement the recommended resources by adding a global section with links to your own Experience
content.
Available in: Group,
Select the question mark icon in the global header to open the Help Menu.
Professional, Enterprise,
Performance, Unlimited,
and Developer Editions

USER PERMISSIONS

To create custom help:


• Customize Application
OR Modify All Data

85
Extend Salesforce with Clicks, Not Code Custom Help Content

If you added custom resources, users see those resources first (1). New users can check out Getting Started (2). Different resources are
shown to users and admins. As you read, more suggested resources appear.
When appropriate, Salesforce suggests help topics, videos, Trailhead modules, and more under Help for This Page (3). Click the section
name or the arrow to view all resources for the page. If there are no suggested resources for the page, the section is hidden.
For general tasks such as searching help documentation and Trailhead, getting support, going to Trailhead, or learning about keyboard
shortcuts, look under More Resources (4). Admins see a link to view release notes.

Note: To create an improved and more robust learning experience for your users, check out Guidance Center on page 83 and
Learning Paths on page 68.
Add resources to the custom section of the Help Menu. Your section appears at the top of the Help Menu on each page. There’s only
one custom Help Menu section per org. You can’t add links to the Getting Started, Help For This Page, or More Resources sections.
1. From Setup in Lightning Experience, in the Quick Find box, enter Help Menu, and then select Help Menu.
2. Enter a title for the custom section. Salesforce recommends naming the section so that users understand that the resources are
custom help for your org or company. For example, Acme Company Help. Labels aren’t translated and appear as you entered
them.
3. Tip: List the most important resources first. Only the first two resources are shown in each section. Users can view all resources
by clicking the section name or the arrow.

86
Extend Salesforce with Clicks, Not Code Custom Help Content

Add labels and URLs for the resources. You can add up to 30 resources. Items are listed in the Help Menu in the order that they
appear on the setup page.
4. Save your changes.
5. Turn on Customize the Help Menu.
If you find that some sections of the Help Menu aren’t working for your users, simply hide them. Under Salesforce Help Content, turn off
the sections and links that you want to hide. As an admin with the Customize Application or Modify All Data user permission, you always
see all resources, including a link to the release notes.

Important: If you install a package with custom Help Menu resources, they don't appear in your Help Menu Setup page or in the
Help Menu user interface. To add resources per the package suggestions, use the CustomHelpMenuItem and
CustomHelpMenuSection SOAP API objects to view the information contained in the package. Then manually add any resources
to the Help Menu Setup page.
The Help Menu isn’t supported in the Salesforce mobile app.

SEE ALSO:
Find Help in Lightning Experience

Custom Help in Salesforce Classic


In Salesforce Classic, object-level help replaces the links for a custom object or external object page. Replace built-in Salesforce Help
with documentation that’s customized for your users.

Object-Level Help in Salesforce Classic


Help your users by providing object-level help for all custom objects and external objects. This way, when your users click the Help
for this Page link on your custom object, they’ll find useful information that’s relevant to your custom object. When you add custom
help to a custom or external object, the Help for this Page link on those object pages displays your custom help instead of generic
help. Your users can access the custom help content from the object home (overview), detail, and edit pages, list views, and related
lists.

Object-Level Help in Salesforce Classic


Help your users by providing object-level help for all custom objects and external objects. This way, when your users click the Help for
this Page link on your custom object, they’ll find useful information that’s relevant to your custom object. When you add custom help
to a custom or external object, the Help for this Page link on those object pages displays your custom help instead of generic help.
Your users can access the custom help content from the object home (overview), detail, and edit pages, list views, and related lists.

Note: If you don’t create object-level help, the Help for this Page link provides information about standard objects that won’t
be relevant to your custom object. You can override the Help for this Page links for a custom object or external object with help
content contained in a Visualforce page. But don’t worry! You don’t have to learn Visualforce to add help content to your custom
objects.

87
Extend Salesforce with Clicks, Not Code Custom Help Content

Define Org-Level Help in Salesforce Classic


If you rename standard tabs, objects, fields, and other related user interface labels, you can also replace the built-in Salesforce Help
with documentation that’s customized specifically for your users. To replace the built-in help, simply provide a URL to your custom
help. This feature is available for Salesforce Classic only.

SEE ALSO:
Custom Help Content
Define Object-Level Help in Salesforce Classic
Object-Level Help Considerations in Salesforce Classic

Define Object-Level Help in Salesforce Classic


Object-level help overrides the Help for this Page links for a custom object or external object with
EDITIONS
your own help content contained in a Visualforce page. To make object-level help available to all
your users, create a Visualforce page that contains your help content. Then edit the custom or Available in: Salesforce
external object definition to reference the page. Object-level help becomes available to all your Classic
users instantly.
Custom objects are
1. Create a Visualforce page that contains your help content.
available in: Contact
2. Edit the custom object definition or external object definition that uses the custom help when Manager, Group,
users click the Help for this Page link. Professional, Enterprise,
Performance, Unlimited,
3. For Context-Sensitive Help Setting, select Open a window using a Visualforce page.
and Developer Editions
4. Select the Visualforce page that contains your help content.
Salesforce Connect external
5. Save you work. objects are available in
Developer Edition and, for
an extra cost, in Enterprise,
SEE ALSO:
Performance, and Unlimited
Object-Level Help in Salesforce Classic Editions.
Custom Help Content

USER PERMISSIONS

To define or change
object-level help:
• Customize Application

88
Extend Salesforce with Clicks, Not Code Custom Help Content

Create a Custom Object Help Page with Static Content in Salesforce Classic
If you know HTML, it’s easy to add help to your custom objects by writing the content in HTML and
EDITIONS
saving it in a Visualforce page. No need to learn Visualforce. Just use the template that we provide.
1. From Setup, enter Visualforce Pages in the Quick Find box, then select Visualforce Available in: Salesforce
Pages. Classic
2. Click New. Custom objects are
The Visualforce page editor opens with a new page. available in: Contact
3. Complete the following fields. Manager, Group,
Professional, Enterprise,
Performance, Unlimited,
Field Description
and Developer Editions
Label The human-friendly name of the page used to identify the page in Salesforce Connect external
Setup tools. objects are available in:
Developer Edition and for
Tip: It’s a great idea to have a naming convention for your
an extra cost in: Enterprise,
custom help pages. For example, start all custom help pages
Performance, and
with “Help_” and then the object name. Unlimited Editions

Name The API name for the page. You can use the auto-filled value. Visualforce is available in:
Contact Manager, Group,
Description An optional description of the page. Professional, Enterprise,
Performance, Unlimited,
Available for Select this option if your custom object is available in the Salesforce and Developer Editions
Lightning Experience, mobile app.
Experience Builder
sites, and the mobile USER PERMISSIONS
app
To define or change
object-level help:
• Customize Application
4. Click Quick Save.
To create or edit Visualforce
5. In the Visualforce Markup tab code editor, select the default code and delete it. pages:
6. Paste the following help template code into the code editor. • Customize Application

<apex:page showHeader="false">

<!-- Add your help styles -->

<h1>Help for {YourObjectName} Object</h1>

<p>Your custom help message here.</p>

</apex:page>

7. Click Quick Save.


8. Edit the template to add your help content.
To add formatting to your page, use HTML markup. You can also use Visualforce markup if you know it.

9. Click Save.

89
Extend Salesforce with Clicks, Not Code Custom Help Content

You can now add this page as custom help. When users click Help for this Page, they see this page in the Help & Training window.

SEE ALSO:
Define Object-Level Help in Salesforce Classic
Create Custom Object Help with a PDF File in Salesforce Classic
Object-Level Help Considerations in Salesforce Classic

Create Custom Object Help with a PDF File in Salesforce Classic


Add help to your custom objects by creating Visualforce pages that redirect to PDF help files or a
EDITIONS
URL. No need to learn Visualforce. Just use the template that we provide.
You can write your help content in an authoring tool such as Microsoft Word and convert it to a Available in: Salesforce
PDF file. Classic
1. Upload your PDF file as a static resource. Custom objects are
Users see this PDF file when they request help with the custom object. available in: Contact
Manager, Group,
2. From Setup, enter Visualforce Pages in the Quick Find box, then select Visualforce Professional, Enterprise,
Pages. Performance, Unlimited,
3. Click New. and Developer Editions
The Visualforce page editor opens with a new page. Salesforce Connect external
objects are available in:
4. Complete the following fields.
Developer Edition and for
an extra cost in: Enterprise,
Field Description Performance, and
Label The human-friendly name of the page used to identify the page in Unlimited Editions
Setup tools. Visualforce is available in:
Contact Manager, Group,
Tip: It’s a great idea to have a naming convention for your
Professional, Enterprise,
custom help pages. For example, start all custom help pages Performance, Unlimited,
with “Help_” and then the object name. and Developer Editions

Name The API name for the page. You can use the auto-filled value.

Description An optional description of the page. USER PERMISSIONS

Available for Select this option if your custom object is available in the Salesforce To define or change
object-level help:
Lightning Experience, mobile app.
• Customize Application
Experience Builder
sites, and the mobile To create or edit Visualforce
app pages:
• Customize Application

5. Click Quick Save.


6. In the Visualforce Markup tab code editor, select the default code and delete it.
7. Paste the following help template code into the code editor.
<apex:page showHeader="false" action="{! URLFOR($Resource.YourCustomHelpResource) }">

90
Extend Salesforce with Clicks, Not Code Custom Help Content

<!-- This page redirects to the URL in the action attribute above -->

<p>Redirecting to help content...</p>

</apex:page>

8. Replace YourCustomHelpResource in the action attribute with the name of the static resource that you uploaded.
9. Click Save.
You can now add this page as help. When users click Help for this Page, they’re redirected to the resource you set in the action attribute.

Note: The user’s browser controls the behavior of a PDF link, not your Visualforce page. The PDF content might display in the
browser or be downloaded as a PDF file.

SEE ALSO:
Define Object-Level Help in Salesforce Classic
Create a Custom Object Help Page with Static Content in Salesforce Classic
Object-Level Help Considerations in Salesforce Classic

Object-Level Help Considerations in Salesforce Classic


Before defining object-level help text for your custom or external objects, review these best practices
EDITIONS
and implementation considerations.
Available in: Salesforce
Best Practices Classic (not available in all
orgs)
• The window that displays your object-level help has the same height and width dimensions
as the standard Salesforce Help & Training window. To increase the usability of your help content, Custom objects are
size and style your content appropriately. available in: Contact
Manager, Group,
• Your Visualforce help content pages can use merge fields or other functions to make the
Professional, Enterprise,
experience more personalized. For example, you can design the help to add the user’s name
Performance, Unlimited,
when the help page is displayed.
and Developer Editions
Salesforce Connect external
Advanced Implementation Considerations objects are available in:
• Create custom help Visualforce pages without a controller, or use a custom controller. You can’t Developer Edition and for
use a standard controller. an extra cost in: Enterprise,
Performance, and
• If you have defined object-level help for an object that you add to a Salesforce AppExchange
Unlimited Editions
package, Salesforce adds the Visualforce page or static resource referenced in your
Context-Sensitive Help Settings for that object. Visualforce is available in:
Contact Manager, Group,
• In managed packages, object-level help is locked to the developer, giving installers the ability Professional, Enterprise,
to change it if needed. Performance, Unlimited,
and Developer Editions
SEE ALSO:
Define Object-Level Help in Salesforce Classic
Object-Level Help in Salesforce Classic

91
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

Define Org-Level Help in Salesforce Classic


If you rename standard tabs, objects, fields, and other related user interface labels, you can also
EDITIONS
replace the built-in Salesforce Help with documentation that’s customized specifically for your
users. To replace the built-in help, simply provide a URL to your custom help. This feature is available Available in: Salesforce
for Salesforce Classic only. Classic (not available in all
Users can view this URL whenever they click on any context-sensitive help link on an end-user page orgs)
or within their personal settings. After you replace the help, the Help & Training link at the very top
Available in: All Editions
of every page and all Setup pages will continue to display the Salesforce Help. except Database.com
1. From Setup, enter Help Settings in the Quick Find box, then select Help Settings.
2. Enter the complete URL for your help file that you would like to replace the Salesforce Help.
3. Click Save.
• When you replace the Salesforce Help with your own help file, the Help & Training link still displays Salesforce Help. However, other
than within Setup, the Help for this Page links on all pages are no longer context-sensitive. That is, your help file will open at the
same place regardless of which page the user is viewing when they click the link.
• You can make your help context-sensitive by taking advantage of the context-specific parameters that are passed with each help
link. For example, the help link from the Opportunities tab home page is constructed as follows (without any line breaks):
http://your_help_file.com?loc=help&amp;body=%2Fhelp%2Fdoc%2Fen%2Fhelp2.jsp&target=opp_overview.htm&section=Opportunities
The values of the target and section parameters are unique for every page within the application. You can parse these
parameters to display context-sensitive help content for your users.

Tailor Business Processes to Different Record Types Users


Record types let you offer different business processes, picklist values, and page layouts to different
EDITIONS
users. You can create record types to differentiate your regular sales deals from your professional
services engagements, offering different picklist values for each. Or you can display different page Available in: both Salesforce
layouts for your customer support cases versus your billing cases. Classic and Lightning
Here’s an example of how record types can work in your org. Let’s say you have two sales divisions, Experience
hardware and consulting, and only your consulting division receives leads through seminars. You
Available in: Professional,
can choose to display the Seminar contact lead source for the consulting division only. Enterprise, Performance,
1. Manage master picklists Unlimited, and Developer
Editions
Define a list of contact Lead Source picklist values that contains all the values used by
both the Hardware and Consulting divisions, including Seminar.

2. Create record types USER PERMISSIONS


Create two contact record types: one called Hardware and another called Consulting. This step To create or change record
includes adding master picklist values to the record types. types:
• Customize Application
3. Add record types to profiles
Add the Hardware record type to the profiles for all users in the hardware sales division. Add
the Consulting record type to the profiles of all users in the consulting sales division.

4. Set personal options for record types

92
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

Let users of both the hardware and consulting sales divisions bypass the prompt that asks them to select a record type when creating
a contact. If you have users that create contact records for both sales divisions, they can customize their personal settings to always
prompt them to select a record type.

Considerations for Creating and Updating Record Types and Picklists


Keep these considerations in mind when working with record types and business process picklists.
Create Record Types
Before creating record types, include all of the possible record type values in your master list of picklists. The master picklist is a
complete list of picklist values that can be used in any record type.
Edit Picklists for Record Types and Business Processes
Customize the values in record type or business process picklists based on your organization’s unique needs.
Limitations for Creating and Updating Record Types and Picklists
Keep these limitations in mind when working with record types and business process picklists.
Managing Multiple Business Processes
Use multiple business processes to display different picklist values according to each user’s profile. Use multiple business processes
to track separate sales, support, and lead lifecycles.
Create Multiple Business Processes
Follow these steps to create sales processes, support processes, lead processes, and solution processes.

SEE ALSO:
How Is Record Type Access Specified?

Considerations for Creating and Updating Record Types and Picklists


Keep these considerations in mind when working with record types and business process picklists.
EDITIONS

General Available in: both Salesforce


Classic and Lightning
• If each profile is associated with a single record type, users will never be prompted to select a Experience
record type when creating records.
Available in: Professional,
• Don’t name your record type Master because it’s reserved for record types.
Enterprise, Performance,
• Don’t use record types as an access control mechanism. Profile assignment governs create and Unlimited, and Developer
edit access for an object but doesn’t govern read access. For example, a user assigned to a Editions
profile that isn't enabled for a particular record type can't create records with that record type,
but can access records associated with that record type. Users with access to an object can read
all record type information for that object.
• We strongly recommend against storing sensitive information in the record type description, name, or label. Instead, store sensitive
information in a separate object or fields to which you applied appropriate access controls.
• A user can be associated with several record types. For example, a user who creates marketing campaigns for both US and European
divisions can have both US and European campaign record types available when creating campaigns.
• When creating and editing record types for accounts, opportunities, cases, contacts, or custom objects, check for criteria-based
sharing rules that use existing record types as criteria. A record type change may affect the number of records that the rule shares.
For example, let's say you have a record type named Service, and you created a criteria-based sharing rule that shares all Service

93
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

record types with your service team. If you create another record type named Support, and you want these records shared with your
service team, update the sharing rule to include Support record types in the criteria.
• Deleting a record type also deletes the related path.
• Business and person accounts require at least one active record type.
• Deleting campaign member record types updates the Campaign Member Type field on campaign and campaign member records.
• Person accounts are account records to which a special record type has been assigned. These record types are called person account
record types. Person account record types allow contact fields to be available on the account and allow the account to be used as if
it were a contact. A default person account record type named Person Account is automatically created when person accounts are
enabled for your org. You can change the name of this record type, and you can create more person account record types.
• From the UI, you can change an account’s record type from a business account to a business account or from a person account to
a person account. However, to change an account’s record type from a business account to a person account, or vice versa, you
must use the API.
• When users convert, clone, or create records, these special considerations apply.
– When a user converts a lead, the new account, contact, and opportunity records use the default record type for the owner of
the new records. The user can choose a different record type during conversion.
– When a user clones a record, the new record has the record type of the cloned record. If the user’s profile doesn’t have access
to the record type of the cloned record, the new record adopts the user’s default record type.
– When a user creates a case or lead and applies assignment rules, the new record can keep the creator’s default record type or
take the record type of the assignee, depending on the case and lead settings specified by the administrator.

• Changing a record type causes Lightning pages to refresh.

Deactivating Record Types


Consider these guidelines if you are deactivating a record type.
• Deactivating a record type doesn’t remove it from any user profiles or permission sets.
• Deactivating a record type means that no new records can be created with the record type. However, any records that were previously
created with the record type are still associated with it and with its associated page layout.
• To deactivate all record types from an object, remove all record types from all the profiles and deactivate the record types. Then
create one new record type and activate it, but don’t add it to any profiles. One record type must exist to enable existing records
that used the deactivated record types to display properly.
If you encounter any issues inline editing a record in Lightning Experience after deactivating a record type, edit the Page Layout Assignment
so that another layout on the object, such as the default layout, is used for the custom record type. Otherwise, consider reactivating the
disabled record type.

Record Types and Picklists


• Before creating record types, include all the possible record type values in your master list of picklists. The master picklist is a complete
list of picklist values that can be used in any record type.
• The master picklist is independent of all record types and business processes. If you add a picklist value to the master picklist, you
must manually include the new value in the appropriate record types. If you remove a picklist value from the master, it is no longer
available when creating records, but records assigned to that value are unchanged.

94
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

• When you create a record type without cloning an existing one, the new record type automatically includes the master picklist values
for both standard and custom picklists. You can then customize the picklist values for the record type.

SEE ALSO:
Tailor Business Processes to Different Record Types Users
Create Record Types
Limitations for Creating and Updating Record Types and Picklists

Create Record Types


Before creating record types, include all of the possible record type values in your master list of
EDITIONS
picklists. The master picklist is a complete list of picklist values that can be used in any record type.
1. From the management settings for the appropriate object, go to Record Types. Available in: both Salesforce
Classic and Lightning
2. Click New.
Experience
3. Select Master from the Existing Record Type dropdown list to copy all available picklist values,
or choose an existing record type to clone its picklist values. Available in: Professional,
Enterprise, Performance,
Note: When you create a record type without cloning an existing one, the new record Unlimited, and Developer
type automatically includes the master picklist values for both standard and custom Editions
picklists. You can then customize the picklist values for the record type.

4. Enter a Record Type Label that's unique within the object. USER PERMISSIONS

Important: Don’t name your record type Master because it’s reserved for record types. To create or change record
types:
5. Enter a Record Type Name. The Record Type Name refers to the component when using • Customize Application
Metadata API and prevents naming conflicts on package installation in managed packages.
6. For opportunity, case, lead, and solution record types, select a business process to associate with the record type.
7. Enter a description.
8. Select Active to activate the record type.
9. Select Make Available next to a profile to make the record type available to users with that profile. Select the checkbox in the
header row to make it available for all profiles.

Tip: If each profile is associated with a single record type, users will never be prompted to select a record type when creating
records. Users assigned to a record type can still view and edit records associated with record types not enabled for their
profiles.

10. For selected profiles, select Make Default next to a profile to make it the default record type for users of that profile. Select the
checkbox in the header row to make it the default for all profiles.
11. Click Next.
12. Choose a page layout option to determine what page layout displays for records with this record type:
• To apply a single page layout for all profiles, select Apply one layout to all profiles and choose the page layout from the
dropdown list.
• To apply different page layouts based on user profiles, select Apply a different layout for each profile and choose a page
layout for each profile.

95
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

13. Click Save to edit the values of the standard and custom picklists available for the record type, or click Save and New to create
another record type.

SEE ALSO:
Tailor Business Processes to Different Record Types Users
Considerations for Creating and Updating Record Types and Picklists
Limitations for Creating and Updating Record Types and Picklists

Edit Picklists for Record Types and Business Processes


Customize the values in record type or business process picklists based on your organization’s
EDITIONS
unique needs.
1. Select a record type or business process and click Edit next to the picklist field to change its Available in: both Salesforce
values. Classic and Lightning
Experience
2. Add or remove values as needed. Users can choose from these values when creating or editing
records. Record types are available
3. Optionally, choose a default picklist value. Some picklists require a default value. The default in: Professional, Enterprise,
Performance, Unlimited,
value in a dependent field is ignored.
and Developer Editions
4. Click Save.
Business processes are
available in: Enterprise,
SEE ALSO: Performance, Unlimited,
Custom Fields and Developer Editions

USER PERMISSIONS

To create or change record


types:
• Customize Application
To create or change
business processes:
• Customize Application

Limitations for Creating and Updating Record Types and Picklists


Keep these limitations in mind when working with record types and business process picklists.
EDITIONS
• These special picklist fields aren’t available for record types because they’re used exclusively for
sales processes, lead processes, support processes, and solution processes. Available in: both Salesforce
Classic and Lightning
– Opportunity Stage
Experience
– Case Status
Available in: Professional,
– Solution Status
Enterprise, Performance,
– Lead Status Unlimited, and Developer
You can use these fields to provide different picklist values for different record types by assigning Editions
a different process to each record type.
• These campaign member picklists aren’t available for these record types.

96
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users

– Status
– Salutation
– Lead Source

• If the object is referenced in Apex, you can’t edit or delete a record type for the object.
• If a record type is in use by an email routing address for Email-to-Case or On-Demand Email-to-Case, you can’t deactivate the record
type.
• Record types can only be assigned to campaign members using the Campaign Member Type field on new or existing
campaigns. To assign record types to campaign members, add the Campaign Member Type field to the campaign page
layout. You must have the Marketing User user permission to change the campaign member type. You can also add a
read-only Campaign Member Type field to the campaign members page layout.
• We recommend creating no more than 200 record types. Orgs can have difficulty managing their record types if they exceed 200.
• When the org source tracking permission is enabled and you try retrieving information about a specific custom field associated with
a record type, you retrieve information for all the fields associated with that record type. However, when the org source tracking
permission is disabled, you retrieve information only for the standard fields associated with the record type and the field mentioned
in the package.xml file.

SEE ALSO:
Create Record Types
Considerations for Creating and Updating Record Types and Picklists

Managing Multiple Business Processes


Use multiple business processes to display different picklist values according to each user’s profile.
EDITIONS
Use multiple business processes to track separate sales, support, and lead lifecycles.
Sales Processes Available in: both Salesforce
Create different sales processes that include some or all of the picklist values available for the Classic and Lightning
opportunity Stage field. Experience

Lead Processes Available in: Enterprise,


Create different lead processes that include some or all of the picklist values available for the Performance, Unlimited,
Lead Status field. and Developer Editions
Support Processes
Create different support processes that include some or all of the picklist values available for USER PERMISSIONS
the case Status field.
To create or change
Solution Processes business processes:
Create different solution processes that include some or all of the picklist values available for • Customize Application
the Status field.
After creating a sales, support, lead, or solution process, assign the process to a record type. The
record type determines the user profiles that are associated with the business process.
To view a list of business processes, from Setup, enter Processes in the Quick Find box, then select the appropriate link.

SEE ALSO:
Edit Picklists for Record Types and Business Processes

97
Extend Salesforce with Clicks, Not Code Manage Your Translations

Create Multiple Business Processes


Follow these steps to create sales processes, support processes, lead processes, and solution
EDITIONS
processes.
1. From Setup, enter Processes in the Quick Find box, then select the appropriate link. Available in: both Salesforce
Classic and Lightning
2. Click New.
Experience
3. Choose an existing process to copy its picklist values into the new process. Select Master to
copy all available picklist values. Available in: Enterprise,
Performance, Unlimited,
4. Enter a name and description for the new process. The name must be unique within the tab. and Developer Editions
5. Click Save.
All of the available values in the picklist are displayed. Choose the values that you would like USER PERMISSIONS
included in the new business process.
To create or change
Next, add the new business process to a record type, and then make the record type available to business processes:
users based on profile. • Customize Application

Manage Your Translations


If your Salesforce org has multiple languages enabled, manage translations so that your global users
EDITIONS
can use Salesforce in their language.

Note: Standard objects aren’t available in Translation Workbench. Use the rename tabs and Metadata translation
labels interface for standard object translation. available in: Salesforce
Classic (not available in all
orgs) and Lightning
Metadata Translation Experience
When you enable multiple languages in your Salesforce org, Salesforce translates some labels
Data translation available in:
for you, based on the language type. For labels without a default translation, you can localize
Lightning Experience
your apps and custom functionality for any Salesforce supported language through metadata
translation. Available in: Professional,
Enterprise, Performance,
Data Translation
Unlimited, and Developer
When data translation is enabled, the data stored in the Industries Record Alert object and the
Editions
B2B Commerce Product and Product Category objects’ Name and Description fields is available
for translation. You can also enable data translation for custom text and URL fields on those Data translation applies to:
objects. B2B Commerce

Translation Workbench
Use Translation Workbench to maintain translated values for metadata and data labels in your Salesforce org. Specify languages for
translation and assign translators for each language. Manage translated values for any Salesforce supported language. Translators
can maintain translations directly through the workbench, or you can export translation files for bulk translation imports.
Translation Considerations
Review considerations for managing your translations and translating flows.

98
Extend Salesforce with Clicks, Not Code Manage Your Translations

Metadata Translation
When you enable multiple languages in your Salesforce org, Salesforce translates some labels for
EDITIONS
you, based on the language type. For labels without a default translation, you can localize your
apps and custom functionality for any Salesforce supported language through metadata translation. Available in: Salesforce
Salesforce-provided translations vary by language type. Classic (not available in all
orgs) and Lightning
Language Type Translations Provided by Salesforce Experience

Fully supported languages Metadata labels for all standard features, plus Available in: Professional,
Help. Enterprise, Performance,
Unlimited, and Developer
End-user languages Metadata labels for all standard objects and Editions
pages, except admin pages and Setup. No
translations for Help.

Platform-only languages None

In situations where Salesforce doesn’t provide default translations, metadata translation allows you to localize apps and custom functionality
that you build in Salesforce. You can translate items such as custom labels, custom objects, and field names.

Metadata Available for Translation


You can translate metadata labels only for certain Salesforce Setup components.
Flow Components for Metadata Translation
Flow components are the parts of a flow you can translate.

SEE ALSO:
Supported Languages
Translation Workbench

Metadata Available for Translation


You can translate metadata labels only for certain Salesforce Setup components.
EDITIONS
Note: Standard objects aren’t available in Translation Workbench. Use the rename tabs and
labels interface for standard object translation. Available in: Salesforce
Classic (not available in all
To view the translatable metadata labels in your Salesforce organization, first enable Translation orgs) and Lightning
Workbench. Then, from the Translate Setup page, select a Setup component. If needed, select Experience
Object, Custom Report Type Entity, Flow, Flow Type, Flow Component, or Aspect.
Available in: Professional,
You can translate the following components. Enterprise, Performance,
• Action Unlimited, and Developer
• Address Country Editions

• Address State
• Apex Sharing Reason
• App
• Button and Link Label

99
Extend Salesforce with Clicks, Not Code Manage Your Translations

• Chatter Extension
• Custom Field
• Custom Report Type
• Data Category
• Data Category Group
• Division
• Feed Filter
• Field Set
• Flow
• Global Value Set
• Layout Section
• Lookup Filter
• Managed Content Node Type
• Managed Content Type
• Navigation Menu Item (for Experience Cloud sites)
• Path Step Rich Text
• Picklist Value
• Prompt
• Prompt Version
• Record Type
• Reputation Level (for Experience Cloud sites)
• S-Control
• Solution Category
• Stamp
• Standard Field Help
• Timeline Object Definition
• Validation Error Message
• Web Tab (also includes Lightning component and Visualforce tabs)
• Workflow Task

Important: Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls can’t create them.
Existing s-controls are unaffected and can still be edited.

SEE ALSO:
Supported Languages
Translation Workbench

100
Extend Salesforce with Clicks, Not Code Manage Your Translations

Flow Components for Metadata Translation


Flow components are the parts of a flow you can translate.
EDITIONS
Flow Description Where Translation Appears Available in: Salesforce
Component Classic (not available in all
Definition The flow name The flow interview’s title bar. orgs) and Lightning
Experience
Version The version label of a flow The active flow version label is the flow
Available in: Professional,
definition label by default, so it appears
Enterprise, Performance,
in the flow interview's title bar. When
Unlimited, and Developer
you enter the flow definition and its
Editions
translation manually, the translated
definition label overrides the active flow
version label. When the flow definition
label doesn't have a translation, the
translated version label appears as the
flow interview's title.

Screen Info Aspect includes help text and paused Help text and paused messages for the
messages overall screen.

Screen Field Aspect includes labels, description, help Field-level text on a screen. The
text, and error messages for screen description aspect is the text for screen
components output components.

Choice Aspect includes field labels, help text, Field-level text for choice components.
text input labels

Stage Stage labels Screen components that can reference


stage labels, including Display Text
components and attributes for screen
components that require Lightning
runtime.

Text Template Aspect includes text in a text template All the pages of a survey. Available only
in Salesforce Surveys.

SEE ALSO:
Metadata Translation
Translation Workbench
Considerations for Translating Flows

101
Extend Salesforce with Clicks, Not Code Manage Your Translations

Data Translation
When data translation is enabled, the data stored in the Industries Record Alert object and the B2B
EDITIONS
Commerce Product and Product Category objects’ Name and Description fields is available for
translation. You can also enable data translation for custom text and URL fields on those objects. Available in: Lightning
Note: Data translation requires API version 48.0 or later. Experience

Available in: Enterprise,


Performance, and
Enable Data Translation Developer Editions
Allow translation of data stored in the Industries Record Alert object and within the Name and
Description fields on the Product and Product Category objects.
Enable Data Translation for Custom Fields
Allow translation of data stored in custom fields on the Record Alert, Product, and Product Category objects. You can enable data
translation on custom fields with a type of Text, Text Area, Text Area (Long), Text Area (Rich), and URL.

Enable Data Translation


Allow translation of data stored in the Industries Record Alert object and within the Name and
EDITIONS
Description fields on the Product and Product Category objects.

Note: Before enabling data translation, note these important considerations: Available in: Lightning
Experience
• Data translation requires API version 48.0 or later.
Available in: Enterprise,
• Data translation counts against your Salesforce org’s storage limits.
Performance, and
1. From Setup, in the Quick Find box, enter Company Information, and then select Developer Editions
Company Information.
2. In the Organization Detail section, click Edit. USER PERMISSIONS
3. Select Enable Data Translation. To view company
4. Click Save. information:
• View Setup and
Data translation is now available for the Name and Description fields through the Translation
Configuration
tab within Product. You can also manage your data translations through the Export and Import
options within Translation Workbench. To change company
information:
5. Optional: Enable data translation for custom fields. • Modify All Data

SEE ALSO:
Translation Workbench
Salesforce B2B Commerce and D2C Commerce
Data and File Storage Allocations

102
Extend Salesforce with Clicks, Not Code Manage Your Translations

Enable Data Translation for Custom Fields


Allow translation of data stored in custom fields on the Record Alert, Product, and Product Category
EDITIONS
objects. You can enable data translation on custom fields with a type of Text, Text Area, Text Area
(Long), Text Area (Rich), and URL. Available in: Lightning
Before enabling data translation for custom fields, you must enable data translation. Experience

Note: Data translation requires API version 48.0 or later. Available in: Enterprise,
Performance, and
1. From Setup, in the Quick Find box, enter Data Translation Settings, and then Developer Editions
select Data Translation Settings.
2. Select an object to enable data translation for its custom fields. USER PERMISSIONS
Only objects that support data translation are listed.
To change data translation
3. Select the custom fields that you want to make available for data translation. settings:
Data translation can only be enabled on custom fields with a type of Text, Text Area, Text Area • Customize Application
(Long), Text Area (Rich), and URL. AND
Modify All Data
4. Click Save.
If your B2B Commerce Store supports multiple languages, data translation is now available for the
selected custom fields through the Translation tab within Product and Product Category. You can
also manage your data translations through the Export and Import options within Translation Workbench.

SEE ALSO:
Salesforce B2B Commerce and D2C Commerce
Translation Workbench

Translation Workbench
Use Translation Workbench to maintain translated values for metadata and data labels in your
EDITIONS
Salesforce org. Specify languages for translation and assign translators for each language. Manage
translated values for any Salesforce supported language. Translators can maintain translations Metadata translation
directly through the workbench, or you can export translation files for bulk translation imports. available in: Salesforce
Classic (not available in all
Note: Translation Workbench is only available for multi-language orgs. If you aren’t sure
orgs) and Lightning
whether you have a single-language or multi-language organization, contact Salesforce
Experience
Customer Support.
Data translation available in:
Lightning Experience
Enable or Disable Translation Workbench
Translation Workbench allows you to specify languages for translation, assign translators, and Available in: Professional,
manage your translations through the workbench or bulk translation. Enterprise, Performance,
Unlimited, and Developer
Add Translated Languages and Translators
Editions
Add languages for translation, assign translators for each language, and activate or deactivate
a language’s translations. Data translation applies to:
B2B Commerce
Translate Metadata Labels
Create and update metadata translations for customizations you make to your Salesforce
organization, such as custom picklist values and custom field labels.

103
Extend Salesforce with Clicks, Not Code Manage Your Translations

Override Translations in Second-Generation Managed Packages and Unlocked Packages


You can override metadata translations for custom objects in namespaced unlocked packages and second-generation managed
packages. For example, override the label on a custom field or workflow task.
Export Metadata Translation Files
To easily translate your metadata, create files for your translators that contain your Salesforce org’s translatable metadata. Examples
of translatable metadata include custom field labels, report type names, and picklist values.
Export Data Translation Files
If data translation is enabled in your Salesforce org, you can create files for your translators that contain your org’s data translations.
Examples of translatable data include B2B Commerce Product names and data stored in custom fields.
Work with Translation Files
Translate metadata labels or data translation text, or review existing translations, with XML Localization Interchange File Format (.xlf)
or Salesforce Translation Format (.stf) files.
Import Translated Files
Import and update the translations for your Salesforce org’s metadata, such as custom fields, report types, and picklist values. Or
import and update data translations, such as Product names. Typically, you export translation files from Salesforce, then send them
to outside translators or a translation agency for bulk translation activities. You then import the translated files.
Common Errors with Exporting and Importing Translation Files
Troubleshoot issues you can encounter while exporting and importing files in Translation Workbench.

SEE ALSO:
Supported Languages
Rename Object, Tab, and Field Labels

Enable or Disable Translation Workbench


Translation Workbench allows you to specify languages for translation, assign translators, and
EDITIONS
manage your translations through the workbench or bulk translation.
1. From Setup, in the Quick Find box, enter Translation Language Settings, and Available in: Salesforce
then select Translation Language Settings. Classic (not available in all
orgs) and Lightning
2. On the welcome page, click Enable.
Experience
Enabling Translation Workbench makes these changes to your Salesforce org. If a customized
component doesn’t have a translated value, the component uses the org’s default language. When Available in: Professional,
Enterprise, Performance,
you deactivate a language, all translations for that language are still available in Translation
Unlimited, and Developer
Workbench. However, users with that language selected see the org’s default language values.
Editions
• The Manage Translation systems permission is available in permission sets.
• You must edit picklist values individually. You can’t mass-edit existing picklist values, but you USER PERMISSIONS
can still mass-add new values.
• When picklist values are sorted alphabetically, the values are alphabetical by the org’s default To enable and disable
language. Translation Workbench:
• Customize Application
• Reports have a Filter Language dropdown list in the Filters pane of the report builder. Selecting
a language filters on translated strings for any filter criteria that use the starts with, contains, or
doesn’t contain operator.
• Import files have a Language dropdown list, and all records and values within the import file must be in the selected language.

104
Extend Salesforce with Clicks, Not Code Manage Your Translations

• Web-to-Lead and Web-to-Case have a Language dropdown list before you generate the HTML.
To disable Translation Workbench, from Setup, in the Quick Find box, enter Translation Language Settings, and then
select Translation Language Settings. Click Disable.

Note: In a Developer org with a managed package containing translations, Translation Workbench can’t be disabled after it’s
enabled.

SEE ALSO:
Supported Languages
Language, Locale, and Currency Settings
Rename Object, Tab, and Field Labels

Add Translated Languages and Translators


Add languages for translation, assign translators for each language, and activate or deactivate a
EDITIONS
language’s translations.

Note: The Manage Translation permission is enabled by default in the System Administrator Available in: Salesforce
profile. Classic (not available in all
orgs) and Lightning
Before adding a language for translation, you must select languages for your org and enable Experience
Translation Workbench.
Available in: Professional,
1. From Setup, in the Quick Find box, enter Translation Language Settings, and Enterprise, Performance,
then select Translation Language Settings. Unlimited, and Developer
2. To activate a new language, click Add. Or to change an existing supported language, click Edit. Editions
3. If adding a language, choose a language.
4. To make the entered translations available to your users, select Active. Users can change USER PERMISSIONS
their personal language anytime, regardless of whether it's active in the Translation Workbench. To add or edit languages:
Selecting Active makes the translations available to the users in that language. • Manage Translation
We recommend that you don't make a language active until the translators have translated all To assign translators:
values. • Manage Translation
Note: If you installed a managed package that includes translations, those translated
values appear to users regardless of whether the language is active on the Translation
Language Settings Setup page. To override metadata translations delivered by a managed
package for custom objects, see Override Translations in Second-Generation Managed
Packages and Unlocked Packages.

5. To assign translators for this language, select them from the Available List, and click Add. If you don't see the member that
you want to add, enter keywords in the search box, and click Find.

Important: Ensure that all translators have the View Setup and Configuration permission so that they can begin translating.
Users can only translate languages that they're assigned to.

105
Extend Salesforce with Clicks, Not Code Manage Your Translations

6. Save your changes.

SEE ALSO:
Select Languages for Your Org
Enable or Disable Translation Workbench
Override Translations in Second-Generation Managed Packages and Unlocked Packages

Translate Metadata Labels


Create and update metadata translations for customizations you make to your Salesforce
EDITIONS
organization, such as custom picklist values and custom field labels.

Note: Entering translations through Translation Workbench has limitations, so note the Available in: Salesforce
following. Classic (not available in all
orgs) and Lightning
• Use the rename tabs and labels interface for standard object translation. Standard objects Experience
and custom object names aren’t available in Translation Workbench.
Available in: Professional,
• Manage data translations through the Translation tab within Product or through the
Enterprise, Performance,
Export and Import options in Translation Workbench. Only metadata translations are
Unlimited, and Developer
available for translation via the Translate Setup page. Editions
Before translating metadata labels, you must select languages for your org, enable Translation
Workbench, and add translated languages and translators. USER PERMISSIONS
1. From Setup, in the Quick Find box, enter Translate, and then select Translate.
To translate terms:
2. Select the Language you're translating into. • View Setup and
3. Select a Setup Component. See Metadata Available for Translation for a list of translatable Configuration
components. AND

4. Depending on the setup component, select the next options. Be designated as a


translator
The aspect is a part of the setup component that you can translate. For example:For global
value sets and picklist values, you can translate inactive values by selecting Show Inactive
Values.
• Workflow tasks have an object (for example, Account or Contact) and aspect (Subject or Comment).
• Custom Report Types have a custom report type entity (Custom Report Type, Custom Report Type Column, or Custom Report
Type Layout Section) and aspect (field label or description).
• Flows have a flow type (Flow and Autolaunched Flow), a flow name, and a flow component (Definition, Version, Screen Info,
Screen Field, and Choice). Flow components can have a flow version, screen, or aspect.

5. To enter new values, double-click in the translation column. You can press Tab to advance to the next editable field or Shift+Tab to
go to the previous editable field.

Note: The Out of Date column indicates the possibility that the label needs translating because the primary label has
been updated. When editing a button or link label, you see the Button or Link Name column, which is used to refer
to the component when using SOAP API.

6. Click Save.

106
Extend Salesforce with Clicks, Not Code Manage Your Translations

If a customized component doesn’t have a translated value, the component uses the org’s default language. When you deactivate a
language, all translations for that language are still available in Translation Workbench. However, users with that language selected see
the org’s default language values.

SEE ALSO:
Select Languages for Your Org
Translation Workbench
Rename Object, Tab, and Field Labels
Metadata Available for Translation

Override Translations in Second-Generation Managed Packages and Unlocked Packages


You can override metadata translations for custom objects in namespaced unlocked packages and
EDITIONS
second-generation managed packages. For example, override the label on a custom field or workflow
task. Available in: Salesforce
Note: Overriding translations in second-generation managed packages and unlocked Classic (not available in all
orgs) and Lightning
packages has limitations:
Experience
• You can’t override translations for standard objects in packages.
Available in: Professional,
• You can’t override translations for global picklist value sets.
Enterprise, Performance,
• You can’t override data translations. Unlimited, and Developer
Editions
If you installed a managed package that includes translations, those translated values appear to
users regardless of whether the language is active on the Translation Language Settings Setup
page. Before you can override those translations, you must select languages for your org and enable USER PERMISSIONS
Translation Workbench.
To override metadata
1. From Setup, in the Quick Find box, enter Override, and then select Override. translations:
2. Select the Package that you’re overriding. • View Setup and
Configuration
3. Select the Language that you're entering your overrides in.
AND
Note: The Language list shows the languages that meet these criteria: Customize Application
• The language is in the package that’s associated with this namespace.
• There is at least one translation for the language, or it’s the package default language.

4. Select a Setup Component. See Metadata Available for Translation for a list of translatable components.
5. Depending on the setup component, select the next options.
The aspect is a part of the setup component that you can translate. For example:For global value sets and picklist values, you can
translate inactive values by selecting Show Inactive Values.
• Workflow tasks have an object (for example, Account or Contact) and aspect (Subject or Comment).
• Custom Report Types have a custom report type entity (Custom Report Type, Custom Report Type Column, or Custom Report
Type Layout Section) and aspect (field label or description).
• Flows have a flow type (Flow and Autolaunched Flow), a flow name, and a flow component (Definition, Version, Screen Info,
Screen Field, and Choice). Flow components can have a flow version, screen, or aspect.

107
Extend Salesforce with Clicks, Not Code Manage Your Translations

6. To enter new values, double-click in the translation column. You can press TAB to advance to the next editable field or SHIFT-TAB
to go to the previous editable field.

Note: The Out of Date column indicates the possibility that the term needs translation because the primary label has
been updated. When editing a button or link label, you see the Button or Link Name column, which is used to refer
to the component when using SOAP API.

7. Click Save.

SEE ALSO:
Select Languages for Your Org
Enable or Disable Translation Workbench
Metadata Available for Translation

Export Metadata Translation Files


To easily translate your metadata, create files for your translators that contain your Salesforce org’s
EDITIONS
translatable metadata. Examples of translatable metadata include custom field labels, report type
names, and picklist values. Available in: Salesforce
Before you can export metadata translation files, you must enable Translation Workbench. Classic (not available in all
orgs) and Lightning
Note: You need the Manage Translation AND Create Documents user permissions to import Experience
or export translation files. If you attempt either operation without both user permissions, it’s
possible to navigate to the import or export page, but the operation itself fails. Available in: Professional,
Enterprise, Performance,
Tip: When you export metadata translation files, individual uncompressed files are limited Unlimited, and Developer
to 5 MB each. If your org’s metadata translations exceed 5 MB, the system exports the metadata Editions
in multiple files. If multiple .zip files are required, each file name is date-stamped and
incremented. For example, Outdated and untranslated 2020–09–20
USER PERMISSIONS
05:13_part 1 of 2.zip.
1. From Setup, in the Quick Find box, enter Export, and then select Export. To export or import
translation files
2. If data translation is enabled in your org, select the Metadata translation type. • Manage Translation
3. Select the labels that you want to export. AND
Option Description Create Documents

Source Used as the initial source for creating translations.


Creates a single file that contains a list of all your translatable
customizations.

Outdated and Used to make updates.


untranslated Creates a set of files that contain only metadata labels that haven’t been
translated, including new and modified labels.
One file is created for each language. These files are then compressed into
.zip files.

108
Extend Salesforce with Clicks, Not Code Manage Your Translations

Option Description

Bilingual Used for reference and reviewing all your untranslated and translated customizations.
Creates a list of all the translatable metadata labels in their current translated or untranslated state.
One file is created for each language. These files are then compressed into .zip files.
The content in each file is divided into Untranslated and Translated sections. Each translatable label is
in the Untranslated or the Translated section, according to its translation state. The Translated section
includes the out-of-date status for each label.

Note: Exported translation file content is in your org's default language.

4. If you selected Outdated and untranslated or Bilingual, select the languages to include in the output text file.
5. Select a format.
Salesforce recommends the XML Localization Interchange File Format (XLIFF), because it contains more information than the .stf
format, such as the field width.

6. Click Export.
A status message tells you that the export is being processed. Wait for it to finish before you submit another export request. When
the export is complete, an email is sent to the email address specified in your profile.

7. Locate the exported .stf, .xlf, or .zip file. Go to Your name > Documents > Document Folders > My Personal Documents > Go!.
The names of the exported files indicate the export option and include a timestamp. Individual files end with a .stf or .xlf extension.
Multiple files are grouped into .zip files.
Find the exported files under the sort letter:

Option Description

B Bilingual export option, for example: Bilingual_2020-01-23_11:20.zip.

S Source export option, for example: Source_en_US_2020-01-23_11:20.stf.

O Outdated and untranslated export option, for example:


Outdated_and_untranslated_2020-01-23_11:20.zip.

8. Save the files for translation by your translators or translation agency. Click View > Save File > OK.
The file is saved to the location specified by your browser. For example, C:/Users/username/Downloads.

9. Send the files to your translators or translation agency for bulk translation.
Use Import to update your labels

SEE ALSO:
Translation Workbench
Salesforce Developer Doc: Translations

109
Extend Salesforce with Clicks, Not Code Manage Your Translations

Export Data Translation Files


If data translation is enabled in your Salesforce org, you can create files for your translators that
USER PERMISSIONS
contain your org’s data translations. Examples of translatable data include B2B Commerce Product
names and data stored in custom fields. To export or import
translation files
Available in: Lightning Experience • Manage Translation
AND
Available in: Enterprise, Performance, and Developer Editions
Create Documents

Note: You need the Manage Translation AND Create Documents user permissions to import
or export translation files. If you attempt either operation without both user permissions, it’s
possible to navigate to the import or export page, but the operation itself fails.
Before you can export data translation files, you must enable Translation Workbench and data translation.

Important: Each data translation export request is limited to 1 GB of data and 100,000 records. If your requested export exceeds
either of those limits, only a partial file is exported. To reduce the amount of data exported, use the language filter, available for
the Outdated and translated and Bilingual export types. If your org’s data translations for a single object and language exceed
either of those limits, use BULK API.
1. From Setup, in the Quick Find box, enter Export, and then select Export.
2. Select Data as the Translation Type.
3. Select the objects for data translation.
4. Select which labels you want to export.
• Source–Used as the initial source for creating translations.
Creates a set of files by object with all translatable text.

• Outdated and untranslated–Used to make updates.


Creates a set of files, by language and then by object, including text changed after the last translation and text that isn’t yet
translated. These files are then compressed into .zip files.

• Bilingual–Used for reference and reviewing all your untranslated and translated customizations.
Creates a set of files, by language and then by object, including all the translatable text in its current translated or untranslated
state. These files are then compressed into .zip files.
The content in each file is divided into Untranslated and Translated sections. Each translatable text element is in the Untranslated
or the Translated section, according to its translation state. The Translated section includes the out-of-date status for each text
element.

5. If you selected the Outdated and untranslated or Bilingual export type, select at least one language.
6. Select a file format. Salesforce recommends the XML Localization Interchange File Format (XLIFF) because it contains more information
than the .stf format, like the field width.
7. Click Export.
A status message tells you that the export is being processed. Wait for it to finish before submitting another export request. When
the export is complete, an email is sent to the email address specified in your profile. The email includes a link to a .zip file with your
exported translation files.

110
Extend Salesforce with Clicks, Not Code Manage Your Translations

Note: When exporting data translation files, individual uncompressed files are limited to 25 MB. If multiple files are required,
each file name is date stamped and incremented. For example, Bilingual_de_Product2_2020-10-20
0836_1.xlf and Bilingual_de_Product2_2020-10-20 0836_2.xlf.

8. Send the files to your outside translators or translation agency for bulk translation activities, then use Import to update your data
translations.

SEE ALSO:
Enable Data Translation
Translation Workbench
Salesforce Developer Doc: Translations

Work with Translation Files


Translate metadata labels or data translation text, or review existing translations, with XML
EDITIONS
Localization Interchange File Format (.xlf) or Salesforce Translation Format (.stf) files.
Translation files can contain metadata translations or data translations. Metadata translations are Metadata translation
for customizations that you made to your Salesforce organization, such as custom picklist values available in: Salesforce
and custom field labels. Data translations are for the data stored within fields, such as the text in Classic (not available in all
the Product object’s Name and Description fields. orgs) and Lightning
Experience
For metadata and data translation files, there are three file types.
Data translation available in:
• Source: Use to translate labels for the first time.
Lightning Experience
• Outdated and untranslated: Use to translate labels after the first translation pass.
Available in: Professional,
• Bilingual: Use to review and edit translations.
Enterprise, Performance,
Translation files are identified with either the .xlf or .stf extension. Salesforce recommends the XML Unlimited, and Developer
Localization Interchange File Format (.xlf) for translation files. Editions

Data translation applies to:


Considerations for Working with Translation Files B2B Commerce
Review some important considerations to ensure that your edited translation file can be
successfully imported.
Source Translation Files
Use the Source file to translate an organization's labels or data for the first time. The Source file contains labels for all of a Salesforce
org's translatable metadata or data in the org's default language.
Outdated and Untranslated Translation Files
Use the Outdated and untranslated file to translate labels or data that need translation. The file includes labels or data changed since
the last translation and labels that haven't been translated. One Outdated and untranslated file is generated for each language.
When multiple files are generated, they're exported to a .zip file containing a file for each translation language.
Bilingual Translation Files
Use the Bilingual file to review translations, edit existing translations, and add translations for labels or data that haven't been
translated. One Bilingual file is generated for each translation language.
Translation File IDs and Keys
Each translatable item has a unique identifier in the translation file. In .xlf files, it’s the id within a trans-unit tag. In .stf files, it’s the
key. The structure of these identifiers differs for metadata and data translation files.

111
Extend Salesforce with Clicks, Not Code Manage Your Translations

Flow Identifiers in Translation Files


In a translation file exported from Translation Workbench, a unique key or trans-unit ID attribute identifies a flow metadata label.

SEE ALSO:
Export Metadata Translation Files
Export Data Translation Files
Import Translated Files

Considerations for Working with Translation Files


Review some important considerations to ensure that your edited translation file can be successfully
EDITIONS
imported.
Metadata translation
General Considerations available in: Salesforce
Classic (not available in all
• Translation files are identified with the .stf or .xlf extension. Don't change the file extension. orgs) and Lightning
• Salesforce recommends the XML Localization Interchange File Format (.xlf) for translation files. Experience
• All translation files are language-specific. Data translation available in:
• A translation file name includes the name of the export option used to create it, the language Lightning Experience
code for the file's content, and a date stamp. Data translation file names also include the name
Available in: Professional,
of the object.
Enterprise, Performance,
• Deleting a translation value, row, or trans-unit tag in the file doesn't remove the translation Unlimited, and Developer
after the file is imported. To delete a translation, replace the translated text with <> in an .stf Editions
file or &lt;&gt; in an .xlf file. When the file is imported, the label reverts to its primary label
value. See Outdated and Untranslated Translation Files and Bilingual Translation Files in Salesforce Data translation applies to:
B2B Commerce
Help for examples.

Note: See the following Data Translation File Considerations for important notes about
deleting the data translation for a record’s Name field.

Exported Translation File Limits


• When exporting metadata translation files, individual uncompressed files are limited to 5 MB each. If your org’s metadata translations
exceed 5 MB, the system exports multiple files. If multiple .zip files are required, each file name is date-stamped and incremented.
For example, Outdated and untranslated 2020–09–20 05:13_part 1 of 2.zip.
• Each data translation export request is limited to 1 GB of data and 100,000 records. If your requested export exceeds either of those
limits, only a partial file is exported. To reduce the amount of data exported, use the language filter, available for the Outdated and
translated and Bilingual export types. If your org’s data translations for a single object and language exceed either of those limits,
use BULK API.
• When exporting data translation files, individual uncompressed files are limited to 25 MB. If multiple files are required, each file name
is date stamped and incremented. For example, Bilingual_de_Product2_2020-10-20 0836_1.xlf and
Bilingual_de_Product2_2020-10-20 0836_2.xlf.

Translation File Import Limits


• When importing metadata translation files, individual uncompressed files are limited to 10 MB each.

112
Extend Salesforce with Clicks, Not Code Manage Your Translations

• If data translation isn’t enabled in your org, each imported .zip file is limited to 10 MB. If data translation is enabled, each imported
.zip file is limited to 1 GB.
• When importing data translation files, individual uncompressed files are limited to 50 MB each.
• When zipping data translation files for import, each .zip file can contain up to 100,000 total translation records within up to 2 GB of
uncompressed files.

Data Translation File Considerations


A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you
must provide a German translation for the name of a Product before you can translate its description into German.
When translating text in a rich text area field, don’t delete HTML tags such as <p></p> and <b></b>. If you remove those tags, the
returned value of toLabel(rich_text_area_field) in SOQL queries can be truncated to 255 characters.
There are two ways to delete the translated values for all fields related to a record. Because translation files are language-specific, this
action is per language.

Note: You can restore deleted data translation values through the recycle bin.

• Delete translated text for all of the record’s fields. For example, a Product has German translated values for its name and description.
To remove all German data translations for that Product, replace the translated text for that Product record’s Name and Description
fields with <> in an .stf file or &lt;&gt; in an .xlf file.
• Delete the translated text for the record’s Name field, and remove the rows or trans-unit tags for the record’s other fields. For
example, a Product has German translated values for its name and description. To remove all German data translations for that
Product, replace the translated text for that Product record’s Name fields with <> in an .stf file or &lt;&gt; in an .xlf file. Also
delete the row or trans-unit tag for that Product’s Description field.
If an imported translation file deletes the translated value for a record’s Name and includes a translated value for another field, no action
is taken. For instance, you delete the translated value for a Product’s name but leave the translation key for that Product’s description
unchanged in a translation file for German. When you import that translation file, no changes are made to that Product’s translated
values for German.

XML Localization Interchange File Format (.xlf) File Considerations


The .xlf format is the recommended export type because it contains more information than the .stf format, like the field width.
• .xlf translation file content is organized into translation units. Translation units for translated labels contain a target tag with the
translated value. Untranslated labels have a source tag, but no target tag.
• Translators must create a target tag for each untranslated label to store the translated value. Otherwise, don't add tags to or
remove tags from the .xlf file.
• The file tag’s attributes define details about the translation file, such as the source language, target language, and the translation
type.
• The trans-unit tags’ attributes define details about the translation unit, such as the id and the field width.

Salesforce Translation Format (.stf) File Considerations


The .stf format behaves like a .csv file, with content organized into tab-delimited columns.
• If you don’t use a standard translation tool such as Trados, edit the file using an application that supports tabs and word wrap, such
as WordPad.
• Don't add columns to or remove columns from the translation file.

113
Extend Salesforce with Clicks, Not Code Manage Your Translations

• If you use tabs, new lines, or carriage returns in your text for translation, they’re represented with special characters in the .stf file
format. Tabs are \t, new lines are \n, and carriage returns are \r. To ensure consistency between your language versions, ensure
that these characters are maintained in your translations.
• If you use Microsoft Excel to enter translations in an .stf file, your file format can be corrupted. MS Excel automatically adds quotation
marks around entries that have commas. We recommend that you open your files in a text editor before importing them and remove
these quotation marks. The import fails if these quotation marks aren’t removed.

Translating Rich Text Fields


Fields with a type of Text Area (Rich) allow special formatting, such as bolding text or adding an image. When rich text fields are exported
for translation, the translatable text for those fields includes encoded HTML tags.
If your translators edit raw translation files, make sure that they understand HTML tags and their encoding. When translating the text,
HTML tags aren’t required. However, if HTML tags are included in a translated value, they must be valid and in the same format as the
exported tags. If the tags are incorrect, the translation import fails.

Note: The HTML tags are visible in the raw files. Many translation tools handle the conversion of markup languages like HTML for
you.
All rich text field translations must be contained within an HTML paragraph (<p>) tag with the appropriate HTML encoding for that file
type. If the translation value contains only plain text, the required paragraph tag is added upon import.
This table provides examples of exported rich text field content.

Rich Text Field Content Format Exported Text


Available in women’s shoe sizes .stf <p>Available in women’s shoe sizes 5-13.</p>
5–13.
.xlf &lt;p&gt;Available in women’s shoe sizes 5-13.&lt;/p&gt;

15% discount available for .stf <p>15% discount available for veterans.
veterans. </p><p><b>Verification required.</b></p>
Verification required. .xlf &lt;p&gt;15% discount available for veterans.
&lt;/p&gt;&lt;p&gt;&lt;b&gt;Verification
required.&lt;/b&gt;&lt;/p&gt;

Features: .stf <p>Features:<ul><li>Leather</li><li>LImported</li><li>Rubber


• Leather sole</li><li>Lightweight</li><li>Flexible
sole</li></ul></p>
• Imported
• Rubber sole .xlf &lt;p&gt;Features: &lt;ul&gt;&lt;li&gtLeather
&lt;/li&gt&lt;li&gtImported &lt;/li&gt&lt;li&gtRubber
• Lightweight
sole &lt;/li&gt&lt;li&gtLightweight
• Flexible sole &lt;/li&gt&lt;li&gtFlexible sole
&lt;/li&gt&lt;/ul&gt;&lt;/p&gt;

See more information at this .stf <p>See more information at <a


reference site. href=”https://www.example.com”>this reference
site</a>.</p>

114
Extend Salesforce with Clicks, Not Code Manage Your Translations

Rich Text Field Content Format Exported Text


.xlf &lt;p&gt;&lt;a
href=&quot;https://www.example.com&quot;&gt;this
reference site&lt;/a&gt;.&lt;/p&gt;

SEE ALSO:
Export Metadata Translation Files
Export Data Translation Files
Import Translated Files
View, Restore, and Manage the Recycle Bin in Salesforce Classic

Source Translation Files


Use the Source file to translate an organization's labels or data for the first time. The Source file
EDITIONS
contains labels for all of a Salesforce org's translatable metadata or data in the org's default language.

Note: Salesforce recommends the XML Localization Interchange File Format (.xlf) for Metadata translation
translation files. See Considerations for Working with Translation Files for tips on editing available in: Salesforce
Classic (not available in all
translation files and how to translate rich text field content.
orgs) and Lightning
To prepare the translation file for your translators: Experience
• Create one copy of the Source file for each language you’re translating into. Data translation available in:
• In the header of each Source file, change the language code from the organization's default Lightning Experience
language to the translation language. For example, replace en_US for English (US) with es
Available in: Professional,
for Spanish.
Enterprise, Performance,
Unlimited, and Developer
XML Localization Interchange File Format (.xlf) Source Translation Files Editions
Source .xlf translation file content is organized into translation units. Translation units for translated Data translation applies to:
labels contain a target tag with the translated value. Untranslated labels have a source tag, B2B Commerce
but no target tag.
Tell your translators:
• After each source tag, add a target tag that contains the translated value.
• If a target tag exists and the translation is out of date, replace the text in the target tag. Outdated labels have a value of
outOfDate="true" within the trans-unit tag.
• When translating text in a rich text area field, include all HTML tags such as <p></p> and <b></b>.

Important: A translated value for the data in the record’s Name field is required to translate data in other fields for that record.
For example, you must provide a German translation for the name of a Product before you can translate its description into German.

Tag Description Edit Options


trans-unit Translation unit. Contains unique identifiers Do not edit.
for the label, including the label’s id,
maximum width, and out-of-date indicator.

source Label or text in the org’s default language. Do not edit.

115
Extend Salesforce with Clicks, Not Code Manage Your Translations

Tag Description Edit Options


target The current translation that is visible to end Enter the translated value. Add a target tag
users selecting the target language as their if needed.
personal language.

note Description of the metadata label, if defined, Do not edit. Translatable field descriptions
in the source language. each have a separate trans-unit tag.

For example, if you build a custom Nickname field on the Account object, the original file contains the following trans-unit tag
in the exported Source .xlf file.
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char">
<source>Nickname</source>
<note>The person’s nickname, or what they prefer to be called.</note>
</trans-unit>

To translate this label, add a target tag containing the translated value to the corresponding trans-unit tag after the source
tag.
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char">
<source>Nickname</source>
<target>Apodo</target>
<note>The person’s nickname, or what they prefer to be called.</note>
</trans-unit>

Salesforce Translation Format (.stf) Source Translation Files


Note: Salesforce doesn’t recommend the STF format for translation files. If you choose to use this format, we don’t recommend
editing the file with Microsoft Excel. For more information and restrictions, see Considerations for Working with Translation Files.
Tell your translators to replace the untranslated values in the LABEL column with translated values.

Important: A translated value for the data in the record’s Name field is required to translate data in other fields for that record.
For example, you must provide a German translation for the name of a Product before you can translate its description into German.

Column Description Edit Options


KEY Unique identifier for the label. Do not edit.

LABEL Label or text in the org’s default language. Replace untranslated values with translated
values.

For example, if you build a custom Nickname field on the Account object, the original file contains the following row in the exported
Source .stf file.

# KEY LABEL

CustomField.Account.Nickname.FieldLabel Nickname

To translate this label, replace the LABEL text in that row with the translated value.

116
Extend Salesforce with Clicks, Not Code Manage Your Translations

# KEY LABEL

CustomField.Account.Nickname.FieldLabel Apodo

Important: Don't add columns to or remove columns from the .stf translation file.

SEE ALSO:
Considerations for Working with Translation Files
Supported Languages

Outdated and Untranslated Translation Files


Use the Outdated and untranslated file to translate labels or data that need translation. The file
EDITIONS
includes labels or data changed since the last translation and labels that haven't been translated.
One Outdated and untranslated file is generated for each language. When multiple files are Metadata translation
generated, they're exported to a .zip file containing a file for each translation language. available in: Salesforce
Classic (not available in all
Note: Salesforce recommends the XML Localization Interchange File Format (.xlf) for
orgs) and Lightning
translation files. See Considerations for Working with Translation Files for tips on editing
Experience
translation files and how to translate rich text field content.
When working with the Outdated and untranslated translation file, each entry needs a new translated Data translation available in:
value. Special values are used to delete an existing translation and revert the label to its original Lightning Experience
value. Available in: Professional,
Enterprise, Performance,
Unlimited, and Developer
XML Localization Interchange File Format (.xlf) Outdated and Untranslated Translation
Editions
Files
Data translation applies to:
Outdated and untranslated .xlf translation file content is organized into translation units. Translation
B2B Commerce
units for translated labels contain a target tag with the translated value. Untranslated labels
have a source tag, but no target tag.
Tell your translators:
• For untranslated labels, add a target tag containing the translated value after each source tag.
• If the label’s translation is out of date, replace the text in the target tag. Outdated labels have a value of outOfDate="true"
within the trans-unit tag. Don’t update the outOfDate value.
• To delete a translation, replace the value in the label's target tag with &lt;&gt;. When the Bilingual file is imported, the label
reverts to its original value.
• A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you
must provide a German translation for the name of a Product before you can translate its description into German.
• Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language.
See Considerations for Working with Translation Files for more information.
• When translating text in a rich text area field, don’t delete HTML tags such as <p></p> and <b></b>. If you remove those tags,
the translated text can be truncated.

117
Extend Salesforce with Clicks, Not Code Manage Your Translations

Tag Description Edit Options


trans-unit Translation unit. Contains unique identifiers Do not edit.
for the label, including the label’s id,
maximum width, and out-of-date indicator.

source Label or text in the org’s default language. Do not edit.

target The current translation that is visible to end Enter the translated value. Add a target tag
users selecting the target language as their if needed.
personal language.

note Description of the metadata label, if defined, Do not edit. Translatable field descriptions
in the source language. each have a separate trans-unit tag.

For example, an existing Nickname field on the Account object has a Spanish translated value of “Apodo.” You change the primary label
on the Nickname field from “Nickname” to “Preferred Name.” That label is now outdated. You also build a new custom Business Hours
field on the Account object. The exported Outdated and untranslated .xlf translation file contains the following trans-unit tags.
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="true">
<source>Preferred Name</source>
<target>Apodo</target>
<note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="false">
<source>Business Hours</source>
</trans-unit>

To update the outdated label, update the text in the corresponding target tag. To translate the new field’s label, add a target
tag containing the translated value to the corresponding trans-unit tag after the source tag. Don’t change the outOfDate
tag values. When you import the translated file, labels with updated translations are marked as up to date.
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="true">
<source>Preferred Name</source>
<target>Nombre preferido</target>
<note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="false">
<source>Business Hours</source>
<target>Horario de oficina</target>
</trans-unit>

To delete the Preferred Name label’s translation, update the translation value in the target tag with &lt;&gt;. When the file is imported,
the label reverts to its original value.
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="true">
<source>Preferred Name</source>
<target>&lt;&gt;</target>

118
Extend Salesforce with Clicks, Not Code Manage Your Translations

<note>The name preferred by this person.</note>


</trans-unit>

Salesforce Translation Format (.stf) Outdated and Untranslated Translation Files


Note: Salesforce doesn’t recommend the STF format for translation files. If you choose to use this format, we don’t recommend
editing the file with Microsoft Excel. For more information and restrictions, see Considerations for Working with Translation Files.
Tell your translators to replace the values in the LABEL column with updated translated values.
• To delete a translation, replace the desired value in the TRANSLATION column with a left and right angle bracket pair (<>). When
the file is imported, the label reverts to its original value.
• A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you
must provide a German translation for the name of a Product before you can translate its description into German.
• Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language.
See Considerations for Working with Translation Files for more information.

Column Description Edit Options


KEY Unique identifier for the label. Do not edit.

LABEL Label or text in the org’s default language. Replace untranslated values with translated
values.

For example, an existing custom Nickname field on the Account object has a Spanish translated value of “Apodo.” You change the
primary label on the Nickname field from “Nickname” to “Preferred Name.” That label is now outdated. You also build a new custom
Business Hours field on the Account object. The exported Outdated and untranslated .stf translation file contains these rows.

# KEY LABEL

CustomField.Account.Nickname.FieldLabel Preferred Name

CustomField.Account.Business_Hours.FieldLabel Business Hours

To translate the new field’s label and update the existing label, replace the LABEL text in each row.

# KEY LABEL

CustomField.Account.Nickname.FieldLabel Nombre preferido

CustomField.Account.Business_Hours.FieldLabel Horario de oficina

To delete the Nickname field’s outdated translation of “Apodo,” replace the translation value in the LABEL column with <>. When the
file is imported, the label reverts to its primary label value of “Preferred Name.”

# KEY LABEL

119
Extend Salesforce with Clicks, Not Code Manage Your Translations

CustomField.Account.Nickname.FieldLabel <>

SEE ALSO:
Considerations for Working with Translation Files

Bilingual Translation Files


Use the Bilingual file to review translations, edit existing translations, and add translations for labels
EDITIONS
or data that haven't been translated. One Bilingual file is generated for each translation language.

Note: Salesforce recommends the XML Localization Interchange File Format (.xlf) for Metadata translation
translation files. See Considerations for Working with Translation Files for tips on editing available in: Salesforce
Classic (not available in all
translation files and how to translate rich text field content.
orgs) and Lightning
Experience
XML Localization Interchange File Format (.xlf) Bilingual Translation Files
Data translation available in:
Bilingual .xlf translation file content is organized into translation units. Translation units for translated Lightning Experience
labels contain a target tag with the translated value. Untranslated labels have a source tag,
but no target tag. Available in: Professional,
Enterprise, Performance,
Tell your translators: Unlimited, and Developer
• For untranslated labels, add a target tag containing the translated value after the source Editions
tag. Data translation applies to:
• If the label’s translation is out of date, replace the text in the target tag. Outdated labels B2B Commerce
have a value of outOfDate="true" within the trans-unit tag.
• To delete a translation, replace the value in the trans-unit's target tag with
&lt;&gt;. When the Bilingual file is imported, the label reverts to its primary label value.
• A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you
must provide a German translation for the name of a Product before you can translate its description into German.
• Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language.
See Considerations for Working with Translation Files for more information.
• When translating text in a rich text area field, don’t delete HTML tags such as <p></p> and <b></b>. If you remove those tags,
the translated text can be truncated.

Tag Description Edit Options


trans-unit Translation unit. Contains unique identifiers Do not edit.
for the label, including the label’s id,
maximum width, and out-of-date indicator.

source Label or text in the org’s default language. Do not edit.

target The current translation that is visible to end Enter the translated value. Add a target tag
users selecting the target language as their if needed. Replace a value with &lt;&gt;
personal language. to delete the translation.

note Description of the metadata label, if defined, Do not edit. Translatable field descriptions
in the source language. each have a separate trans-unit tag.

120
Extend Salesforce with Clicks, Not Code Manage Your Translations

For example, in an org with English as its default language, you build a new custom Business Hours field on the Account object. This
label is untranslated.
Nickname, an existing custom field on the Account object, has a Spanish translated value of “Apodo.” You change the primary label on
the Nickname field from “Nickname” to “Preferred Name.” This label is outdated.
Another existing custom Prior Reference Number field on the Account object has an incorrect Spanish translated value of “Número de
consulta previa.” Although the translation isn’t out of date, it must be updated to “Número de referencia precedente.”
The Name field on a custom Widget object had a primary label of “SLK.” A translator misinterpreted this acronym and entered a Spanish
translation of “Flojo.” Although the translation isn’t out of date, you want to revert the translation to the primary label.
Finally, a custom Number field on a custom Widget object had a primary label of “Number” and a Spanish translated value of “Número.”
You update the primary label to “#” and want to remove the translated value.
The exported Bilingual .xlf translation file contains the following row in the OUTDATED AND UNTRANSLATED section.
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="false">
<source>Business Hours</source>
</trans-unit>
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="true">
<source>Preferred Name</source>
<target>Apodo</target>
<note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Prior_Ref_No.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="false">
<source>Prior Reference Number</source>
<target>Número de consulta previa</target>
</trans-unit>
<trans-unit id="CustomField.Widget__c.Name.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="false">
<source>SLK</source>
<target>Seda</target>
</trans-unit>
<trans-unit id="CustomField.Widget__c.Number.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="true">
<source>#</source>
<target>Número</target>
</trans-unit>

To make the requested changes:


• Add a target tag with the translated value to the new Business Hours field.
• Update the translation values in the target tags for the Preferred Name and Prior Reference Number fields.
• To delete the translation of the Widget object’s Name and Number fields, update the translation values in those target tags with
&lt;&gt;. When this file is imported, those labels revert to the primary label values.
• Don’t change the outOfDate tag values. When you import the translated file, labels with updated translations are marked as up
to date.
<trans-unit id="CustomField.Account.Business_Hours.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="false">
<source>Business Hours</source>
<target>Horario de oficina</target>

121
Extend Salesforce with Clicks, Not Code Manage Your Translations

</trans-unit>
<trans-unit id="CustomField.Account.Nickname.FieldLabel" maxwidth="40" size-unit="char"
outOfDate="true">
<source>Preferred Name</source>
<target>Nombre preferido</target>
<note>The name preferred by this person.</note>
</trans-unit>
<trans-unit id="CustomField.Account.Prior_Ref_No.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="false">
<source>Prior Reference Number</source>
<target>Número de referencia precedente</target>
</trans-unit>
<trans-unit id="CustomField.Widget__c.Name.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="false">
<source>SLK</source>
<target>&lt;&gt;</target>
</trans-unit>
<trans-unit id="CustomField.Widget__c.Number.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="true">
<source>#</source>
<target>&lt;&gt;</target>
</trans-unit>

Salesforce Translation Format (.stf) Bilingual Translation Files


Note: Salesforce doesn’t recommend the STF format for translation files. If you choose to use this format, we don’t recommend
editing the file with Microsoft Excel. For more information and restrictions, see Considerations for Working with Translation Files.
Bilingual .stf translation file content is separated into translated labels and outdated or untranslated labels.
The TRANSLATED section of the .stf file contains text that has been translated and is up to date. When importing, four columns are
expected for each label in this section: KEY, LABEL, TRANSLATION, and OUT OF DATE.
For this section, tell your translators:
• To update a current translation, replace the value in the TRANSLATION column.
• To delete a translation, replace the value in the TRANSLATION column with a left and right angle bracket pair (<>). When the file is
imported, the label reverts to its primary label’s value.

Column Description Edit Options


KEY Unique identifier for the label. Do not edit.

LABEL Label or text in the org’s default language. Do not edit.

TRANSLATION The current translation that is visible to end • To edit a translation, replace the
users selecting the target language as their translated value.
personal language.
• To delete a translation, replace the
translated value with <>.

OUT OF DATE Indicates whether the source text has Do not edit.
changed since the previous translation.
A dash (-) indicates that the translation is
current.

122
Extend Salesforce with Clicks, Not Code Manage Your Translations

The OUTDATED AND UNTRANSLATED section of the file contains labels changed after the label’s translation value was last updated and
text that hasn't been translated. When importing, two columns are expected for each label in this section: KEY and LABEL.
For this section, tell your translators:
• Replace the text in the LABEL column with new or updated translation values.
• Delete any values in the TRANSLATED and OUT OF DATE columns.
• Delete the corresponding columns in the OUTDATED AND UNTRANSLATED section.
• To delete an outdated translation, replace the value in the LABEL column with a left and right angle bracket pair (<>). When the file
is imported, the label reverts to its primary label’s value.
• A translated value for the data in the record’s Name field is required to translate data in other fields for that record. For example, you
must provide a German translation for the name of a Product before you can translate its description into German.
• Deleting the data translated value for a record’s Name field can delete all of that record’s other translated values for that language.
See Considerations for Working with Translation Files for more information.

Column Description Edit Options


KEY Unique identifier for the label. Do not edit.

LABEL Label or text in the org’s default language. Replace label text with new or updated
translated values.

TRANSLATION The current translation that is visible to end Delete this column and its contents when
users selecting the target language as their updating an out-of-date translation.
personal language.
Untranslated labels don’t have a value in
this column.

OUT OF DATE Indicates whether the source text has Delete this column and its contents when
changed since the previous translation. updating an out-of-date translation.
An asterisk (*) indicates that the label is out
of date. A change was made to the primary
label and the translation hasn't been
updated.
Untranslated labels don’t have a value in
this column.

For example, in an org with English as its default language, an existing custom Prior Reference Number field on the Account object has
an incorrect Spanish translated value of “Número de consulta previa.” Although the translation isn’t out of date, it must be updated to
“Número de referencia precedente.”
The Name field on a custom Widget object had a primary label of “SLK.” A translator misinterpreted this acronym and entered a Spanish
translation of “Flojo.” Although the translation isn’t out of date, you want to revert the translation to the primary label.
You also build a new custom Business Hours field on the Account object. This label is untranslated.
Nickname, another existing custom field on the Account object, has a Spanish translated value of “Apodo.” You change the primary label
on the Nickname field from “Nickname” to “Preferred Name.” This label is outdated.
Finally, a custom Number field on a custom Widget object had a primary label of “Number” and a Spanish translated value of “Número.”
You update the primary label to “#” and want to remove the translated value.

123
Extend Salesforce with Clicks, Not Code Manage Your Translations

The exported Bilingual .stf translation file contains these rows in the OUTDATED AND UNTRANSLATED section.

------------------TRANSLATED-------------------

# KEY LABEL TRANSLATION OUT OF


DATE

CustomField.Account.Prior_Ref_No.FieldLabel Prior Reference Número de consulta –


Number previa

CustomField.Widget__c.Name.FieldLabel SLK Seda –

------------------OUTDATED AND UNTRANSLATED-----------------

# KEY LABEL TRANSLATION OUT OF


DATE

CustomField.Account.Business_Hours.FieldLabel Business Hours

CustomField.Account.Nickname.FieldLabel Preferred Name Apodo *

CustomField.Widget__c.Number.FieldLabel # Número *

To make the requested changes:


• In the TRANSLATED section, update translations by replacing the value in the TRANSLATION column. To delete the translation of the
Widget object’s Name field, replace the TRANSLATION value with <>. When this file is imported, the label for that Number field
reverts to its primary label value of SLK.
• In the OUTDATED AND UNTRANSLATED section, replace the value in the LABEL column. Then remove the TRANSLATION and OUT
OF DATE columns and their content for the Nickname field. To delete the translation of the Widget object’s Number field, replace
the TRANSLATION value with <>. When this file is imported, the label for that Number field reverts to its primary label value of #.

------------------TRANSLATED-------------------

# KEY LABEL TRANSLATION OUT OF


DATE

CustomField.Account.Prior_Ref_No.FieldLabel Prior Reference Número de –


Number referencia
precedente

CustomField.Widget__c.Name.FieldLabel SLK <> –

------------------OUTDATED AND UNTRANSLATED-----------------

# KEY LABEL

CustomField.Account.Business_Hours.FieldLabel Horario de oficina

CustomField.Account.Nickname.FieldLabel Nombre preferido

CustomField.Widget__c.Number.FieldLabel <>

124
Extend Salesforce with Clicks, Not Code Manage Your Translations

Important: Delete the TRANSLATION and OUT OF DATE columns only in the OUTDATED AND UNTRANSLATED section. Rows in
that section must have exactly two columns of data to be imported. Rows in the TRANSLATED section must have exactly four
columns of data to be imported.

SEE ALSO:
Considerations for Working with Translation Files

Translation File IDs and Keys


Each translatable item has a unique identifier in the translation file. In .xlf files, it’s the id within a
EDITIONS
trans-unit tag. In .stf files, it’s the key. The structure of these identifiers differs for metadata and data
translation files. Metadata translation
Note: Translation file keys and ids aren’t edited during translation. The text to be translated available in: Salesforce
Classic (not available in all
is in the translation file in the source tag for .xlf files or the label column for .stf files. For
orgs) and Lightning
admins, knowing how the id or key work can help them understand how these identifiers
Experience
are structured.
Data translation available in:
Lightning Experience
Metadata Translation File IDs and Keys
All translatable metadata has a setup component. Depending on the setup component, the Available in: Professional,
Enterprise, Performance,
translatable metadata can have an object, aspect, custom report type entity, flow type, flow name,
Unlimited, and Developer
and flow component.
Editions
• Metadata label translation file IDs and keys follow the format:
SetupComponentName.ObjectName.AspectName. Data translation applies to:
B2B Commerce
• Metadata label translation file IDs and keys for custom report types contain the report type
entity in place of the object name. The format is:
SetupComponentName.CustomReportEntityName.AspectName.
• Metadata translation file IDs and keys for flows can also contain the flow component, flow type, flow name, flow version, flow screen,
or flow aspect. See Flow Identifiers in Translation Files for detailed examples.
This table provides examples of metadata translation IDs and keys.

Translation Label or Text id (in .xlf Files) or Key (in .stf Files)
Country “Spain” in address AddressCountry.ES

“Billing” button or link on the Account object ButtonOrLink.Account.Billing

Label of the “Active” field on the Account object CustomField.Account.Active.FieldLabel

Description of the “Active” field on the Account object CustomField.Account.Active.Description.FieldLabel

Help text of the “Active” field on the Account object CustomField.Account.Active.Description.HelpText

“Low” picklist entry in the Customer Priority picklist on the Account PicklistValue.Account.CustomerPriority.Low
object

Description of the “East Accounts” Custom Report Type CustomReportType.East_Accounts.Description

“Accounts” Custom Report Type Layout Section on the “Accounts” CrtLayoutSection.Custom_Accounts_Reports_1


Custom Report Type

125
Extend Salesforce with Clicks, Not Code Manage Your Translations

Translation Label or Text id (in .xlf Files) or Key (in .stf Files)
Description of the “Goal Layout” Custom Report Type Layout on LayoutSection.Goal.Goal
the “Goals” Custom Report Type Layout.Description_1

“Survey Customers” flow name Flow.Flow.Survey_customers.FieldLabel

“Customer Name” screen input field on version 2 of the “Survey Flow.Flow.Survey_customers.2.Survey_


Customer” flow Customer.Field.Customer_Name.FieldLabel

Data Translation File IDs and keys


If data translation is enabled in your Salesforce org, the record ID is used to identify the translatable text in an exported data translation
file. Data translation IDs and keys follow the format ObjectName.recordUniqueIdentifier.FieldName.
This table provides examples of data translation IDs and keys.

Translation Label or Text id (in .xlf Files) or Key (in .stf Files)
Name of the product with record ID 01txx0000006yvEAAQ Product2.01txx0000006yvEAAQ.Name

Description of the product with record ID Product2.01txx0000006yvEAAQ.Description


01txx0000006yvEAAQ

Text stored in a custom “Discount Notes” field for the product Product2.01txx0000006yvEAAQ.Discount_Notes__c
record ID 01txx0000006yvEAAQ

SEE ALSO:
Flow Components for Metadata Translation

Flow Identifiers in Translation Files


In a translation file exported from Translation Workbench, a unique key or trans-unit ID attribute
EDITIONS
identifies a flow metadata label.
Flows follow a convention based on the flow label. Available in: Salesforce
Classic (not available in all
Flow Key or Trans-Unit ID Example orgs) and Lightning
Component Experience

Flow Flow.flowType. Flow.Flow.Survey_customers.FieldLabel Available in: Professional,


Definition flowUniqueName.FieldLabel Enterprise, Performance,
Name Unlimited, and Developer
Editions
Flow Version Flow.flowType. Flow.Flow.Survey_customers.1.Name
Name flowUniqueName.
versionNumber.Name

Screen

126
Extend Salesforce with Clicks, Not Code Manage Your Translations

Flow Component Key or Trans-Unit ID Example


Paused Message Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.1.Screen.Greet_Customer.
versionNumber.Screen.screenUniqueName. PausedText
PausedText

Help Text Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.1.Screen.Greet_Customer.


versionNumber.Screen.screenUniqueName. HelpText
HelpText

Screen Input Field

Label Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Survey_Customer.Field.


versionNumber.screenUniqueName.Field. Customer_Name.FieldLabel
fieldUniqueName.FieldLabel

Help Text Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Survey_Customer.Field.


versionNumber.screenUniqueName.Field. Customer_Name.HelpText
fieldUniqueName.HelpText

Error Message Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Survey_Customer.


versionNumber.screenUniqueName.Field. Field.Customer_Name.ErrorMessage
fieldUniqueName.ErrorMessage

Screen Output Field

Display Text Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Greet_Customer.Field.


versionNumber.screenUniqueName.Field. WelcomeMessage.Description
fieldUniqueName.Description

Choice

Label Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Choice.Participate_No.


versionNumber.Choice.choiceUniqueName. FieldLabel
FieldLabel

Error Message Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Choice.Participate_No.


versionNumber.Choice.choiceUniqueName. ErrorMessage
ErrorMessage

Input Label Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.Choice.Participate_No.


versionNumber.Choice.choiceUniqueName. InputLabel
InputLabel

Stages

Stage Label Flow.flowType.flowUniqueName. Flow.Flow.Stages_Online_Purchase_Breadcrumbs.1.


versionNumber.Stage.stageUniqueName. Stage.Billing_Details.FieldLabel
FieldLabel

Text Template

127
Extend Salesforce with Clicks, Not Code Manage Your Translations

Flow Component Key or Trans-Unit ID Example


Label Flow.flowType.flowUniqueName. Flow.Flow.Survey_customers.2.TextTemplate.
versionNumber.TextTemplate. ParticipantCity_FieldLabel
texttemplateUniqueName.FieldLabel

SEE ALSO:
Work with Translation Files
Considerations for Translating Flows

Import Translated Files


Import and update the translations for your Salesforce org’s metadata, such as custom fields, report
EDITIONS
types, and picklist values. Or import and update data translations, such as Product names. Typically,
you export translation files from Salesforce, then send them to outside translators or a translation Metadata translation
agency for bulk translation activities. You then import the translated files. available in: Salesforce
Classic (not available in all
Note: You need the Manage Translation AND Create Documents user permissions to import
orgs) and Lightning
or export translation files. If you attempt either operation without both user permissions, it’s
Experience
possible to navigate to the import or export page, but the operation itself fails.
Prepare Your Translated Files: Data translation available in:
Lightning Experience
1. Create a separate file for each language.
Available in: Professional,
Salesforce recommends the XML Localization Interchange File Format (.xlf) for translation files.
Enterprise, Performance,
2. Specify the language for this translation import. Unlimited, and Developer
Editions
When you export a translation file with the Bilingual or Outdated and untranslated export type,
the language is already specified. If you’re importing a Source file or importing translations for Data translation applies to:
a different language than the original file, update the language code. B2B Commerce

• For .xlf files, use the target-language attribute on the file tag. For example, <file
original="Salesforce" source-language="en_US" USER PERMISSIONS
target-language="es" datatype="xml">.
To export or import
• For .stf files, use the language code attribute at the top of the file. For example: translation files
• Manage Translation
AND
Create Documents

# Language: Spanish
Language code: es
Type: Source

Translation for the specified language must be supported for your org. For a full list of Salesforce supported languages and their
language codes, see Supported Languages in Salesforce Help.

3. If data translation is enabled in your Salesforce org, include a translation type attribute. For .xlf files, include the translation-type
attribute on the file tag. For .stf files, include the translation type on its own line after the language code and type.

128
Extend Salesforce with Clicks, Not Code Manage Your Translations

Note: If you export a translation file after data translation is enabled in your org, the resulting file includes this attribute.

File Type Metadata Translation Attribute Data Translation Attribute


XML Localization translation-type="metadata" translation-type="data"
Interchange File
Format (.xlf)

Salesforce Translation Type: Metadata Translation Type: Data


Translation
Format (.stf)

4. Save import files in UTF-8 encoding.


5. Size your files.
When importing metadata translation files, individual uncompressed files are limited to 10 MB each. When importing data translation
files, individual uncompressed files are limited to 50 MB each.

6. Bundle multiple files into .zip files.


If data translation isn’t enabled in your org, each imported .zip file is limited to 10 MB. If data translation is enabled, each imported
.zip file is limited to 1 GB. When zipping data translation files for import, each .zip file can contain up to 100,000 total translation
records within up to 2 GB of uncompressed files. Create multiple .zip files as needed.

Important: Each .zip file can only contain metadata or data translation. If data translation is enabled in your org, import
metadata and data translations separately.
The zipped files don't have to be in the same order or grouping as the exported .zip files.
For example, you start with two exported .zip files. The first file includes French, Italian, and Japanese. The second file includes Russian,
Simplified Chinese, and Greek. You can create:
• One .zip file with French, Greek, and Italian.
• One .zip file with Russian and Greek.
• One .zip file with Simplified Chinese.

Import Your Prepared Translated Files:


1. From Setup, in the Quick Find box, enter Import, and then select Import under Translation Workbench.
2. Click Choose File, and select the file you want to import.
3. Click Import.
After the import is complete, a confirmation email is sent to the email address specified in your profile. Wait for each import to finish
before submitting another translation file for import.
If any portion of the import fails, the email includes details about what went wrong. If the imported zip file exceeds translation import
limits, the email lists the files that were imported before the limit was reached. If records within the imported translation files weren’t
processed, the email lists those files and includes an error log.

Verify Your Translations:


There are multiple ways to view the imported translations:

Note: Labels that are exported and left unchanged in the translation file aren’t saved as translations on import.

129
Extend Salesforce with Clicks, Not Code Manage Your Translations

• Check metadata labels and data translations in your Salesforce org.


• Check metadata labels through Translation Workbench.
• Check data translations through the Translation tab within Product.
• Export data translations and verify your updated text. Check the labels in your Salesforce org.

SEE ALSO:
Supported Languages
Work with Translation Files
Common Errors with Exporting and Importing Translation Files
Documents Home

Common Errors with Exporting and Importing Translation Files


Troubleshoot issues you can encounter while exporting and importing files in Translation Workbench.
EDITIONS
Error Message What It Means Troubleshooting Steps Metadata translation
Bilingual file section starts with The header rows of the file Export your file again Make sure available in: Salesforce
non-header row: <line you're trying to import are that there are header rows for Classic (not available in all
orgs) and Lightning
number> missing. Or there’s extraneous all sections, and that all
Experience
text, such as notes that aren't extraneous text has been
commented out, in those rows. commented out or removed Data translation available in:
from the header rows. Lightning Experience

Data translation import for key This error message only applies Provide a translated value for Available in: Professional,
<key> failed. A translated value to data translation files. A the data stored in the Name Enterprise, Performance,
for the <object name> translated value for a record field for that record ID, then Unlimited, and Developer
<unique record ID> record ID’s ID’s Name field is required to import again. Editions
Name field is required to translate data in other fields for Data translation applies to:
translate data for the <field that record ID. B2B Commerce
name> field.

Data translation isn’t enabled This error message only applies Enable data translation, and
for this org. to data translation files. Data then import the file again.
translation isn’t enabled or was
disabled after the data
translation file was exported.

Duplicate key: <key> exists in The specified key appears in Export your file again, and
import file, re-export. your imported file more than make sure that each key is
one time. Each translated item unique. Then import the file
must have its own unique key, again.
and each key can only appear
in the file one time.

File contains translation keys The file contains at least one Create separate import files for
that don't match the translation key with a translation type that metadata and data translation.
type specified in the file header. doesn’t match the file type in
the header.

130
Extend Salesforce with Clicks, Not Code Manage Your Translations

Error Message What It Means Troubleshooting Steps


Create separate import files for metadata
and data translation.

Invalid Key During translation, Salesforce generates Export your file again, and make sure the
unique keys, or identifiers, for each object, keys in it match the keys in the file that
picklist value, or page element that you're you're trying to import.
translating. If these names or keys are
changed after you export your file,
Salesforce can't match the correct key with
the correct name.

Invalid key: <key>. Data translation isn’t This error message only applies to data Enable data translation on the field through
enabled for the <field name> field on the translation files. Data translation was the Data Translation Settings Setup page,
<object name> object. disabled on the field after the translation file or delete references to the key from the
was exported. translation file.

Invalid key: <key>. The <field name> field This error message only applies to data Export your file again, and compare it with
on the <object name> object doesn’t translation files. The key includes a field that the identified key. If the identified key was
support data translation. doesn’t support data translation. Either an modified, use the newly exported key. If it
exported key was changed after the export doesn’t exist in the exported translation file,
or the key was manually added. delete the identified key from the translation
file.

Invalid key: <key>. The key's translation type Imported translation files must contain Update the file’s translation type in the file
must match the file's translation type. either metadata keys or data translation header.
keys. This key doesn’t match the file’s Create separate import files for metadata
translation type. and data translation as needed.

Invalid key: <key>. The <object name> This error message only applies to data Export your file again, and compare it with
object doesn’t support data translation. translation files. The key includes an object the identified key. If the identified key was
that doesn’t support data translation. Either modified, use the newly exported key. If it
an exported key was changed after the doesn’t exist in the exported translation file,
export or the key was manually added. delete the identified key from the translation
file.

Invalid key: <key>. You can't delete the data This error message only applies to data Edit your file. To delete all data translations
translation value for a record's name and translation files. The file includes a key to associated with this record, remove all keys
update the value for another of that record's delete the data translation for this record’s related to this record except the key
fields at the same time. Name. The file also includes a data deleting the translated value for the record’s
translation value for another of the record’s Name. To update other fields, remove the
fields. Because deleting the translated value key deleting the translated value for the
of a record’s Name deletes the translated record’s Name.
values for all fields related to that record, See Considerations for Working with
the translation keys conflict. Translation Files for more information.

Key: <key> couldn’t be uniquely resolved. One of the keys in your Custom Report Type Export your file again, and make sure that
Caused by a change to our Custom Report (CRT) column is in the wrong format. you're using the correct CRT key format.
Type Column key format. Re-export and use
the new key format for those keys.

131
Extend Salesforce with Clicks, Not Code Manage Your Translations

Error Message What It Means Troubleshooting Steps


Maximum character limit <x> for <field Each type of field, such as a picklist value, Edit your translated labels so that they're
type> translation exceeded in line: can only have a certain number of within the character limit listed for the field
characters. Your translated labels for the type, and import your file again.
type of field at the line specified in the error
message are too long.

No data to import The file that you're trying to import is empty Make sure that you're importing the correct
or doesn’t contain any translation changes. file and that it contains translated data.

No language code specified in file header The file that you're trying to import doesn't Make sure that your language code is valid
have a valid language code, or the language and isn't missing or commented out.
code is in the wrong place.

No translated or untranslated section header The file that you're trying to import is Make sure that your file has section headers,
found in the bilingual file missing section headers. and import it again.

No valid file type specified in file header The file that you're trying to import doesn't Make sure that your file has a valid
have a valid import/export type (Source, import/export type in the file header and
Outdated and untranslated, or Bilingual) that the header isn’t translated.
specified in the file header. The file type
attribute must be in the default language
for your org.

No valid translation type specified in file The file that you’re trying to import doesn’t Make sure that your file has a valid
header have a valid translation type specified in the translation type in the file header and that
file header. The translation type is only the header isn’t translated.
required if data translation is enabled.
The attributes for metadata translation are:
• Translation Type:
Metadata for .stf files and
• translation-type="metadata"
for .xlf files
The attributes for data translation are:
• Translation Type: Data for
.stf files and
• translation-type="data" for
.xlf files
The translation type attribute must be in the
default language for your organization.

Not a valid file to import. Select a .stf, .xlf, or You can import files in .stf or .xlf formats, or Make sure that your file is a .stf, .xlf, or .zip
a .zip file for import. .zip files that contain .stf or .xlf files. file, and try importing it again.

Some keys are appended with their sort The order of the picklist values in your Export your source file, match the order of
order for uniqueness. Re-export your file and source file doesn't match your setup. the picklist values to your import file, and
ensure that the keys in both files match. then import again.

132
Extend Salesforce with Clicks, Not Code Manage Your Translations

Error Message What It Means Troubleshooting Steps


There were issues with import of file: The file that you’re importing has invalid or Export your file again, and identify the fields
importFileName.xlf [Your import request missing HTML tags. HTML tags are used in with HTML tags in the exported source text.
failed. Retry or contact support.] translations for rich text area fields. Edit your translation values for these rich
text area fields with the correct HTML tags.
See Considerations for Working with
Translation Files for more information on
translating rich text fields.

Wrong number of columns in line: <line The file that you're importing has extra tabs, Edit your data to remove or escape any extra
number>. Check that you have escaped new lines, or carriage returns in the line tabs, newlines, or carriage returns. Make sure
tabs (\\t), new lines (\\n), and carriage specified in the error message. that the translated file has the same number
returns (\\r) in your files. of columns as the file you exported.

Your export request failed. Retry or contact Salesforce had an unexpected problem Contact Salesforce Customer Support.
support. while exporting your file.

Your import request failed. Retry or contact Salesforce had an unexpected problem Contact Salesforce Customer Support.
support. while importing your file.

Your organization doesn’t have language The file that you're trying to import is in a Add the language you want to use to
permissions for <language>. language you haven't yet added to Translation Workbench through the
Translation Workbench. Translation Language Settings Setup page.
Then import your file again.

SEE ALSO:
Export Metadata Translation Files
Export Data Translation Files
Import Translated Files
Considerations for Working with Translation Files

133
Extend Salesforce with Clicks, Not Code Manage Your Translations

Translation Considerations
Review considerations for managing your translations and translating flows.
EDITIONS

Considerations for Managing Translations Metadata translation


Keep these tips in mind when creating custom labels, working with translators, and maintaining available in: Salesforce
translations. Classic (not available in all
orgs) and Lightning
Considerations for Translating Flows Experience
When you use Translation Workbench to translate flows, note these considerations.
Data translation available in:
Lightning Experience

Available in: Professional,


Enterprise, Performance,
Unlimited, and Developer
Editions

Data translation applies to:


B2B Commerce

Considerations for Managing Translations


Keep these tips in mind when creating custom labels, working with translators, and maintaining
EDITIONS
translations.
• Salesforce assumes that all customizations are entered in the Salesforce org’s default language. Metadata translation
We recommend that global administrators work together in the org’s default language. available in: Salesforce
Classic (not available in all
• Salesforce recommends the XML Localization Interchange File Format (.xlf) for translation files.
orgs) and Lightning
• When creating a custom report type for translation into multiple languages via Translation Experience
Workbench, set your personal language to match your org’s default language. Setting a language
ensures that translated words display in the correct language for translators. Data translation available in:
Lightning Experience
• Advise users customizing reports or list views to use filter criteria values in their personal
language. However, if they use the starts with or containscontains operators, advise Available in: Professional,
them to choose the language of the filter criteria values they entered. Enterprise, Performance,
• If you installed a managed package that includes translations, those translated values appear Unlimited, and Developer
to users regardless of whether the language is active on the Translation Language Settings Editions
Setup page. To override metadata translations delivered by a managed package for custom Data translation applies to:
objects, see Override Translations in Second-Generation Managed Packages and Unlocked B2B Commerce
Packages.
• Let translators know which languages they’re responsible for translating.
• Notify all translators when you add new translated components to your org. For best results, have your translators check their
translations frequently, and be sure to notify them when changes occur.
• Periodically review outdated translations by exporting your translations. To generate a list of all the translatable customizations and
the associated Out of Date states, use the Outdated and Untranslated export type or Bilingual export type.

134
Extend Salesforce with Clicks, Not Code Manage Your Translations

• If you have more than 25 navigation menu items open, use the scroll bar to find the navigation tools at the bottom of the window
to navigate between pages.

SEE ALSO:
Work with Translation Files
Override Translations in Second-Generation Managed Packages and Unlocked Packages

Considerations for Translating Flows


When you use Translation Workbench to translate flows, note these considerations.
EDITIONS

Translating Flows Available in: Salesforce


Classic (not available in all
• To check which flow types are translatable, see Flow Types in Salesforce Help. orgs) and Lightning
• A translation can only reference a merge field (like {!myVar}) if the field is referenced in the first Experience
1,000 characters of the primary label.
Available in: Professional,
• Translations for flow definition name and version name each have a maximum limit of 255 Enterprise, Performance,
characters. Other translations for flow labels have a maximum of 1,000 characters. Unlimited, and Developer
• Text templates and merge field values aren’t supported for translation. Editions
• Right-to-left languages aren’t supported.
• When a flow label isn’t translated for a language, Salesforce uses the translation for the
appropriate fallback language. If the fallback language has no translated label, the primary label is used.

Updating Flow Translations


When you change a flow that you translated, Salesforce copies as much information as it can when you create a version or save changes
to the translated version.
For example, version 1 of the Survey Customers flow has a translation for the WelcomeMessage field. When you save another version
of the flow, Salesforce copies all the latest translations from version 1 to version 2. The same happens if you save it as a new flow.
When you remove a label from a flow, translations aren’t copied. Salesforce uses the label’s Unique Name to copy translations to another
version. When you change the label’s unique name, Salesforce treats it as a new label.
When you delete a flow, its translations are also deleted.
When you translate a flow from a managed package, the flow’s Master Definition Name doesn’t appear on the Translate page or the
Override page. To update the translation for the Master Definition Name, edit the flow label and then update the translation from the
Translate page.

Exporting and Importing Flow Translations


• You can export and import translation files to send to translators or to help you translate lengthy text.
• When you export translations, the primary labels are truncated after 1,000 characters.

SEE ALSO:
Salesforce Help: Translate Flow Screen Components

135
Extend Salesforce with Clicks, Not Code Set Up Your Data Your Way

Set Up Your Data Your Way


Optimize your Salesforce data to fit the unique needs of your users. You can create your own objects
EDITIONS
with data that fits together in the ways that make the most sense for you.
Available in: both Salesforce
Store Information That’s Unique to Your Organization Classic and Lightning
Create custom objects to store information that’s unique to your organization. Choose whether Experience
your custom objects are searchable, support sharing, or include access to the Bulk API and The available customization
Streaming API. options vary according to
Store Customers’ Data Privacy Preferences which Salesforce Edition you
Store certain data privacy preferences for your customers. have.

Classify Sensitive Data to Support Data Management Policies


Record data sensitivity and compliance categorization at the field level. Data classification can USER PERMISSIONS
be used to guide decisions around access, reporting, and data compliance. To view setup options:
Design Your Own Data Model With Schema Builder • View Setup and
Schema Builder provides a dynamic environment for viewing and modifying all the objects and Configuration
relationships in your app. This greatly simplifies the task of designing, implementing, and To customize your org:
modifying your data model, or schema. Schema Builder is enabled by default. • Customize Application
Create Custom Settings
Use custom settings to create custom sets of data, or to create and associate custom data for
an org, profile, or user.
Customize Fields
Customize standard and custom fields to tailor your org to your own unique requirements.
Calculate Field Values with Formulas
A formula is an algorithm that derives its value from other fields, expressions, or values. Formulas can help you automatically calculate
the value of a field based on other fields.
Generate Emails From Records
A merge field is a field you can put in an email template, mail merge template, custom link, or formula to incorporate values from
a record. For example, you can place a merge field in an email template so that the greeting includes the recipient's name rather
than a generic “Hello!”.

Store Information That’s Unique to Your Organization


Create custom objects to store information that’s unique to your organization. Choose whether
EDITIONS
your custom objects are searchable, support sharing, or include access to the Bulk API and Streaming
API. Available in: both Salesforce
Every custom object is classified as either an Enterprise Application object or a Light Application object. Classic and Lightning
The difference between these two categories is that Light Application objects don’t support sharing, Experience
access to the Bulk API, or access to the Streaming API.
Available in: Contact
By default, all custom objects are Enterprise Application objects. To make your custom object a Manager, Group,
Light Application object, disable Allow Sharing, Allow Bulk API Access, and Allow Streaming Professional, Enterprise,
API Access on the object’s detail page. Performance, Unlimited,
and Developer Editions

136
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Manage Custom Objects


Create, customize, edit, delete, or truncate custom objects to extend the functionality that standard objects, like accounts and
contacts, provide.
Manage Big Objects
A big object stores and manages massive amounts of data on the Salesforce platform. You can archive data from other objects or
bring datasets from outside systems into a big object to get a full view of your customers. From Setup, you can create a custom big
object and define its fields and index.
Object Relationships Overview
Create relationships to link objects with each other, so that when your users view records, they can also see related data. For example,
link a custom object called Bugs to cases to track product defects that are associated with customer cases.
Customize Search Layouts
Search layouts let you determine what users see when Einstein Search returns results. For each unique user profile, you can create
search layouts for standard and custom objects, ensuring the layout shows users what’s most relevant to them. Only objects with
customizable layouts support profile-specific layouts. The search layout that you configure applies to global and lookup searches.
Custom Object Security
Learn how security settings work together so you can control access to your custom objects with great flexibility.
Notes on Enabling Activities for Custom Objects
Learn about things to consider when enabling activities for custom objects.

Manage Custom Objects


Create, customize, edit, delete, or truncate custom objects to extend the functionality that standard
EDITIONS
objects, like accounts and contacts, provide.

Note: Your administrator may have created a tab without any help. If you need help to Available in: both Salesforce
understand how a tab for a custom object works, contact your administrator. Classic (not available in all
orgs) and Lightning
Your object management settings list the custom objects that are defined for your organization. Experience
From this list, you can:
Available in: Contact
• Define a custom object. Manager, Group,
• Display detailed information about a custom object. Professional, Enterprise,
Optional features you can customize include enabling search and reports, tracking activities, Performance, Unlimited,
Developer, and
tracking field history, and making the object available for the Salesforce Customer Portal.
Database.com editions
• To update the custom object definition, click Edit and update the desired fields. Managed Packages aren’t
Note: The Allow Reports, Allow Activities, and Allow Search fields aren’t locked in available in Database.com.
Managed - Released and can be changed by the developer in future releases of a managed
package.
USER PERMISSIONS
• To delete a custom object, click Del.
To create and edit custom
• To truncate a custom object, click Truncate. objects:
• To view deleted custom objects, click the Deleted Objects link. The total number of deleted • Customize Application
custom objects for your organization is listed in parentheses.
The detail page of the custom object provides information about various characteristics of the
object, including standard fields, custom fields, field history tracking, relationships, custom links, search layouts, page layouts, and object
limits. You can:

137
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Click individual items to display additional detail.


• To delete a custom field, click Del next to its name in the Custom Fields & Relationships section.
• Click More at the bottom of the page or View More below a related list to display more items.
• Click New to directly add new items.

Note: The object limit percentages are truncated, not rounded. For example, if your org uses 95.55% of the limit for a particular
customization, the object limit displays 95%.

Deployment Status for Custom Objects and External Objects


Use the Deployment Status setting in the object definition to control when users can see and use the object and its associated
custom tab, related lists, and reports.
Create a Custom Object
Track and store data that’s unique to your organization. Follow different steps, depending on which Salesforce experience you’re
using.
Modify Custom Objects
Customize the user interface for your custom objects.
Custom Object Standard Fields
When you create a custom object, these default fields are automatically assigned to the object.
Delete Custom Objects
When you delete a custom object, Salesforce doesn’t add it to the Recycle Bin. Instead, deleted objects appear in the Deleted Objects
list for 15 days. During this time, the object and its data are soft deleted, meaning you can restore or permanently erase (hard delete)
the object and its data. After 15 days, the object and its data are automatically hard deleted.
Manage Deleted Custom Objects
Deleted custom objects appear in the Deleted Objects list for 15 days. During this time, you can choose to permanently delete the
object and its data, or you can undelete them. If you undelete a custom object, some manual cleanup can be required to restore list
views and other customizations that use the object.
Considerations for Truncating Custom Objects
It’s important to understand what truncating an object does before you use it to remove records.
Truncate Custom Objects
Truncating custom objects allows you to delete all of the object’s records permanently, but preserve the empty object and its
metadata.

SEE ALSO:
Make Search Faster
Store Information That’s Unique to Your Organization
Find Object Management Settings

138
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Deployment Status for Custom Objects and External Objects


Use the Deployment Status setting in the object definition to control when users can see and use
EDITIONS
the object and its associated custom tab, related lists, and reports.
While developing a custom object or external object, you might not want users to see and interact Available in: both Salesforce
with it. Because users can get frustrated with changes in layout or lose data when you delete custom Classic (not available in all
fields, control visibility of the new object until you’re finished. orgs) and Lightning
Experience
• Set the deployment status to In Development when first creating your custom object or external
object. Doing so hides it from users while you’re designing and testing it. Only users with the Available in: Contact
Customize Application permission can see the object tab, search results, related lists, and report Manager, Group,
data types. Professional, Enterprise,
Performance, Unlimited,
• Change the deployment status to Deployed when you want to allow all users to use the object
Developer, and
and the associated custom tab, related lists, and reports.
Database.com Editions
• If you make more enhancements after deploying a custom object or external object, you can
Salesforce Connect external
change the deployment status back to In Development.
objects are available in
Note: A custom report type’s deployment status changes from Deployed to In Development Developer Edition and, for
if its primary object is a custom or external object whose deployment status similarly changes. an extra cost, in Enterprise,
Performance, and Unlimited
When you create a big object, the status is set to In Development. You can't deploy a big object
Editions.
until it includes an index that contains at least one custom field. Only required custom fields are
allowed in an index. After you create an index, you see a second status of Deployed. When you’re
ready to grant users access, change the status to Deployed. USER PERMISSIONS

To deploy custom objects


SEE ALSO:
and external objects:
Make Search Faster • Customize Application

Create a Custom Object


Track and store data that’s unique to your organization. Follow different steps, depending on which Salesforce experience you’re using.

Create a Custom Object in Lightning Experience


Track and store data that’s unique to your organization.
Create a Custom Object from a Spreadsheet in Lightning Experience
Use custom objects to track and store data that’s unique to your organization. If you prefer not to create a custom object and its
fields manually, you can use a spreadsheet to add the object and its fields and populate all its record data.
Create a Custom Object in Salesforce Classic
Track and store data that’s unique to your org.
Fields Required for Creating Custom Objects
When you create a custom object, several fields are required to define how you can access the object.

139
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Considerations for Creating Custom Objects


Before you create a custom object, make sure that you review these considerations.

SEE ALSO:
Make Search Faster
Object Relationships Overview
Define Object-Level Help in Salesforce Classic

Create a Custom Object in Lightning Experience


Track and store data that’s unique to your organization.
EDITIONS
If you see the App Launcher icon ( ) on the left side of the navigation bar at the top of your
screen, you're in Lightning Experience. If not, you're in Salesforce Classic. Available in: Lightning
Experience
1. From the top-right corner of any page in Setup, click Create > Custom Object.
Available in: Contact
2. Complete the fields for your custom object and configure its features.
Manager, Group,
3. If you want to create a custom tab for the object immediately after you save it, select Launch Professional, Enterprise,
New Custom Tab Wizard after saving this custom object. Performance, Unlimited,
To create the custom object tab later, from Setup in the Quick Find box, enter Tabs, and then and Developer Editions
click Tabs.

4. Save the new object. USER PERMISSIONS

5. In the Object Manager, click Fields & Relationships, and create the custom fields that your To create and edit custom
object needs. objects:
• Customize Application
Tip: If you don’t want your users to see the new custom object while you design and test it,
to hide it, set the deployment status to In Development.

SEE ALSO:
Create a Custom Object from a Spreadsheet in Lightning Experience
Fields Required for Creating Custom Objects
Considerations for Creating Custom Objects
Create a Custom Object

140
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Create a Custom Object from a Spreadsheet in Lightning Experience


Use custom objects to track and store data that’s unique to your organization. If you prefer not to
EDITIONS
create a custom object and its fields manually, you can use a spreadsheet to add the object and its
fields and populate all its record data. Available in: Lightning
Note: Although it’s available in Professional Edition, this feature uses API. To use this feature, Experience
Professional Edition orgs must have the API add on enabled. To enable the API add on, contact Available in: Contact
your Account Executive. Manager, Group,
You can create a custom object from a spreadsheet in two places: in Setup, or from the Navigation Professional, Enterprise,
Items tab inside a Lightning app’s settings. Performance, Unlimited,
and Developer Editions
1. In Setup, go to Object Manager, then click Create > Custom Object from Spreadsheet.
2. Alternatively, navigate to the Navigation Items tab inside a Lightning app.
USER PERMISSIONS
a. In Setup, enter App in the Quick Find box, then select App Manager.
To create and edit custom
b. Next to the app you want to add the custom object to, click , and select Edit. objects:
• Customize Application
c. Click Navigation Items.
d. From the Available Items list, click Create > Custom Object from Spreadsheet.

3. Follow the wizard steps to import your custom object data from an .xlsx file, a .csv file, or a Google sheet.
Salesforce detects object field labels from the spreadsheet row that you specify. All fields must be mapped to create the custom
object. Skipping the import step creates an empty custom object that uses the fields in the spreadsheet as a template. When you
finish creating the object, a custom tab is created for it. The object appears in the list of available items for your app. If you imported
field data, your object is ready to go with fully populated records.
4. If you don’t want your users to see the new custom object right away, in the Object Manager in Setup, set its deployment status to
In Development. This setting hides the object from users while you’re designing and testing it.
5. When you’re ready for your users to see the new custom object, add it to your app’s Selected Items list.

SEE ALSO:
Fields Required for Creating Custom Objects
Create a Custom Object in Lightning Experience
Considerations for Creating Custom Objects
Create a Custom Object

141
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Create a Custom Object in Salesforce Classic


Track and store data that’s unique to your org.
EDITIONS
1. From Setup, enter Objects in the Quick Find box, then select Objects.
Available in: Salesforce
2. Click New Custom Object.
Classic (not available in all
3. Follow the wizard to complete the fields for your custom object. orgs)
4. Save the new object. Available in: Contact
Manager, Group,
SEE ALSO: Professional, Enterprise,
Performance, Unlimited,
Fields Required for Creating Custom Objects
and Developer Editions
Considerations for Creating Custom Objects
Create a Custom Object
USER PERMISSIONS

To create and edit custom


objects:
• Customize Application

Fields Required for Creating Custom Objects


When you create a custom object, several fields are required to define how you can access the
EDITIONS
object.

Important: Where possible, we changed noninclusive terms to align with our company Available in: Lightning
value of Equality. We maintained certain terms to avoid any effect on customer Experience and Salesforce
Classic
implementations.
Available in: Contact
Note: If an administrator created a tab without including help, contact your administrator
Manager, Group,
if you need help with how a custom object works.
Professional, Enterprise,
Performance, Unlimited,
Field Description and Developer Editions
Label This name is used to refer to the object in a user
interface page.

Plural Label The plural name of the object. If you create a


tab for this object, this name is used for the tab.

Gender If it’s appropriate for your org’s default language,


specify the gender of the label. This field appears
if the org-wide default language expects gender.
Your personal language preference setting
doesn’t affect whether the field appears. For
example, if the org’s default language is English
and your personal language is French, you aren’t
prompted for gender when creating a custom
object.

Starts with a vowel sound If it’s appropriate for your org’s default language,
indicate whether “an” or “a” precedes the label.

142
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Field Description
Object Name A unique name used to refer to the object when using the API. In
managed packages, this name prevents naming conflicts with
package installations. Use only alphanumeric characters and
underscores. The name must begin with a letter and have no
spaces. It can’t end with an underscore nor have two consecutive
underscores.

Description An optional description of the object. A meaningful description


helps you remember the differences between objects when you’re
viewing them in a list.

Context-Sensitive Help Setting Defines the URL that displays when a user clicks Help for this Page
from the object record’s home (overview), edit, and detail pages,
list views, and related lists. This setting doesn’t affect the Help link
at the top of a page. That link always opens the Help window.
• To display the standard Salesforce Help available for any custom
object record, select Open the standard Salesforce Help &
Training window.
• To display custom object-level help for your custom object,
select Open a window using a Visualforce page and then
select the Visualforce page to use as the target of the
context-sensitive help link from that custom object’s pages.

Record Name The name used in page layouts, list views, related lists, and search
results.
If you select the Auto Number data type, there could be issues
when inserting a high volume of records, for example, via the API.
If you anticipate a high volume of record inserts, use the Text data
type.

Data Type The type of field (text or auto-number) for the record name. Records
that have unique IDs instead of names are auto-numbered and
are always a read-only field.

Display Format For an auto-numbered record name, enter the display format. You
can have up to two sets of curly braces.

Starting Number For an auto-numbered record name, enter the number to use
when creating your first record for this custom object.

Allow Reports Makes the data in the custom object records available for reporting
purposes.
To create reports on custom objects, choose the Other Reports
report type category, unless the custom object has a relationship
with a standard object. When the custom object has a master-detail
relationship with a standard object or is a lookup object on a
standard object, select the standard object for the report type
category instead.

143
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Field Description
You can still create and run reports without selecting Allow
Reports; however, the custom report type isn’t visible.

Allow Activities Allows users to associate tasks and scheduled calendar events
related to the custom object records.

Allow in Chatter Groups Allows users to add records of this custom object type to Chatter
groups.
When true, users with permissions can create records of this
object type using the group publisher. The created record is
associated with the group and appears in the group record list.
When false, users with permissions can use the group publisher
to create records of this object type, but the record isn’t associated
with the group.

Enable Divisions If your org has divisions enabled, select this option to enable the
custom object for divisions. A division groups records for simplified
search results, list views, reports, and other areas within Salesforce.
Salesforce adds a Division field to the custom object. If the custom
object is the master in a master-detail relationship, custom objects
on the detail side also get the Division field and inherit their division
from the master record.

Available for Customer Portal Makes the custom object available to all portal users.
This option is available only if your org has a customer portal.
If you enable Digital Experiences in your org, this option no longer
appears, and all custom objects are available in your Experience
Cloud sites. If before enabling, you had a Customer Portal and
custom objects without this option selected, those objects become
available in your Customer Portal.

Track Field History Enables your org to track changes to fields on the custom object
records. For example, it tracks who changed the field value and
when, what the value was before the edit, and what it was changed
to. History data is available for reporting, so users can easily create
audit trail reports when this feature is enabled.

Allow Sharing When this setting is enabled, the custom object is an Enterprise
Application object. When this setting isn’t enabled, the custom
object is a Light Application object.
When this setting is enabled, you must also enable Allow Bulk
API Access and Allow Streaming API Access.

Allow Bulk API Access When this setting is enabled, the custom object is an Enterprise
Application object. When this setting isn’t enabled, the custom
object is a Light Application object.

144
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Field Description
When this setting is enabled, you must also enable Allow Sharing
and Allow Streaming API Access.

Allow Streaming API Access When this setting is enabled, the custom object is an Enterprise
Application object. When this setting isn’t enabled, the custom
object is a Light Application object.
When this setting is enabled, you must also enable Allow Bulk
API Access and Allow Sharing.

Deployment Status Indicates whether the custom object is visible to other users.

Allow Search To allow your users to find a custom object’s records when they
search, create a custom tab set to Default On or Default Off.
Creating a custom tab enables the custom object's Allow Search
setting.

Add Notes & Attachments... Allows users to attach notes and attachments to custom object
records. You can attach external documents to any object record
in much the same way that you can add a PDF file or photo as an
attachment to an email.
This option is available only when you’re creating an object.

Launch the New Custom Tab Wizard Starts the custom tab wizard after you save the custom object.

SEE ALSO:
Create a Custom Object

Considerations for Creating Custom Objects


Before you create a custom object, make sure that you review these considerations.
EDITIONS

Object Creation Available in: both Salesforce


Classic (not available in all
• Establish object relationships first, before adding all custom fields, page layouts, and related orgs) and Lightning
lists. Experience
• The standard Name field is required on custom object related lists and page layouts.
Available in: Contact
• Provide meaningful names for your custom objects. The plural label of the custom object is Manager, Group,
used as the label of the custom tab based on that object. Professional, Enterprise,
• When you create a custom object, you specify the data type of the Record Name field: Auto Performance, Unlimited,
Number or Text. If you select the Auto Number data type, there could be issues when inserting and Developer Editions
a high volume of records, for example, via the API. If you anticipate a high volume of record
inserts, use the Text data type.
• When creating an object from a spreadsheet:
– Skipping the import step creates an empty custom object that uses the fields in the spreadsheet as a template.

145
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

– You can click to preview the object data. Only the first 24 rows of data are displayed in preview.
– These field types aren’t supported:
• Auto Number
• Formula
• Roll-Up Summary
• Lookup Relationship
• Master-Detail Relationship
• External Lookup Relationship
• Text Area (Rich)
• Text (Encrypted)
• Time

Object Permissions
In Enterprise, Unlimited, Performance, Professional, and Developer editions, when you create a custom object, the Read, Create, Edit,
and Delete permissions for that object are disabled for profiles that have View All Data or Modify All Data disabled. Enable access to
custom objects in permission sets or custom profiles, and assign them to the users who need access.
In Contact Manager and Group editions, when you create a custom object, the Read, Create, Edit, and Delete permissions for that object
are enabled for all profiles.

Sharing Model
An org-wide default setting controls the data sharing model for custom objects. For more information, see Custom Object Security.

Delegating Custom Object Administration


After you create a custom object, you can delegate its administration to non-admin users.

Queues
After you create a custom object, you can define queues to distribute ownership of custom object records to your users.

SEE ALSO:
Create a Custom Object
Salesforce Features and Edition Allocations

146
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Modify Custom Objects


Customize the user interface for your custom objects.
EDITIONS
• Create a custom tab.
• Create custom fields and relationships. Available in: both Salesforce
Classic and Lightning
• Add customized buttons and links to perform actions or link to other pages or websites.
Experience
• Define which fields display for users on record detail and edit pages.
Available in: Contact
• Specify which fields display for users in search results, lookup dialogs, and in the key lists on
Manager, Group,
custom object tabs. Professional, Enterprise,
• Create record types to display different picklist values and page layouts to different users based Performance, Unlimited,
on their profiles. and Developer Editions

USER PERMISSIONS

To customize custom
objects:
• Customize Application

Custom Object Standard Fields


When you create a custom object, these default fields are automatically assigned to the object.
EDITIONS
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: both Salesforce
implementations. Classic (not available in all
orgs) and Lightning
Custom object fields store the data for your custom object records. Experience

Available in: Contact


Custom Fields for Custom Objects Manager, Group,
You can create custom fields to store information unique to your org. You can also create custom Professional, Enterprise,
relationship fields to associate your custom object with another object in Salesforce. Performance, Unlimited,
Developer, and
Database.com Editions
Standard Fields for Custom Objects
Divisions aren’t available in
Custom objects automatically include these standard fields. Click Edit to modify any of the editable Database.com.
fields.

Field Name Description USER PERMISSIONS


CreatedById ID of the user who created the record. To view and edit standard
fields:
Currency Currency of the record if multicurrency is • Customize Application
enabled.
To create custom fields:
Division Division to which the custom object record • Customize Application
belongs. Custom objects that are “detail” objects
in a master-detail relationship inherit their
division from the master object. Custom objects
that aren’t related to other records are
automatically in the global division. Available

147
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Field Name Description


only in orgs that use divisions to segment their data.

LastModifiedById ID of the user who most recently changed the record.

Name Identifier for the custom object record. This name appears in page
layouts, related lists, lookup dialogs, search results, and key lists on
tab home pages. By default, this field is added to the custom object
page layout as a required field.

OwnerId ID of the assigned owner of the custom object record. If the custom
object becomes the detail side of a master-detail relationship, this
field is removed, as ownership of the data is controlled by the
master object, or by the primary master object for a custom object
with two master-detail relationships.
Custom objects on the detail side of a master-detail relationship
can't have sharing rules, manual sharing, or queues, as these require
the Owner field.

Delete Custom Objects


When you delete a custom object, Salesforce doesn’t add it to the Recycle Bin. Instead, deleted
EDITIONS
objects appear in the Deleted Objects list for 15 days. During this time, the object and its data are
soft deleted, meaning you can restore or permanently erase (hard delete) the object and its data. Available in: Salesforce
After 15 days, the object and its data are automatically hard deleted. Classic (not available in all
orgs)
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: Contact
implementations. Manager, Group,
Soft-deleted custom objects and their data count against your org’s limits but hard-deleted items Professional, Enterprise,
don’t. Performance, Unlimited,
Developer, and
To delete a custom object: Database.com Editions
1. From the object management settings for custom objects, click Del next to the object that you
want to delete. USER PERMISSIONS
2. When prompted, select Yes, I want to delete the custom object to confirm, and click Delete.
To delete custom objects:
You can’t delete a custom object if it: • Customize Application
• Is on the master side of a master-detail relationship AND
• Contains custom fields that are used in a roll-up summary field on another object View All Data
• Is referenced in Apex, a Visualforce page, or a reporting snapshot
• Is referenced by a duplicate rule or a matching rule
• Contains more than 100,000 records. If the object that you want to delete has more than 100,000 records, delete an appropriate
number of records first, and then delete the object.
When you delete a custom object, Salesforce:
• Displays an Insufficient Privileges message if someone clicks a bookmark to a deleted custom object record’s URL
• Removes the object from AppExchange packages

148
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Changes the master-detail relationship to a lookup relationship if the deleted object is on the detail side of a master-detail relationship
• Removes or erases:
– The object’s custom tab
– List views and workflow rules for the object
– Mobile configuration settings including datasets, mobile views, and excluded fields
– Standard report types associated with the object, and reports based on standard report types if the deleted object is on the
detail side of a master-detail relationship

• Hides, inactivates, or disables:


– The custom object definition and related definitions
– The object’s records and related records, including any records in the Recycle Bin
– Custom report types where the deleted object is the main object
– Custom reports where the deleted object is the main object
– Custom formula fields on the object
– Custom validation rules and approval processes on the object

To restore removed, hidden, inactive, or disabled items, you can undelete the custom object. See Manage Deleted Custom Objects for
information about restoring deleted custom objects.

SEE ALSO:
Manage Deleted Custom Objects
Find Object Management Settings
Delete a Big Object

Manage Deleted Custom Objects


Deleted custom objects appear in the Deleted Objects list for 15 days. During this time, you can choose to permanently delete the object
and its data, or you can undelete them. If you undelete a custom object, some manual cleanup can be required to restore list views and
other customizations that use the object.

Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.

View Deleted Custom Objects


To view a list of deleted custom objects, go to object management settings for custom objects. The Deleted Objects link appears only
when you have at least one deleted custom object in your org. The number in parentheses indicates the total number of deleted custom
objects. In the Deleted Objects list, you can:
• Click the object’s label to view details about it.
• Click Erase to permanently remove the object and its data.
• Click Undelete to restore the object and its data.

What Happens When You Hard Delete a Custom Object


A custom object can be hard deleted either manually or automatically after 15 days.
• The custom object’s definition and data are permanently deleted and can’t be restored.

149
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• The custom object and its data no longer count against your org’s limits.
• If the deleted object is on the detail side of a master-detail relationship, master records currently in the Recycle Bin aren’t restorable
if one or more detail records were automatically deleted as a result of the master record being deleted. Attempting to undelete the
master record results in an error.

Note: This scenario only happens when the deleted detail records have their custom object definition hard deleted while
the master record is in the Recycle Bin.

Limitations for Restoring Truncated Custom Objects


Copies of truncated custom objects also appear in the list of deleted objects. Truncated custom objects can’t be restored to their original
state. Undeleted copies of truncated objects have a new name and new URL, and some fields and data can’t be manually restored.

Restoring a Custom Object to Its Predeleted State


When you restore a deleted custom object, its records are also undeleted, including any that were in the Recycle Bin. It can take several
hours before you can search an undeleted object’s records.
To ensure that you return the object to its fully functional, predeleted state, check all affected conditions and customizations, and
manually fix them if necessary.
AppExchange packages
Add the custom object to any appropriate AppExchange packages.
Custom tabs
Re-create a custom tab for the object and add it to any custom apps that use it.
List views, reports, and workflow rules
Re-create them.
Validation rules and approval processes
Reactivate them.
Formula fields
Open and save any custom formula fields on the object to re-enable them.
Page layouts
Page layouts are restored automatically on the undeleted object. Page layouts are also restored automatically on other objects that
use the page layout in a related list—as long as the page layout wasn’t edited while the object was deleted. Otherwise, you must
add the related list back to the other object.
Custom report types
For custom report types where the deleted object wasn’t the main object, add the reference back to the restored object. Reports
based on the custom report type are automatically restored if they weren’t edited while the object was deleted. Re-create any reports
that were edited.
Relationships
If the deleted custom object was on the detail side of a master-detail relationship, Salesforce converted it to a lookup relationship.
Change the relationship back to master-detail.
Developer name
The developer name for the object was changed to objectname_del. Change it back to the original name, objectname_c,so
that customizations using the name work properly.

150
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Deployment status
When the custom object was deleted, its Deployment Status field was set to In Development. After you restore all affected
customizations to the undeleted object, change its status back to Deployed.

SEE ALSO:
Delete Custom Objects
Considerations for Truncating Custom Objects
Find Object Management Settings

Considerations for Truncating Custom Objects


It’s important to understand what truncating an object does before you use it to remove records.
EDITIONS
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: both Salesforce
implementations. Classic (not available in all
orgs) and Lightning
Truncating a custom object lets you remove all of the object’s records, while keeping the object Experience
and its metadata. Truncating custom objects is similar to the mass delete option available for
standard objects. Available in: Contact
Manager, Group,
Truncating a custom object permanently removes all of its records. You can’t recover the records Professional, Enterprise,
from the Recycle Bin. A copy of the truncated object appears in the Deleted Objects list for 15 Performance, Unlimited,
days—during this period the object and its records continue to count toward your org’s limits—and Developer, and
then the copied object and its records are permanently deleted. Database.com Editions
In contrast, if you delete a custom object, the object moves to the Deleted Objects list for 15 days.
After that the object and its records are permanently deleted.

Important: Truncated custom objects can’t be restored to their original state.

You can’t truncate standard objects or custom objects that:


• Are referenced by another object through a lookup field or that are on the master side of a master-detail relationship
• Are referenced in a reporting snapshot
• Have a custom index or an external ID
• Have activated skinny tables
In addition, you can’t truncate custom objects when your org has reached its limit on allowed custom objects.
Truncating a custom object erases:
• All records currently sitting in the custom object’s Recycle Bin
• The custom object’s history
• Related events, tasks, notes, and attachments for each deleted record
Truncating a custom object breaks:
• Bookmarks to the truncated object and its records. If someone clicks a bookmark to the truncated custom object or to a deleted
record’s URL, Salesforce displays an Insufficient Privileges message.
• Apex scripts and Visualforce pages with references to a truncated object or record.
After truncating a custom object, you can continue to use the custom object and add new records. Salesforce preserves:
• The custom object definition and all related definitions

151
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Workflow rules, actions, and triggers


• Sharing rules associated with the custom object
• Validation rules and approval processes
• Master-detail relationships and formula fields
• Translations
• Mobile configuration settings
When working with truncated objects, keep in mind:
• The truncated object tab has a new URL, so new bookmarks need to be created.
• List views and reports must be refreshed after truncation.
• Roll-up summary fields must be recalculated after truncation.
• There’s no support for truncation in the API.
• To truncate objects that contain master-detail relationships, first truncate the detail (child) objects and then the (master) parent
objects, working your way up the relationship tree.

SEE ALSO:
Truncate Custom Objects
Manage Deleted Custom Objects

Truncate Custom Objects


Truncating custom objects allows you to delete all of the object’s records permanently, but preserve
EDITIONS
the empty object and its metadata.

Important: Truncating custom objects causes some irreversible changes to the truncated Available in: Salesforce
object and its records. Before truncating, see Truncating Custom Objects. Then, enable it for Classic (not available in all
orgs)
your organization by entering User Interface in the Quick Find box, selecting User
Interface, and then selecting the permission. Available in: Contact
Truncating custom objects is a way to permanently remove all of the records from a custom object, Manager, Group,
while keeping the object and its metadata intact for future use. Truncating is useful, for example, Professional, Enterprise,
if you’ve created a custom object and filled it with test records. When you’re done with the test Performance, Unlimited,
Developer, and
data, you can truncate the object to purge the test records, but keep the object and put it into
Database.com Editions
production. This is much faster than batch-deleting records and possibly recreating the object.
1. Go to the object management settings for custom objects.
USER PERMISSIONS
2. Click an object name to go to the object’s detail page, and then click Truncate.
3. In the Confirm Custom Object Truncate window, review the warning, then enter the name of To truncate custom objects:
the object to truncate in the empty field. • Customize Application

4. Click Truncate.

SEE ALSO:
Manage Deleted Custom Objects
Find Object Management Settings

152
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Manage Big Objects


A big object stores and manages massive amounts of data on the Salesforce platform. You can archive data from other objects or bring
datasets from outside systems into a big object to get a full view of your customers. From Setup, you can create a custom big object
and define its fields and index.

Available in: both Salesforce Classic and Lightning Experience

Available in: Enterprise, Performance, Unlimited, and Developer Editions for up to 1 million records
Additional record capacity and Async SOQL query available as an add-on license.

From Setup, enter Big Objects in the Quick Find box, then select Big Objects. From this page you can:
• Create a big object.
• View and update details about a big object.
• Delete a big object or view any big objects that were deleted in the last 15 days.

Create or Edit a Big Object


Track and store big data that’s unique to your org. For existing big objects, a details page shows information about the big object’s
fields and index.

SEE ALSO:
Salesforce Developers: Big Objects Implementation Guide

Create or Edit a Big Object


Track and store big data that’s unique to your org. For existing big objects, a details page shows information about the big object’s fields
and index.
Before you create a big object, make sure that you understand the restrictions on updating and deleting fields for big objects described
in Changing Big Object Fields.
1. From Setup, in the Quick Find box, enter Big Objects, and then select Big Objects.
2. Click New or click an existing big object.
3. Add or edit details about the big object.
4. Add or edit custom fields. Custom fields store the data for your big object records.
5. Add an index. The index defines the composite primary key for a big object and is used to query and filter the big object data.
6. Save the big object.
After you create an index and deploy a big object, you can’t edit or delete the index. To change the index, you must start over with a
new big object.

Big Object Definition Details


When you create a custom big object, several required fields define how you can access the big object.
Custom Big Object Fields
Custom fields store the data for your custom big object records.

153
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Considerations When Creating an Index


Plan carefully when creating an index for your custom big object. The index is used for querying and filtering the big object data
and must be designed properly.
Add an Index to a Big Object
The index defines the composite primary key for a custom big object and is used for querying and filtering the big object data. Each
big object requires an index.
Changing Big Object Fields
Learn how big object fields differ from standard object fields when you update or delete them. Make sure that your big object is
correct before you save it.
Delete a Big Object
When you delete a custom big object, Salesforce doesn’t add it to the Recycle Bin. Instead, deleted big objects appear in the Deleted
Objects list for 15 days. During this time, the big object and its data are soft deleted, meaning you can restore or permanently erase
(flag for hard delete) the big object and its data. After 15 days, the big object and its data are automatically flagged for hard delete.

Big Object Definition Details


When you create a custom big object, several required fields define how you can access the big object.
The big object definition details page displays information about the big object’s fields and index.

Field Name Description


Label This name is used to refer to the object in a user interface page.

Plural Label The plural name of the object.

Starts with a vowel sound If it’s appropriate for your organization’s default language, indicate whether “an” or “a” precedes
the label.

Object Name A unique name used to refer to the object when using the API. In managed packages, this name
prevents naming conflicts with package installations. Use only alphanumeric characters and
underscores. The name must begin with a letter and have no spaces. It cannot end with an
underscore nor have two consecutive underscores.
In the API, the names of custom big objects have a suffix of two underscores immediately
followed by a lowercase “b” (__b). For example, a big object named “HistoricalInventoryLevels”
is seen as HistoricalInventoryLevels__b in that organization's WSDL.

Description An optional description of the object. A meaningful description helps you remember the
differences between objects when you are viewing them in a list.

Context-Sensitive Help Setting Defines the URL that displays when a user clicks Help for this Page from the object record’s
home (overview), edit, and detail pages, list views, and related lists. This setting doesn’t affect
the Help link at the top of a page. That link always opens the Help window.
• To display the standard Salesforce Help available for any custom object record, select Open
the standard Salesforce Help & Training window.
• To display custom object-level help for your custom object, select Open a window using
a Visualforce page and then select the Visualforce page to use as the target of the
context-sensitive help link from that custom object’s pages.

154
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Field Name Description


Deployment Status When you create a big object, the status is set to In Development. You can't deploy a big object
until it includes an index that contains at least one custom field. Only required custom fields are
allowed in an index. After you create an index, you see a second status of Deployed. Once you’re
ready to grant users access, change the status to Deployed.

Custom Big Object Fields


Custom fields store the data for your custom big object records.

Custom Fields for Big Objects


Create custom fields to store information unique to your org. You can also create custom relationship fields to associate your big object
with another object in Salesforce. Big objects support these field types:
• Lookup Relationship
• Date/Time
• Email
• Number
• Phone
• Text
• Text Area (Long)
• URL
To create an index for your big object, at least one custom field must be marked as required.

Standard Fields for Big Objects


Currently, big objects don’t include standard fields.

SEE ALSO:
Create Custom Fields

Considerations When Creating an Index


Plan carefully when creating an index for your custom big object. The index is used for querying and filtering the big object data and
must be designed properly.
Keep these considerations in mind when creating the index.
• An index must include at least one custom field and can have up to five custom fields total.
• All custom fields that are part of the index must be marked as required.
• You can’t include Long Text Area and URL fields in the index.
• The total number of characters across all text fields in an index can’t exceed 100.

Note: Email fields are 80 characters. Phone fields are 40 characters. Keep these lengths in mind when designing your index
because they count toward the 100 character limit.

• After you’ve created the index, you can’t edit or delete it. To change the index, you must start over with a new big object.

155
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Design your index so that you assign the most frequently used field in a query filter to Index Position 1. The order in which you define
the fields determines the order that they’re listed in the index.

Add an Index to a Big Object


The index defines the composite primary key for a custom big object and is used for querying and filtering the big object data. Each big
object requires an index.
To create an index, you must have at least one required custom field defined on the big object. See Considerations When Creating an
Index on page 155 for more details.
1. From the Index section of a big object detail page, click New. This button displays only if the big object has at least one required
custom field.
2. Add a Label and Name for the index.

Warning: When querying a big object record via SOQL and passing the results as arguments to the delete API, if any index
field name has a leading or trailing white space, you can't delete the big object record.

3. For each custom field listed, set the Index Position and Index Direction. The order in which you define the fields determines the order
that they’re listed in the index. Set the Index Position to 1 for the most frequently used filter parameter.

4. Save the index.

Changing Big Object Fields


Learn how big object fields differ from standard object fields when you update or delete them. Make sure that your big object is correct
before you save it.

156
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Updating Fields for Big Objects


If a field has an existing value, you can update it with a different value. You can’t update it with a NULL value. You can delete a record
and recreate it if you want to change the value to NULL.
Most properties cause data mutation. You can’t change big object field properties that cause data mutation and you can’t edit the
properties after you create an object. Properties that don’t cause data mutation are related to information about the data, such as labels
or help text.

Deleting Fields for Big Objects


You can’t delete an individual field after the object is created. So if you want to delete a field from a Big Object, delete the object and
then recreate it.

Delete a Big Object


When you delete a custom big object, Salesforce doesn’t add it to the Recycle Bin. Instead, deleted big objects appear in the Deleted
Objects list for 15 days. During this time, the big object and its data are soft deleted, meaning you can restore or permanently erase (flag
for hard delete) the big object and its data. After 15 days, the big object and its data are automatically flagged for hard delete.
Salesforce runs a background job to completely remove big objects that have been flagged for hard-delete from your org. The job
doesn’t run immediately, but you can’t access these large objects because they no longer appear in the Deleted Objects list.
Soft-deleted big objects and their data always count against your org’s limits. Big objects that are flagged for hard delete, but the
background job hasn’t yet removed, also count. After the background job removes these big objects, they no longer count against your
org’s limit.
1. From Setup, enter Big Objects in the Quick Find box, then select Big Objects.
2. Click Del next to the object that you want to delete.
3. When prompted, select the Yes, I want to delete the Big Object checkbox to confirm and click Delete.
The big object is soft deleted and remains in the Deleted Objects list for 15 days.
4. To permanently erase (flag for hard-delete) the big object, click Deleted Big Object.
5. Click Erase next to the big object you want to permanently erase.
6. When prompted, select the Yes, I want to permanently delete the Big Object checkbox to confirm and click Delete.
The big object is flagged for hard-delete and can no longer be restored.

Object Relationships Overview


Create relationships to link objects with each other, so that when your users view records, they can
EDITIONS
also see related data. For example, link a custom object called Bugs to cases to track product defects
that are associated with customer cases. Available in: Salesforce
Important: Where possible, we changed noninclusive terms to align with our company Classic (not available in all
orgs) and Lightning
value of Equality. We maintained certain terms to avoid any effect on customer
Experience
implementations.
You can define different types of relationships by creating custom relationship fields on an object. Available in: Contact
Before you begin creating relationships, determine the type of relationship that suits your needs. Manager, Group,
Professional, Enterprise,
Different types of relationships between objects in Salesforce determine how they handle data Performance, Unlimited,
deletion, sharing, and required fields in page layouts. Let’s review the types of relationships. Developer, and
Database.com Editions

157
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Master-detail
Closely links objects together such that the master record controls certain behaviors of the detail and subdetail record. For example, you
can define a two-object master-detail relationship, such as Account—Expense Report that extends the relationship to subdetail records,
such as Account—Expense Report—Expense Line Item. You can then perform operations across the master—detail—subdetail
relationship.

Tip: Create a master-detail relationship before a custom object contains data.

Behaviors of master-detail relationships:


• Deleting a detail record moves it to the Recycle Bin and leaves the master record intact; deleting a master record also deletes related
detail and subdetail records. Undeleting a detail record restores it, and undeleting a master record also undeletes related detail and
subdetail records. However, if you delete a detail record and later separately delete its master record, you can’t undelete the detail
record, as it no longer has a master record to relate to.
• By default, records can’t be reparented in master-detail relationships. Administrators can, however, allow child records in master-detail
relationships on custom objects to be reparented to different parent records by selecting the Allow reparenting option in the
master-detail relationship definition.
• The Owner field on the detail and subdetail records isn’t available and is automatically set to the owner of the master record. Custom
objects on the detail side of a master-detail relationship can't have sharing rules, manual sharing, or queues, as these require the
Owner field.
• Detail and subdetail records inherit security settings and permissions from the master record. You can’t set permissions on the detail
record independently.
• The master-detail relationship field (which is the field linking the objects) is required on the page layout of the detail and subdetail
records.
• The master object can be a standard object, such as Account or Opportunity, or a custom object.
• As a best practice, don’t exceed 10,000 child records for a master-detail relationship.
• Each custom object can have up to two master-detail relationships and up to 40 total relationships.
• The Related To entry can’t be changed after you save the relationship.
• A profile or a permission set can have an entity, such as Account, with a master-detail relationship. A broken permission dependency
exists if the child entity has permissions that the parent should have. Salesforce updates the parent entity for a broken permission
dependency on the first save action for the profile or permission set.

If the child entity has these permissions These permissions are enabled on the parent entity
Modify All OR View All View All

View All OR Read Read

• When you create a draft Knowledge Article version from a published version, the Roll Up Summary field on the draft article carries
forward the Roll Up Summary field values of the published article. As per design, when you edit an article, a new draft version is
created and custom field values from the published version are carried over to the new draft version. However, custom object records
associated with a KnowledgeArticleVersion (published article) are not carried over or attached to the new draft version.

Many-to-many
You can use master-detail relationships to model many-to-many relationships between any two objects. A many-to-many relationship
allows each record of one object to be linked to multiple records from another object and vice versa. For example, you create a custom

158
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

object called Bug that relates to the standard case object such that a bug could be related to multiple cases and a case could also be
related to multiple bugs.

Lookup
Links two objects together. Lookup relationships are similar to master-detail relationships, except they don’t support sharing or roll-up
summary fields. With a lookup relationship, you can:
• Link two different objects.
• Link an object with itself (except for the user object; see the Hierarchical section in this topic). For example, link a custom object
called Bug with itself to show how two different bugs are related to the same problem.

Note: Lookup relationships from objects related to the campaign member object aren’t supported; however, you can create
lookup relationships from the campaign member object related to other objects.
When you create a lookup relationship, you can set these options:
• Make the lookup field required for saving a record, requiring it on the corresponding page layout as well.
• If the lookup field is optional, you can specify one of three behaviors to occur if the lookup record is deleted:
– Clear the value of this field This is the default. Clearing the field is a good choice when the field doesn’t have to contain a
value from the associated lookup record.
– Don’t allow deletion of the lookup record that’s part of a lookup relationship If you have dependencies built on the
lookup relationship, such as a workflow rule, this option doesn’t allow the lookup record to be deleted.

Note: Deleting a record that has child records isn’t allowed, except when the child records are soft-deleted (sent to the
Recycle Bin). If all the child records of a parent record are soft-deleted, then the parent record is deleted. Furthermore, any
soft-deleted children are then removed from the recycle bin and permanently deleted.

– Delete this record also Available only if a custom object contains the lookup relationship, not if it’s contained by a standard
object. However, the lookup object can be either standard or custom. Choose when the lookup field and its associated record
are tightly coupled and you want to completely delete related data. For example, say that you have an expense report record
with a lookup relationship to individual expense records. When you delete the report, you probably want to delete all the expense
records, too.

Warning: Choosing Delete this record also can result in a cascade-delete. A cascade-delete bypasses security and
sharing settings, which means users can delete records when the target lookup record is deleted even if they don’t have
access to the records. To prevent records from being accidentally deleted, cascade-delete is disabled by default. Contact
Salesforce to get the cascade-delete option enabled for your org.
Cascade-delete and its related options aren’t available for lookup relationships to business hours, network, lead, price book,
product, or user objects.

When you define a lookup relationship, you can include a lookup field on the page layouts for that object and create a related list on
the associated object's page layouts. For example, if you have a custom object called PTO Requests and you want your users to link a
PTO request with the employee submitting the request, create a lookup relationship from the PTO Request custom object with the user
object.
If the parent record in a lookup relationship is deleted, the field history tracking for the child record doesn't record the deletion. For
example, if a parent account is deleted, the Account History related list for the child account doesn’t show the deletion.
You can't delete an object or record in a lookup relationship if the combined number of records between the two linked objects is more
than 100,000. To delete an object or record in a lookup relationship, first delete an appropriate number of its child records.

159
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

When you delete an object used by a lookup field, delete the field, too. To delete both the object and the field, use the Metadata API
with a delete manifest that uses purgeOnDelete. Or, use Setup in the UI to delete the field first. Otherwise, the object can’t be
deleted.

External lookup
An external lookup relationship links a child standard, custom, or external object to a parent external object. 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.

Indirect lookup
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. Specifically, you select a custom unique, external ID field on the parent object to match against the child’s indirect
lookup relationship field, whose values come from an external data source.

Hierarchical
A special lookup relationship available for only the user object. It lets users use a lookup field to associate one user with another that
doesn’t directly or indirectly refer to itself. For example, you can create a custom hierarchical relationship field to store each user's direct
manager.

Tip: When creating a hierarchical field in Personal, Contact Manager, Group, and Professional Editions, you can select the Restricted
Field checkbox so that only users with the Manage Internal Users permission can edit it. In Professional, Enterprise, Unlimited,
Performance, and Developer Edition, use field-level security instead.

Create a Many-to-Many Object Relationship


You can use master-detail relationships to model many-to-many relationships between any two objects. A many-to-many relationship
allows each record of one object to be linked to multiple records from another object and vice versa. For example, you create a
custom object called Bug that relates to the standard case object such that a bug could be related to multiple cases and a case could
also be related to multiple bugs. When modeling a many-to-many relationship, you use a junction object to connect the two objects
you want to relate to each other.
Considerations for Object Relationships
Review these considerations before creating relationships between objects.

SEE ALSO:
Considerations for Object Relationships
External Object Relationships
Create a Many-to-Many Object Relationship
Create a Custom Object

160
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Create a Many-to-Many Object Relationship


You can use master-detail relationships to model many-to-many relationships between any two
EDITIONS
objects. A many-to-many relationship allows each record of one object to be linked to multiple
records from another object and vice versa. For example, you create a custom object called Bug Available in: both Salesforce
that relates to the standard case object such that a bug could be related to multiple cases and a Classic (not available in all
case could also be related to multiple bugs. When modeling a many-to-many relationship, you use orgs) and Lightning
a junction object to connect the two objects you want to relate to each other. Experience
Important: Where possible, we changed noninclusive terms to align with our company Available in: Contact
value of Equality. We maintained certain terms to avoid any effect on customer Manager, Group,
implementations. Professional, Enterprise,
Performance, Unlimited,
Junction Object
Developer, and
A custom object with two master-detail relationships. Using a custom junction object, you can Database.com Editions
model a “many-to-many” relationship between two objects.
Reports aren’t available in
For example, you create a custom object called “Bug” that relates to the standard case object such Database.com.
that a bug could be related to multiple cases and a case could also be related to multiple bugs.
How to create many-to-many relationships:
USER PERMISSIONS
1. Create the junction object.
To create a many-to-many
2. Create the two master-detail relationships.
relationship:
3. Customize the related lists on the page layouts of the two master objects. • Customize Application
4. Customize reports to maximize the effectiveness of the many-to-many relationship.
Create the Junction Object
1. Create a custom object to be your junction object.
2. In the custom object wizard, consider these tips specifically for junction objects:
• Name the object with a label that indicates its purpose, such as BugCaseAssociation.
• For the Record Name field, we recommend that you use the auto-number data type.
• Don’t launch the custom tab wizard before clicking Save. Junction objects don’t need a tab.

Create the Two Master-Detail Relationships


To create the two master-detail relationships:
1. Verify that the two objects you want to relate to each other exist. For example, you want to relate the standard case object to a
custom bug object.
2. On the junction object, create the first master-detail relationship field. In the custom field wizard:
a. Choose Master-Detail Relationship as the field type.
b. Select one of the objects to relate to your junction object. For example, select Case.
The first master-detail relationship you create on your junction object becomes the primary relationship. This relationship affects
the following for the junction object records.
• Look and feel: The junction object's detail and edit pages use the color and any associated icon of the primary master object.
• Record ownership: The junction object records inherit the value of the Owner field from their associated primary master
record. Because objects on the detail side of a relationship don’t have a visible Owner field, this inherited value is only relevant
if you later delete both master-detail relationships on your junction object.

161
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Division: If your org uses divisions to segment data, the junction object records inherit their division from their associated
primary master record. Similar to the record ownership, this inherited division is only relevant if you later delete both
master-detail relationships.

c. Select a Sharing Setting option. For master-detail relationship fields, the Sharing Setting attribute determines the sharing access
that users must have to a master record to create, edit, or delete its associated detail records.
d. For the Related List Label that's displayed on the page layout of the master object, don’t accept the default value. Change the
value to use the name of the other master object in your many-to-many relationship. For example, change the value to Bugs
so users see a Bugs related list on the case detail page.

3. On the junction object, create the second master-detail relationship. In the custom field wizard:
a. Choose Master-Detail Relationship as the field type.
b. Select the other desired master object to relate to your junction object. For example, select Bug.
The second master-detail relationship you create on your junction object becomes the secondary relationship. If you delete the
primary master-detail relationship or convert it to a lookup relationship, the secondary master object becomes primary.

c. Select a Sharing Setting option. For master-detail relationship fields, the Sharing Setting attribute determines the sharing access
that users must have to a master record to create, edit, or delete its associated detail records.
d. For the Related List Label that displays on the page layout of the master object, don’t accept the default value. Change this value
to use the name of the other master object in your many-to-many relationship. For example, change this value to Cases so
users see a Cases related list on the bug detail page.

Customize Many-to-Many Relationship Related Lists


For a many-to-many relationship in Salesforce, each master object record displays a related list of the associated junction object records.
To create a seamless user experience, you can change the name of the junction object related list on each of the master object page
layouts to have the name of the other master object. For example, you can change the BugCaseAssociations related list to Cases on
the bugs page layout and to Bugs on the cases page layout. You can further customize these related lists to display fields from the
other master object.
To customize the fields that display in the junction object related list on each master object page layout:
1. Edit the page layout of each master object that is related to the junction object. For example, modify the BugCaseAssociations related
list for case records by editing the page layout for cases.
2. Edit the properties of the related list you want to modify. For example, on cases the BugCaseAssociations related list was renamed
to Bugs, so select the Bugs related list.
3. Add the fields to display in the related list. You can add fields from the junction object itself, but more importantly, you can add fields
from the other master object.
Each field is prefixed with its object name in the window. In the related list itself, only fields from the junction object are prefixed
with the object name; fields from the other master object aren’t.

Note: The junction object related list doesn’t include an icon on the master record's detail pages because the junction object
doesn’t have a custom tab. If you make a tab for the junction object, the icon is included.
Customize Reports for Many-to-Many Relationships
Many-to-many relationships provide two standard report types that join the master objects and the junction object. The report types
are:
• “Primary master with junction object and secondary master” in the primary master object's report category.
• “Secondary master with junction object and primary master” in the secondary master object's report category.

162
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

The order of the master objects in the report type is important. The master object listed first determines the scope of records that can
be displayed in the report.
You can create custom reports based on these standard report types. In addition, you can create custom report types to customize which
related objects are joined in the report.

SEE ALSO:
Find Object Management Settings
Object Relationships Overview
Considerations for Object Relationships
Create a Custom Object
Find Object Management Settings

Considerations for Object Relationships


Review these considerations before creating relationships between objects.
EDITIONS
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: both Salesforce
implementations. Classic () not available in all
orgs and Lightning
Relationship Limits Experience
Each custom object can have up to two master-detail relationships and many lookup
relationships. Each relationship is included in the maximum number of custom fields allowed. Available in: Contact
Manager, Group,
Converting Relationships Professional, Enterprise,
You can convert a master-detail relationship to a lookup relationship as long as no roll-up Performance, Unlimited,
summary fields exist on the master object. Developer, and
Converting a master-detail relationship to a lookup for a custom object on the “detail” side, Database.com Editions
changes the organization-wide default for the object to public read/write. Salesforce Connect external
You can convert a lookup relationship to a master-detail relationship if the lookup field in all objects are available in:
the records contains a value. Developer Edition and for
an extra cost in: Enterprise,
A lookup relationship can’t be changed to a master-detail relationship if the organization-wide Performance, and
default of the child object access level in the relationship is Controlled by Parent. Unlimited Editions
Converting a lookup to a master-detail-relationship changes the organization-wide default to
Controlled by Parent and the sharing model is updated to public read/write.
Self-Relationships
You can create a relationship from an object to itself, but it must be a lookup relationship, and a single record can't be linked to itself.
However, a record can indirectly relate to itself. For example, the Holiday Promotion campaign can select the Direct Mail campaign
in the lookup relationship, and the Direct Mail campaign can select the Holiday Promotion campaign in the lookup relationship.
You can't create a many-to-many self-relationship, that is, the two master-detail relationships on the junction object can't have the
same master object.
Icons for Custom Related Lists
The icon you select for the associated custom tab also displays in any custom-related list you create based on a relationship.
Custom related lists don’t include an icon if they’re based on a relationship with a custom object that doesn't have a custom tab.
Master-Detail Relationships
To create multilevel master-detail relationships, you need the Customize Application user permission.

163
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

When you define a master-detail relationship, the custom object on which you're working is the detail side. Its data appears as a
custom related list on page layouts for the other object.
By default, records can’t be reparented in master-detail relationships. Administrators can, however, allow child records in master-detail
relationships on custom objects to be reparented to different parent records by selecting the Allow reparenting option in the
master-detail relationship definition.
You can have up to three custom detail levels.
Standard objects can't be on the detail side of a custom object in a master-detail relationship.
An object can appear one time in multilevel master-detail relationships. For example, a subdetail object in one multilevel master-detail
relationship can't also be the owner of the master object in another multilevel master-detail relationship. A subdetail object can't
also be the master object of the subdetail object’s detail object.
Multilevel master-detail relationships don’t support division transfers.
You can't create a master-detail relationship if the custom object already contains data. You can, however, create the relationship
as a lookup and then convert it to master-detail if the lookup field in all records contains a value.
Converting relationships from lookup to master-detail, or from master-detail to lookup behaves the same as for two-object master-detail
relationships. That is, the two linked objects in the detail-subdetail1, or subdetail1-subdetail2 relationship have the same conversion
limits as the master-detail relationship.
Roll-up summary fields work as in two-object master-detail relationships. A master can roll up fields on detail records; however, it
can't directly roll up fields on subdetail records. The detail record must have a roll-up summary field for the field on the subdetail
record, allowing the master to roll up from the detail's roll-up summary field.
You can use multilevel master-detail relationships in custom report types. The Allow Reports checkbox must be selected when you
create the custom object. Custom report types created for multilevel master-detail relationships count toward the organization’s
custom report type limit, and no reports generate if this limit is exceeded.
Custom junction objects can’t have detail objects. That is, a custom junction object can’t become the master object in a multilevel
master-detail relationship.
You can't delete a custom object if it is on the master side of a master-detail relationship. If you delete a custom object that is on
the detail side of a master-detail relationship, the relationship is converted to a lookup relationship.
Deleting a detail record moves it to the Recycle Bin and leaves the master record intact; deleting a master record also deletes related
detail and subdetail records. Undeleting a detail record restores it, and undeleting a master record also undeletes related detail and
subdetail records. However, if you delete a detail record and later separately delete its master record, you can’t undelete the detail
record, as it no longer has a master record to relate to.
A Metadata API deployment that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following
cases.
• For a deployment with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to
deploy the Master-Detail field, or the deployment fails. During the deployment, detail records are permanently deleted from the
Recycle Bin and can’t be recovered.
• For a deployment that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master
record or be soft-deleted (sent to the Recycle Bin) for the deployment to succeed. However, a successful deployment permanently
deletes any detail records in the Recycle Bin.
As a best practice, don't exceed 10,000 child records for a master-detail relationship.
A profile or a permission set can have an entity, such as Account, with a master-detail relationship. A broken permission dependency
exists if the child entity has permissions that the parent should have. Salesforce updates the parent entity for a broken permission
dependency on the first save action for the profile or permission set.

164
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

If the child entity has these permissions These permissions are enabled on the parent entity
Modify All OR View All View All

View All OR Read Read

Many-to-Many Relationships
Junction object records are deleted when either associated master record is deleted and placed in the Recycle Bin. If both associated
master records are deleted, the junction object record is deleted permanently and can't be restored.
Sharing access to a junction object record is determined by a user's sharing access to both associated master records and the Sharing
Setting option on the relationship field. See Custom Object Security on page 169. For example, if the sharing setting on both parents
is Read/Write, then the user must have Read/Write access to both parents in order to have Read/Write access to the junction object.
If the sharing setting on both masters is Read-Only, a user with Read-Only rights on the master records would have Read access to
the junction object.
In a many-to-many relationship, a user can't delete a parent record if there are more than 200 junction object records associated
with it and if the junction object has a roll-up summary field that rolls up to the other parent. To delete this object, manually delete
junction object records until the count is fewer than 200.
The first master-detail relationship you create on your junction object becomes the primary relationship. This affects the following
for the junction object records:
• Look and feel: The junction object's detail and edit pages use the color and any associated icon of the primary master object.
• Record ownership: The junction object records inherit the value of the Owner field from their associated primary master record.
Because objects on the detail side of a relationship don’t have a visible Owner field, this is only relevant if you later delete both
master-detail relationships on your junction object.
• Division: If your organization uses divisions to segment data, the junction object records inherit their division from their associated
primary master record. Similar to the record ownership, this is only relevant if you later delete both master-detail relationships.
The second master-detail relationship you create on your junction object becomes the secondary relationship. If you delete the
primary master-detail relationship or convert it to a lookup relationship, the secondary master object becomes primary.
Roll-up summary fields that summarize data from the junction object can be created on both master objects.
Formula fields and validation rules on the junction object can reference fields on both master objects.
You can define Apex triggers on both master objects and the junction object.
A junction object can't be on the master side of another master-detail relationship.
You can't create a many-to-many self-relationship, that is, the two master-detail relationships on the junction object can't have the
same master object.
Lookup Relationships
If the lookup field is optional, you can specify one of three behaviors to occur if the lookup record is deleted:
• Clear the value of this field—This is the default. Clearing the field is a good choice when the field doesn’t have to contain a value
from the associated lookup record.
• Don’t allow deletion of the lookup record that’s part of a lookup relationship—If you have dependencies built on the lookup
relationship, such as a workflow rule, this option doesn’t allow the lookup record to be deleted.

Note: Deleting a record that has child records isn’t allowed, except when the child records are soft-deleted (sent to the
Recycle Bin). If all the child records of a parent record are soft-deleted, then the parent record is deleted. Furthermore, any
soft-deleted children are then removed from the recycle bin and permanently deleted.

165
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• Delete this record also—Available only if a custom object contains the lookup relationship, not if it’s contained by a standard
object. However, the lookup object can be either standard or custom. Choose when the lookup field and its associated record
are tightly coupled and you want to completely delete related data.

Warning: Choosing Delete this record also can result in a cascade-delete. A cascade-delete bypasses security and
sharing settings, which means users can delete records when the target lookup record is deleted even if they don’t have
access to the records. To prevent records from being accidentally deleted, cascade-delete is disabled by default. Contact
Salesforce to get the cascade-delete option enabled for your organization.
Cascade-delete and its related options aren’t available for lookup relationships to business hours, network, lead, price book,
product, or user objects.

In a chain of lookup relationships, these behaviors work independently on each target field at each level. Say, for example, field A is
the target lookup of field B, which in turn is the target lookup of field C. You can have a delete restriction on A and none on B, which
means that A can't be deleted but B can. After B is deleted, the relationship between A and B no longer exists and C holds an empty
value for the lookup.
In a multilevel lookup relationship, these options can conflict. For example, if field A is the target lookup of field B, which in turn is
the target lookup of field C, you can specify that A deletes B, but B can’t be deleted because it’s in a relationship with C. If you try to
delete A, you get an error that B can’t be deleted because it’s linked to C.
If the parent record in a lookup relationship is deleted, the field history tracking for the child record doesn't record the deletion. For
example, if a parent account is deleted, the Account History related list for the child account doesn’t show the deletion.
You can’t select indirect lookup fields in the parent field when you add the Related List - Single component to a Lightning Page.
Instead, select the related list that’s associated with the indirect lookup field. It doesn’t show data in the related list, but shows the
lookup field with no issue.
Relationships on External Objects
Lookup, external lookup, and indirect lookup relationships have some special behaviors and limitations.
• Only lookup, external lookup, and indirect lookup relationships are available for external objects. No other relationship types are
supported.
• Depending on the availability of the external system, related lists of child external objects can load slowly when users view the
parent record detail pages.
• Relationships that involve external objects allow users to create child records from the record detail pages of parent records.
However, the relationship field on each new child record isn’t automatically populated to identify the parent record.
• Syncing doesn’t create relationship fields on the external objects in your Salesforce org. However, you can change the field type
of a sync-created custom field to Lookup Relationship, External Lookup Relationship, or Indirect Lookup Relationship. Changing
the field type of an existing custom field is simpler and more efficient than manually creating a relationship field on the external
object.
For example, suppose that the external system has a foreign key relationship. Syncing the related tables creates a text field in
your org for the external column that identifies the foreign keys. To reflect the foreign key relationship within your org, change
the field type of that text field to External Lookup Relationship.

• A relationship field is a type of custom field. Therefore, like all custom fields on an external object, relationship fields can be
overwritten when you sync the external object. See the sync considerations for each Salesforce Connect adapter that you use.
• Cascade-delete isn’t available for external object relationships.
• In Salesforce Classic, indirect lookup relationship fields don’t display the expected names of parent records. Instead, each indirect
lookup relationship field displays the value of the target field on the parent object. To find related records, target field values are
matched against the values of the indirect lookup relationship field on the child object. The target field, which has the External
ID and Unique attributes, is selected when an indirect lookup relationship field is created.

166
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

• In Salesforce Classic, external lookup relationship fields don’t always display the expected names of parent records.
– In a list view, an external lookup relationship field displays the parent object ID or the value of the parent object’s External
ID standard field. The latter appears by default, but if a custom field on the parent object has the Is Name Field
attribute, the parent object ID is displayed.
– In a record detail page, an external lookup relationship field displays the name as expected if the org has previously retrieved
the parent record. If you see an ID in an external lookup relationship field, reload the page to replace the ID with the name.

• Lookup search isn’t available for external lookup relationship fields. To edit an external lookup relationship field, manually enter
the value of the External ID standard field for the parent record. This limitation doesn’t apply when the parent external object is
associated with the cross-org adapter for Salesforce Connect.
• Lookup search isn’t available for indirect lookup relationship fields. To edit an indirect lookup relationship field, manually enter
the value of the target field of the parent record. The target field is the custom field with External ID and Unique
attributes that was selected when the indirect lookup relationship was created. To determine related records, Salesforce matches
target field values against the values of the indirect lookup relationship field on the child object.
• With external lookup and indirect lookup relationships, the parent record appears as a clickable link in the relationship field on
the child record. If the child record is viewed by a user who doesn’t have access to the parent record, the parent record appears
in the relationship field as plain text instead of a link.
• Lookup filters aren’t available for external lookup relationship fields.
• Indirect lookup relationship fields can be created on external objects only.
• Only objects that have a custom field with the External ID and Unique attributes are available as parent objects in
indirect lookup relationships. If you don't see the desired object when you create an indirect lookup relationship field, add a
custom unique, external ID field to that object.
• If the external system uses case-sensitive values in the specified External Column Name, make sure that the parent object field
is also case-sensitive. When you define the parent object’s custom field, select External ID, Unique, and Treat "ABC" and "abc"
as different values (case sensitive).
Impact of Relationships on Reports
The type of relationship you create affects which standard report types are available and how they're categorized. These report types
determine which related objects can be included in the report:
• Lookup relationships allow data from the two related objects to be joined in one report.
• Master-detail relationships allow data from three objects to be joined in one report: the master object, the detail object, plus
one other lookup object. If the detail object has multiple lookup relationships, a separate report type is available based on each
lookup.
• Many-to-many relationships provide two standard report types that join the master objects and the junction object. The report
types are:The order of the master objects in the report type is important. The master object listed first determines the scope of
records that can be displayed in the report.
– “Primary master with junction object and secondary master” in the primary master object's report category.
– “Secondary master with junction object and primary master” in the secondary master object's report category.

The reporting impact of each relationship type is summarized in the following table:

Relationship Type Standard Report Types Report Type Category


Lookup Object by itself Based on the object
Object with first lookup
Object with second lookup

167
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Relationship Type Standard Report Types Report Type Category


Object with third lookup

Master-Detail Master object by itself Master object


Master object with detail object
Master object with detail object and first
lookup
Master object with detail object and
second lookup
Master object with detail object and third
lookup

Many-to-Many Primary master object by itself Primary master object


Secondary master object by itself and
Primary master object with junction object Secondary master object
and secondary master object
Secondary master object with junction
object and primary master object

Custom report types give you more flexibility to join data from multiple objects, including lookups and master-detail relationships.

Important: Converting a relationship from lookup to master-detail or vice versa can cause existing custom reports to become
unusable due to the different standard report types available for each type of relationship. We recommend that you test your
custom reports immediately after converting the relationship type. If you revert your relationship back to the original type, the
reports are restored and become usable again.

SEE ALSO:
Object Relationships Overview
Create a Many-to-Many Object Relationship
External Object Relationships

Customize Search Layouts


Search layouts let you determine what users see when Einstein Search returns results. For each
USER PERMISSIONS
unique user profile, you can create search layouts for standard and custom objects, ensuring the
layout shows users what’s most relevant to them. Only objects with customizable layouts support To define search layouts for
profile-specific layouts. The search layout that you configure applies to global and lookup searches. custom objects:
• Customize Application

168
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

You can customize search layouts on a per-object basis. Users who don’t have a profile-specific layout assigned to them see the default
search results layout. Look at search layout guidelines, limitations, and other layout options for your users.

SEE ALSO:
Customize Search Layouts
Search Layouts Limitations

Custom Object Security


Learn how security settings work together so you can control access to your custom objects with
EDITIONS
great flexibility.

Important: Where possible, we changed noninclusive terms to align with our company Available in: both Salesforce
value of Equality. We maintained certain terms to avoid any effect on customer Classic (not available in all
orgs) and Lightning
implementations.
Experience
Set custom object security at the following levels
Available in: Contact
• Tab—display the custom tab for the appropriate users based on their user profiles. Manager, Group,
• Object—set the access users have to create, read, edit, and delete records for each object. Professional, Enterprise,
• Records—set the default sharing model for all your users. This determines the access users Performance, Unlimited,
have to custom object records that they don’t own. Developer, and
Database.com Editions
• Relationship—for objects on the detail side of a master-detail relationship, specify the sharing
access that users must have to the master record in order to create, edit, or delete the associated Tabs aren’t available in
detail records. This is specified in the Sharing Setting attribute of the master-detail relationship Database.com.
field on the detail object.
• Fields—set the level of access users have to fields on your custom object page layout.
These requirements apply to custom objects with no master-detail relationship.

Action Required Privileges


Create a record Create permission. The user must have the tab displayed to create
a record from the Create New dropdown list in the sidebar.

View a record Read permission and Public Read Only or Public Read/Write sharing
model if not the record owner.

Edit a record Edit permission and Public Read/Write sharing model if not the
record owner.

Delete a record Delete permission and must be the record owner or above the
record owner in the role hierarchy.

These requirements apply to custom objects that have a master-detail relationship with a standard or custom object.

Action Required Privileges


Create a record Create permission and either read or read/write access to the
related master record, depending on the value of the Sharing

169
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization

Action Required Privileges


Setting attribute of the master-detail relationship field on the detail
object.

View a record Read permission and read access to the related master record. If
the record has two master records in a many-to-many relationship,
the user must have read access to both master records.

Edit a record Edit permission and either read or read/write access to the related
master record, depending on the value of the Sharing Setting
attribute of the master-detail relationship field on the detail object.

Delete a record Delete permission and either read or read/write access to the
related master record, depending on the value of the Sharing
Setting attribute of the master-detail relationship field on the detail
object.
When a user deletes a record that has related custom object
records, all related custom object records are deleted regardless
of whether the user has delete permission to the custom object.

Delegated administrators can manage nearly every aspect of specified custom objects, but they can’t create or modify relationships on
the object or set organization-wide sharing defaults.

Notes on Enabling Activities for Custom Objects


Learn about things to consider when enabling activities for custom objects.
EDITIONS
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: both Salesforce
implementations. Classic and Lightning
Experience
• If you enable activities when creating a custom object, the activity related lists are added to the
default page layout automatically. If you enable activities later, after the custom object already Available in: Contact
exists, you must add the related lists to the page layout manually. Manager, Group,
Professional, Enterprise,
• Disabling activities for a custom object doesn’t delete existing activity records. However, activity
Performance, Unlimited,
related lists are removed from custom object pages, and reports containing activities and the and Developer Editions
custom object are deleted.
• If a custom object has a master-detail relationship with accounts, the custom object’s activities
roll up to the account and cause the account’s Last Activity date to be updated. For custom objects related to other types of records,
the activities don’t roll up.
• The ability to send emails or create mail merge documents is available for activities on custom objects. The email must be sent to a
contact or lead.
• When you change the ownership of a custom object record, any open activities related to that custom object are also transferred
to the new record owner.
• You can’t disable activity tracking for a custom object if any workflow tasks are associated with that custom object.

170
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

• Custom object records can only be associated with a call log in Salesforce CRM Call Center if activities are enabled for the object.

SEE ALSO:
Create a Custom Object

Store Customers’ Data Privacy Preferences


Store certain data privacy preferences for your customers.
EDITIONS
Regardless of whether you’re working toward complying with data protection and privacy
regulations, data privacy records can help you track and store your customers’ consent. We’ve listed Available in: both Salesforce
some of the regulations that are important to many companies collecting and processing their Classic (not available in all
customers’ data. orgs) and Lightning
Experience
• General Data Protection Regulation (GDPR), European Union
• Gramm-Leach-Bliley Act (GLB Act), United States Available in: all editions,
including partner and
• Canada’s Anti-Spam Law (CASL)
customer community users.

Set Up Tracking and Storage of Certain Data Privacy Preferences


Let your users store and track certain data privacy preferences for your customers.
Consent Management Objects
Get familiar with the objects that you can use for managing your customers’ privacy and consent.
Tracking Customer Requests for Data Privacy Updates
If you store certain data privacy preferences in data privacy records based on the Individual object, track customers’ requests so that
you can honor their wishes.
Best Practices for Tracking Data Privacy
Keep these best practices in mind when storing certain data privacy preferences in data privacy records based on the Individual
object.
Track Certain Data Privacy Preferences for Leads and Contacts Already in Salesforce
Create data privacy records based on the Individual object for leads and contacts already in Salesforce using scripts.
Manage Duplicate Data Privacy Records
Keep your records clean and free of duplicates so that you can reach more customers and maintain better relationships with them.

Set Up Tracking and Storage of Certain Data Privacy Preferences


Let your users store and track certain data privacy preferences for your customers.
EDITIONS
Data protection details are available in all your org’s records by default. Enable the Consent Data
model in the settings. You can easily verify that they’re available or disable them from the Setup Available in: both Salesforce
page. Classic (not available in all
orgs) and Lightning
1. From Setup, in the Quick Find box, enter Data Protection and Privacy, and then
Experience
select Data Protection and Privacy.
2. Click Edit, select or unselect Make data protection details available in records, and then Available in: all editions,
including partner and
click Save.
customer community users.

171
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

You can make data protection information visible to users by adding the Individual field to Lead, Contact, and Person Accounts
page layouts. Consider renaming this field to something meaningful to your users. (Example: Manage data privacy or Track customer
consent)

Note: If you don’t see tabs for the consent management objects, set the objects’ tab settings to Default On for the profiles where
you want to enable tabs.
Consider enabling or updating these settings.
• Create custom fields for data privacy records
• Create sharing rules for data privacy records
• Encrypt personal data in certain data privacy fields (Shield customers)
• Set the organization-wide sharing default
• Track field history for individuals

SEE ALSO:
Track Certain Data Privacy Preferences for Leads and Contacts Already in Salesforce
Best Practices for Tracking Data Privacy
Respect Consent Preferences in Marketing Cloud with the Consent Data Model

Consent Management Objects


Get familiar with the objects that you can use for managing your customers’ privacy and consent.
EDITIONS
After you learn about these objects and fields, you can track and store certain data privacy
preferences. But keep in mind that you must decide how to honor your customers’ privacy, and Available in: both Salesforce
then implement a process to accomplish that. Classic (not available in all
orgs) and Lightning
For example, if you send communications to customers with Marketing Cloud, you can manage
Experience
customers’ preferences for how they want to be contacted using consent management objects.
To learn more, read the Respect Consent Preferences in Marketing Cloud with the Consent Data Available in: all editions. The
Model solution kit. Individual object is available
for partner and customer
Note: Consent management object records aren’t counted toward your storage usage. community users.

Table 1: Consent Management Objects


Object What It Tracks
Authorization Form The version number and effective dates of the authorization form.

Authorization Form Consent Information related to the customer’s consent to the authorization
form.

Authorization Form Data Use The data use purpose associated with the authorization form.

Authorization Form Text The text and language of the authorization form.

Communication Subscription The customer’s preferences for a communication subscription.

Communication Subscription Channel Type The engagement channel through which to contact a customer
for a communication subscription.

172
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Object What It Tracks


Communication Subscription Consent Information related to the customer’s consent to the
communication subscription.

Communication Subscription Timing The customer’s timing preferences for receiving a communication
subscription.

Contact Point Consent Information related to the customer’s consent to be contacted via
a specific contact point.

Contact Point Email The customer’s preference for the time that they prefer to be
contacted via email.

Contact Point Phone The customer’s preference for the time that they prefer to be
contacted via phone.

Contact Point Type Consent Customer allows contact via a specific contact point type like email,
but not through phone calls and mail.

Data Use Purpose The reason for collecting customer data.

Data Use Legal Basis The legal basis for contacting an individual or party, such as
legitimate interest.

Engagement Channel Type The channel to use to reach a customer, such as email or web.

Individual The customer’s preferences for:


• Collecting, storing, and sharing their personal data.
• Packaging their personal data so they can take ownership of
it.
• Deleting records and personal data related to them.
• Solicitation of products and services.
• Tracking their geolocation and web activity.

Party Consent Information related to an individual’s consent.

Authorization Form Objects


Keep track of data related to authorization forms, such as terms of service, privacy policy, and other consent forms. Each authorization
form object stores different data. You can use them together to create a full picture of your customer’s consent to the authorization
form.
Communication Subscription Objects
You can store and manage the data related to your customer’s communication subscriptions, such as newsletters or appointment
reminders. Different communication subscription objects store different data, such as how the customer consented to the
communication subscription and preferred contact timing.
Fields in Data Privacy Records
Get the skinny on the fields that appear in data privacy records based on the Individual object. Data privacy records store certain
privacy settings for your customers.

173
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Fields in Contact Point Consent Records


Represents a customer's consent to be contacted via a specific contact point, such as an email address or phone number.
Fields in Contact Point Email Records
Fields in contact point email records store multiple email records related to an individual.
Fields in Contact Point Phone Records
Fields in contact point phone records store multiple phone records related to an individual.
Fields in Contact Point Type Consent Records
Contact point type consent records let you enter details about how a customer has agreed to be contacted by your company. For
example, you can indicate that a customer consented to a specific contact point like email, but not phone calls and mail.
Fields in Data Use Purpose Records
Represents a category that defines the reason for contacting an individual. For example, billing, marketing, or surveys.
Fields in Data Use Legal Basis Records
Represents the legal basis for contacting an individual. For example, billing or contract.
Fields in Party Consent Records
Represents consent preferences for an individual.

Authorization Form Objects


Keep track of data related to authorization forms, such as terms of service, privacy policy, and other
EDITIONS
consent forms. Each authorization form object stores different data. You can use them together to
create a full picture of your customer’s consent to the authorization form. Available in: both Salesforce
Classic (not available in all
Authorization Form orgs) and Lightning
Experience
Stores the name, version, and effective dates of the authorization form. You can use the revision
number to determine if you’re using the current version. You can also link to a default authorization Available in: all editions
form text record to use if text isn’t available for a specific language.

Authorization Form Consent


Tracks information related to each customer’s consent to the authorization form. Indicates the individual that consented and when,
how, and to which version of the authorization form.

Authorization Form Data Use


Optionally, you can connect an authorization form to one or more data use purpose records. Indicate the data use purpose associated
with the form, such as billing or marketing, and its corresponding legal basis.

Authorization Form Text


Manages the text associated with the authorization form. You can create multiple text versions for the same authorization form to support
different languages, regions, and situations. You can also include a summary to describe the form’s purpose and display to customers
when asking for their consent.

174
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Communication Subscription Objects


You can store and manage the data related to your customer’s communication subscriptions, such
EDITIONS
as newsletters or appointment reminders. Different communication subscription objects store
different data, such as how the customer consented to the communication subscription and Available in: both Salesforce
preferred contact timing. Classic (not available in all
orgs) and Lightning
Communication Subscription Experience

Store a customer’s subscription preferences for a specific communication. Available in: all editions.

Communication Subscription Channel Type


Specify the engagement channel that you can use to contact the customer for a communication subscription.

Communication Subscription Consent


Track information related to each customer’s consent to the communication subscription. Indicate the individual or person account that
consented, when consent was captured, and through what method. You can also specify if another person consented on behalf of the
customer listed in the record. The user’s actual consent isn’t stored, but rather the action or communication types that the user chooses
to subscribe to.

Communication Subscription Timing


Manage the customer’s time preferences for receiving a communication subscription. For example, track whether to send a reminder
to a patient 2 weeks before an appointment or a newsletter to a customer every Tuesday. You can also ensure that you reach customers
when they prefer and in the correct time zone.

Engagement Channel Type


Store the channels by which you can communicate with a customer, such as email, phone, or web.

Fields in Data Privacy Records


Get the skinny on the fields that appear in data privacy records based on the Individual object. Data
EDITIONS
privacy records store certain privacy settings for your customers.
Available in: both Salesforce
Field Description Classic (not available in all
Birth Date The customer’s birth date. orgs) and Lightning
Experience
Block Geolocation Tracking Preference to not track geolocation on mobile
Available in: all editions,
devices.
including partner and
Consumer Credit Score The individual’s credit score (for example, 740). customer community users.

Consumer Credit Score Provider Name The name of the company that provided the
credit score.

Conviction Count The number of convictions for the customer.

Death Date The individual’s death date.

Don’t Market Preference to not receive marketing materials.

175
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Field Description
Don’t Process Preference to not process personal data, which can include
collecting, storing, and sharing personal data.

Don’t Profile Preference to not process data for predicting personal attributes,
such as interests, behavior, and location.

Don’t Solicit Preference to not solicit products and services.

Don’t Track Preference to not track customer web activity and whether the
customer opens email sent through Salesforce.

Export Individual’s Data Preference to export personal data for delivery to the individual.

Forget This Individual Preference to delete records and personal data related to this
individual.

Individual’s Age Indication for whether the individual is considered to be a minor.

Influencer Rating A measure of the person's influence, irrespective of how we do


business with them.

Is Homeowner Indicates whether the customer owns a home.

Military Service Indicates whether the customer has served in the military.

Number of Children The number of children the customer has.

Occupation The customer’s occupation. Maximum length is 150 characters.

OK to Store PII Data Elsewhere Indication that you can store personally identifiable information
outside of their legislation area. For example, you could store an
EU citizen’s personal data in the US.

Fields in Contact Point Consent Records


Represents a customer's consent to be contacted via a specific contact point, such as an email
EDITIONS
address or phone number.
Available in: both Salesforce
Field Description Classic (not available in all
Business Brand Represents a unique brand for a business that orgs) and Lightning
Experience
belongs to a parent entity.
Available in: all editions.
Capture Contact Point Type The contact point used to capture consent.
• Email
• Mailing Address
• Phone
• Social
• Web

Capture Date The date when consent was captured.

176
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Field Description
Capture Source The way you captured consent. For example, a website or online
form.

Contact Point The contact point record, such as for phone or email, that you want
to associate this consent with.

Data Use Purpose The data use purpose record that you want to associate this consent
with.

Double Consent Capture Date The date when double opt-in was captured. Double opt-in is
captured when the customer confirms for a second time that they
want to give consent.

Effective From The date when consent starts.

Effective To The date when consent ends.

Engagement Channel Type ID of the engagement channel record through which the customer
is consenting to be contacted.

Party Role The record, based on the individual object you want to associate
consent with.

Privacy Consent Status Whether the customer associated with this record agrees to this
form of contact.
• Not Seen
• Seen
• Opt In
• Opt Out

Fields in Contact Point Email Records


Fields in contact point email records store multiple email records related to an individual.
EDITIONS
Field Description Available in: both Salesforce
Active from Date The date when the contact’s email became Classic (not available in all
active. orgs) and Lightning
Experience
Active to Date The date when the contact’s email is no longer
Available in: all editions
active.

Best Time to Contact End Time The end time for when the customer prefers to
be contacted.

Best Time to Contact Start Time The start time for when the customer prefers to
be contacted.

Best Time to Contact Timezone The timezone for when it’s best to contact the
customer.

177
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Field Description
Email Address The email address of the contact.

Email Domain The domain of the contact’s email, which is everything after the
@ sign.

Email Latest Bounce Date Time The date and time when an email failed to reach its recipient.

Email Latest Bounce Reason Text The reason why the email didn’t reach its recipient.

Email Mail Box A subset of the contact’s email, which is everything before the @
sign.

Is Primary Indicates whether a contact’s email is their primary email (true) or


not (false).

Name The email of the contact.

Parent The ID of the contact’s parent. Only an individual or account can


be a contact’s parent.

Preference Rank Specify how this email ranks in terms of preference among the
contact’s other emails.

Usage Type Specify the usage type of this email. For instance, whether it’s a
work email or a temporary email. Possible values are:
• Home
• Temp
• Work

Fields in Contact Point Phone Records


Fields in contact point phone records store multiple phone records related to an individual.
EDITIONS
Field Description Available in: both Salesforce
Active from Date The date when the contact’s phone number Classic (not available in all
became active. orgs) and Lightning
Experience
Active to Date The date when the contact’s phone number is
Available in: all editions
no longer active.

Area Code The area code of the phone number’s location


for the contact.

Best Time to Contact End Time The end time for when the customer prefers to
be contacted.

Best Time to Contact Start Time The start time for when the customer prefers to
be contacted.

Best Time to Contact Timezone The timezone for when it’s best to contact the
customer.

178
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Field Description
Extension Number The phone number extension for the contact.

Formatted International Phone Number The internationally recognized format for the contact’s phone
number.

Formatted National Phone Number The nationally recognized format for the contact’s phone number.

Is Business Phone Indicates whether a contact’s phone number is a business number


(true) or not (false).

Is Fax Capable Indicates whether a contact’s phone number is a fax number (true)
or not (false).

Is Personal Phone Indicates whether a contact’s phone number is a personal number


(true) or not (false).

Is Primary Indicates whether a contact’s phone number is their primary phone


number (true) or not (false).

Is SMS Capable Indicates whether a contact’s phone number can receive text
messages (true) or not (false).

Name The phone number of the contact.

Parent The ID of the contact’s parent. Only an individual or account can


be a contact’s parent.

Phone Type The type of phone number for the contact. Possible values are:
• Home
• Mobile

Preference Rank Specify how this phone number ranks in terms of preference
among the contact’s other phone numbers.

Telephone Number The phone number for the contact.

Usage Type Specify the usage type of this phone number. For instance, whether
it’s a work phone or a temporary phone. Possible values are:
• Home
• Temp
• Work

179
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Fields in Contact Point Type Consent Records


Contact point type consent records let you enter details about how a customer has agreed to be
EDITIONS
contacted by your company. For example, you can indicate that a customer consented to a specific
contact point like email, but not phone calls and mail. Available in: both Salesforce
Classic (not available in all
Field Description orgs) and Lightning
Experience
Business Brand Represents a unique brand for a business that
belongs to a parent entity. Available in: all editions
Capture Contact Point Type The contact point used to capture consent.
• Email
• Mailing Address
• Phone
• Social
• Web

Capture Date The date when consent was captured.

Capture Source The way you captured consent. For example, a


website or online form.

Contact Point Type The contact method you want to apply consent
to.
• Email
• Mailing Address
• Phone
• Social
• Web

Data Use Purpose The data use purpose record that you want to
associate this consent with.

Double Consent Capture Date Date when double opt-in was captured. Double
opt-in is captured when the customer confirms
for a second time that they want to give
consent.

Data Use Purpose The data use purpose record that you want to
associate this consent with.

Effective From The date when consent starts.

Effective To The date when consent ends.

Engagement Channel Type ID of the engagement channel record through


which the customer is consenting to be
contacted.

180
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Field Description
Name The name of the contact point type consent record.

Party The record based on the Individual object you want to associate
consent with.

Party Role The party role record that you want to associate this consent with.

Privacy Consent Status Whether the individual associated with this record agrees to this
form of contact.
• Not Seen
• Seen
• Opt In
• Opt Out

Fields in Data Use Purpose Records


Represents a category that defines the reason for contacting an individual. For example, billing,
EDITIONS
marketing, or surveys.
Available in: both Salesforce
Field Description Classic (not available in all
Can Data Subject Opt Out Indication of whether an individual can decline orgs) and Lightning
Experience
contact for the described purpose.
Available in: all editions
Description Indicates the purpose for contacting a customer.

Legal Basis The legal basis record associated with this


purpose.

Name The reason for contacting an individual. For


example, “billing” or “marketing.”

Fields in Data Use Legal Basis Records


Represents the legal basis for contacting an individual. For example, billing or contract.
EDITIONS
Field Description Available in: both Salesforce
Description Description of the data use legal basis. Classic (not available in all
orgs) and Lightning
Name The name for the legal basis. For example, Experience
“billing” or “contract.”
Available in: all editions
Source The source of the legal basis. For example, the
URL of a contract.

181
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Fields in Party Consent Records


Represents consent preferences for an individual.
EDITIONS
Field Description Available in: both Salesforce
Action The action that the individual is consenting to, Classic (not available in all
such as collecting data. orgs) and Lightning
Experience
Business Brand Represents a unique brand for a business that
Available in: all editions.
belongs to a parent entity.

Capture Contact Point Type The contact point used to capture consent.
• Email
• Mailing Address
• Phone
• Social
• Web

Capture Date The date when consent was captured.

Capture Source The way you captured consent. For example, a


website or online form.

Double Consent Capture Date The date when double opt-in was captured.
Double opt-in is captured when the customer
confirms for a second time that they want to
give consent.

Effective From The date when consent starts.

Effective To The date when consent ends.

Name The name of the contact point type consent


record.

Party The record based on the Individual object you


want to associate consent with.

Party Role The party role record that you want to associate
this consent with.

Privacy Consent Status Whether the individual associated with this


record agrees to this form of contact.
• Not Seen
• Seen
• Opt In
• Opt Out

182
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Tracking Customer Requests for Data Privacy Updates


If you store certain data privacy preferences in data privacy records based on the Individual object,
EDITIONS
track customers’ requests so that you can honor their wishes.
To track customers’ requests for updates to their data privacy preferences, run an Apex trigger or Available in: both Salesforce
query records in the SOAP API. Classic (not available in all
orgs) and Lightning
Apex Triggers
Experience
From Setup, enter Individual in the Quick Find box, and then select Triggers. To create
a new trigger, select New. Available in: all editions,
including partner and
To monitor changes to a specific field, customize the trigger.
customer community users.
Example:

trigger IndividualUpdated on Individual (after update) {


for(String individualId : Trigger.newMap.keySet())
{
if( Trigger.oldMap.get(individualId).ShouldForget !=
Trigger.newMap.get(individualId).ShouldForget )
{
// Do something when ShouldForget ("Forget this Individual") changes
}
}
}

To track customers’ requests, either query for triggers in the API, or create reports on flagged items using custom report types.
Reports
Use data privacy reports to understand the information stored in data privacy records.
Standard Report: Field History—If your organization tracks field history on data privacy records based on the Individual object, you
can report on that information using the individual history report.
SOAP API
Query records for changes to data privacy flags using the SOAP API.
For more details, see SOAP API: Individual

SEE ALSO:
Best Practices for Tracking Data Privacy
Define Apex Triggers

183
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Best Practices for Tracking Data Privacy


Keep these best practices in mind when storing certain data privacy preferences in data privacy
EDITIONS
records based on the Individual object.
Available in: both Salesforce
Encrypting Personal Data Classic (not available in all
orgs) and Lightning
The Name field in data privacy records is personal data. Salesforce Shield customers can use Shield Experience
to encrypt this field. If you’ve added custom fields that contain personal data, consider encrypting
them. Available in: all editions,
including partner and
customer community users.
Helping Your Users Decode Individual
After you add the Individual field to your page layouts, consider renaming the field to something
meaningful for your users. (Example: Manage data privacy or Track customer consent)

Keeping Renamed Contacts, Leads, and Person Accounts Consistent with Data Privacy Record
Names
Renaming a contact, lead, or person account doesn’t update any corresponding privacy data. To keep the name of data privacy records
up to date, write an Apex trigger.

Converting Leads to Existing Contacts


When you convert a lead, you can decide which data privacy record you maintain between the converted lead and the contact.

To Maintain the Data You Need To


Privacy Record From the
Contact Sit back and do nothing.

Lead Edit the contact’s IndividualId to replace the ID with the one from the converted lead. If your
contact doesn’t include the ID before the conversion, the conversion process populates the field from
the converted lead.

Creating Community Users from Contacts with Associated Data Privacy Records
To create a new community member from a contact record, first disable Don’t Process and Forget this Individual
in the associated data privacy record.

SEE ALSO:
Lead Conversion Field Mapping

184
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Track Certain Data Privacy Preferences for Leads and Contacts Already in Salesforce
Create data privacy records based on the Individual object for leads and contacts already in Salesforce
EDITIONS
using scripts.
These scripts create unique data privacy records for each lead and contact. Keep in mind, if you Available in: both Salesforce
already have any data privacy records for your leads and contacts, this script creates duplicate Classic (not available in all
records. orgs) and Lightning
Experience

Create Data Privacy Records for Contacts Available in: all editions,
including partner and
Create data privacy records and link them to contacts already in Salesforce when you run this script. customer community users.

global class CreateIndividualFromContact implements Database.Batchable<sObject> {


global Database.Querylocator start(Database.BatchableContext BC) {
//Query to fetch contacts that don't have Individual created. You may modify the
query to add custom fields
//Please add "IsPersonAccount = false" condition to below query to exclude person
accounts
return Database.getQueryLocator('Select FirstName, LastName, Salutation from Contact
where IndividualId = NULL');
}

global void execute(Database.BatchableContext BC, List<Contact> contactList) {


Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
for(Contact con : contactList) {
individualRecordsToCreate.put(con.Id, new Individual(FirstName = con.FirstName,
LastName = con.LastName, Salutation=con.Salutation));
}
insert individualRecordsToCreate.values();
for(Contact con : contactList) {
con.IndividualId = individualRecordsToCreate.get(con.Id).Id;
}
update contactList;
}

global void finish(Database.BatchableContext BC) {}

Create Data Privacy Records for Leads


Create data privacy records and link them to leads already in Salesforce when you run this script.
global class CreateIndividualFromLead implements Database.Batchable<sObject> {

global Database.Querylocator start(Database.BatchableContext BC) {


//Query to fetch non-converted Leads that don't have Individual created. You may
modify the query to add custom fields
return Database.getQueryLocator('Select FirstName, LastName, Salutation from Lead
where IsConverted = false and IndividualId = NULL');
}

185
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

global void execute(Database.BatchableContext BC, List<Lead> leadList) {


Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
for(Lead l : leadList) {
individualRecordsToCreate.put(l.Id, new Individual(FirstName = l.FirstName,
LastName = l.LastName, Salutation=l.Salutation));
}
insert individualRecordsToCreate.values();
for(Lead l : leadList) {
l.IndividualId = individualRecordsToCreate.get(l.Id).Id;
}
update leadList;
}

global void finish(Database.BatchableContext BC) {}


}

Manage Duplicate Data Privacy Records


Keep your records clean and free of duplicates so that you can reach more customers and maintain
EDITIONS
better relationships with them.
You can work with duplicate data privacy records individually or in bulk. You can’t merge duplicate Available in: both Salesforce
data privacy records automatically. Classic (not available in all
orgs) and Lightning
You can create a custom matching rule for the Individual object to identify duplicate data privacy
Experience
records and a custom duplicate rule to handle the duplicates.
The Individual object doesn’t include standard matching and duplicate rules, so you must create Available in: all editions,
including partner and
your own custom matching and duplicate rules to manage your data privacy duplicates.
customer community users.

Merge Duplicate Data Privacy Records in Lightning Experience


Merge duplicate data privacy records based on the Individual object in Lightning Experience.

SEE ALSO:
Manage Duplicates One at a Time
Manage Duplicates Globally
Duplicate Detection and Handling Process
Customize Duplicate Management

186
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

Merge Duplicate Data Privacy Records in Lightning Experience


Merge duplicate data privacy records based on the Individual object in Lightning Experience.
EDITIONS
1. Choose a data privacy record based on the Individual object. A message tells you if duplicates
exist for that record. To see them, click View Duplicates. Available in: Lightning
Experience

Available in: all editions,


including partner and
customer community users.

USER PERMISSIONS

To merge data privacy


records based on the
Individual object:
• Delete on individuals

2. Choose up to three data privacy records to merge. Click Next.

187
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences

3. Choose one data privacy record as the master, and choose the field values that you want to keep. Click Next.

4. Confirm your choices and merge.

188
Extend Salesforce with Clicks, Not Code Classify Sensitive Data to Support Data Management Policies

Classify Sensitive Data to Support Data Management Policies


Record data sensitivity and compliance categorization at the field level. Data classification can be
EDITIONS
used to guide decisions around access, reporting, and data compliance.
Available in: Salesforce
Set Up Data Classification Metadata Classic and Lightning
Customize your data classification settings to meet your organization’s needs. You can also Experience
upload or download data classification values. Available in: All editions
Data Classification Metadata Fields
Record the data owner, field usage, data sensitivity, and compliance categorization for any USER PERMISSIONS
standard or custom object field. You can also access data classification metadata in the Salesforce
API and Apex. To edit or view data
classification fields:
Create Reports from Data Classification Metadata
• Customize Application
Run reports to help meet your data management policies. or Modify Data
Classification

Set Up Data Classification Metadata


Customize your data classification settings to meet your organization’s needs. You can also upload
EDITIONS
or download data classification values.
Data classification is automatically enabled in all orgs. Available in: Salesforce
Classic and Lightning
1. Select whether to use default data sensitivity levels.
Experience
a. From Setup, in the Quick Find box, enter Data Classification Settings, and
then select Data Classification Settings. Available in: All editions

b. Select or deselect Use default data sensitivity level. Some fields contain data sensitivity
values by default. Those values are visible in the UI after you enable them. For example, the USER PERMISSIONS
email field has a confidential value. When you enable that checkbox, those default values
To edit or view data
are applied and are then visible in the UI.
classification fields:
2. Edit data classification values. • Customize Application
or Modify Data
a. From Setup, select Object Manager, and then select the object you want to edit. Classification
b. Select Fields & Relationships from the sidebar. Select the field where you want to set up
data classification, and click Edit.
c. Select the value for each metadata field from the dropdown lists.
d. Click Save.

Note: To edit data classification values for fields that aren’t available in the Object Manager, use the CustomField Metadata
API or Data Classification Upload tool.

3. (Optional) Edit Data Sensitivity picklist values.


a. From Setup, in the Quick Find box, enter Data Classification Settings, and then select Data Classification
Settings.
b. Select Edit Data Sensitivity Picklist Values
c. Add, delete, rename, or reorder an existing picklist value.

189
Extend Salesforce with Clicks, Not Code Classify Sensitive Data to Support Data Management Policies

You can also add a Description or indicate that fields with this picklist value contain data highly sensitive to your company by
selecting High-risk level.

4. (Optional) Edit Compliance Categorization picklist values.


a. From Setup, in the Quick Find box, enter Data Classification Settings, and then select Data Classification
Settings.
b. Select Edit Compliance Categorization Picklist Values
c. Add, delete, rename, or reorder an existing picklist value.

5. (Optional) Upload data classification information in a CSV file.


a. From Setup, in the Quick Find box, enter Data Classification Upload, and then select Data Classification Upload.
b. Click Choose File. A CSV file can contain a maximum of 10,000 rows. Each row must include the object name, field name, and
data sensitivity level.

6. (Optional) Download data classification information in a CSV file.


a. From Setup, in the Quick Find box, enter Data Classification Download, and then select Data Classification
Download.
b. Click Download. The maximum size of the CSV file is 5 MB.
Only fields that have an associated data sensitivity value are included in the file. The file includes the first 2,000 records for each
data sensitivity value.

You can update multiple fields at once using the CustomField Metadata API.

Data Classification Metadata Fields


Record the data owner, field usage, data sensitivity, and compliance categorization for any standard
EDITIONS
or custom object field. You can also access data classification metadata in the Salesforce API and
Apex. Available in: Salesforce
You can use the data classification metadata fields on all standard and custom objects. Classic and Lightning
Experience
Field Description Available in: All editions
Compliance Categorization The compliance acts, definitions, or regulations
that are related to the field’s data. Default values: USER PERMISSIONS
• CCPA—California Consumer Privacy Act
To edit data classification
• COPPA—Children's Online Privacy fields:
Protection Act • Customize Application
• GDPR—General Data Protection Regulation or Modify Data
Classification
• HIPAA—Health Insurance Portability and
Accountability Act
• PCI—Payment Card Industry
• PersonalInfo—Personal information. For use
with the Enhanced Personal Information
Management feature. Only available if
Enhanced Personal Information

190
Extend Salesforce with Clicks, Not Code Classify Sensitive Data to Support Data Management Policies

Field Description
Management and Digital Experiences are enabled.
• PII—Personally Identifiable Information
The field corresponds to the ComplianceGroup field on the
FieldDefinition Tooling API.

Data Owner The person or group associated with this field. The data owner
understands the importance of the field’s data to your company
and might be responsible for determining the minimum data
sensitivity level.
The field corresponds to the BusinessOwnerId field on the
FieldDefinition Tooling API.

Data Sensitivity Level The sensitivity of the data contained in this field. Default values:
• Public—Available to the public to view but not alter.
• Internal—Available to company employees and contractors.
This data must not be shared publicly, but it can be shared
with customers, partners, and others under a non-disclosure
agreement (NDA).
• Confidential—Available to an approved group of employees
and contractors. This data isn’t restricted by law, regulation, or
a company master service agreement (MSA). It can be shared
with customers, partners, and others under an NDA.
• Restricted—Available only to an approved group of employees
and contractors. This data is likely restricted by law, regulation,
an NDA, or a company MSA.
• MissionCritical—Available only to a small group of approved
employees and contractors. Third parties who are given access
could be subject to heightened contractual requirements. This
data is almost always restricted by law, regulation, an NDA, or
a company MSA.
The field corresponds to the SecurityClassification
field on the FieldDefinition Tooling API and the
FieldSecurityClassification SOAP API.

Field Usage Tracks whether the field is in use. Default values:


• Active—In use and visible.
• DeprecateCandidate—Planned for deprecation and no longer
in use.
• Hidden—Not visible and possibly planned for deprecation.
Use with caution.
Changing the value of Field Usage doesn’t hide or expose the field.
The field corresponds to the BusinessStatus field on the
FieldDefinition Tooling API.

191
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

You can customize the values for the Compliance Categorization, Data Sensitivity Level, and Field Usage fields.
• To edit the Compliance Categorization values, select Edit Compliance Categorization Picklist Values on the Data Classification
Settings Setup page or update the ComplianceGroup picklist using the StandardValueSet Metadata API type.
• To edit the Data Sensitivity Level values, select Edit Data Sensitivity Picklist Values on the Data Classification Settings Setup page
or update the SecurityClassification picklist using the StandardValueSet Metadata API type.
• To edit the Field Usage values, update the FieldBusinessStatus picklist using the StandardValueSet Metadata API type.

Note: You can also access data classification metadata by querying your Salesforce data. For example, this sample query retrieves
values for all data classification metadata fields in account and lead records.
SELECT Id, DeveloperName, Description, BusinessOwnerId, BusinessStatus,
SecurityClassification
FROM FieldDefinition
WHERE EntityDefinitionId in ('Account','Lead')

Create Reports from Data Classification Metadata


Run reports to help meet your data management policies.
EDITIONS
1. To expose the metadata fields, create a custom report type. From Setup, enter Report
Types in the Quick Find box, then select Report Types. Available in: Salesforce
Classic and Lightning
2. Click New Custom Report Type.
Experience
3. For Primary Object, select Entity Definition.
Available in: All editions
4. Fill in the remaining fields and click Next.
5. Add a child object. Click the box under the primary object and select Field Definitions.
USER PERMISSIONS
6. Click Save.
To edit or view data
7. Exit Setup and click the Reports tab. classification fields:
8. Build a report in Lightning Experience or Classic using the report type you made. • Customize Application
or Modify Data
Classification

Design Your Own Data Model With Schema Builder


Schema Builder provides a dynamic environment for viewing and modifying all the objects and
EDITIONS
relationships in your app. This greatly simplifies the task of designing, implementing, and modifying
your data model, or schema. Schema Builder is enabled by default. Available in: both Salesforce
Where possible, we changed noninclusive terms to align with our company value of Equality. We Classic and Lightning
maintained certain terms to avoid any effect on customer implementations. Experience

You can view your existing schema and interactively add new custom objects, custom fields, and Available in: All Editions
relationships, simply by dragging and dropping. Schema Builder automatically implements the
changes and saves the layout of your schema any time you move an object. This eliminates the
need to click from page to page to find the details of a relationship or to add a new custom field to an object in your schema.
Schema Builder provides details like the field values, required fields, and how objects are related by displaying lookup and master-detail
relationships. You can view the fields and relationships for both standard and custom objects.
• To access Schema Builder, from Setup, enter Schema Builder in the Quick Find box, then select Schema Builder.

192
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

Schema Builder lets you add the following to your schema:


– Custom objects
– Lookup relationships
– Master-detail relationships
– All custom fields except: Geolocation

Create Objects with Schema Builder


Custom objects are objects that you create to store information that's specific to your company or industry. You can create them
via Setup or in the Schema Builder.
Create Fields with Schema Builder
Add new custom fields to an object right inside Schema Builder.
Delete Custom Objects with Schema Builder
You can delete the custom objects that you no longer need by using Schema Builder.
Delete Custom Fields with Schema Builder
Avoid custom field clutter by using Schema Builder to delete custom fields that you no longer need.
Schema Builder Custom Object Definition
These fields are key to defining your custom object.
Schema Builder Considerations
Keep these items in mind when working with Schema Builder.

SEE ALSO:
Create Objects with Schema Builder
Custom Field Types
Change Sets

Create Objects with Schema Builder


Custom objects are objects that you create to store information that's specific to your company or
EDITIONS
industry. You can create them via Setup or in the Schema Builder.
1. Click the Elements tab. Available in: both Salesforce
Classic (not available in all
2. Click Object and drag it onto the canvas.
orgs) and Lightning
3. Enter information to define your object. For a list of object definitions, see Schema Builder Experience
Custom Object Definition on page 195.
Available in: All Editions
4. Click Save.

USER PERMISSIONS
SEE ALSO:
Schema Builder Custom Object Definition To create new custom
objects in Schema Builder:
• Customize Application

193
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

Create Fields with Schema Builder


Add new custom fields to an object right inside Schema Builder.
EDITIONS
1. From Setup, enter Schema Builder in the Quick Find box, then select Schema Builder.
Available in: both Salesforce
2. Click the Elements tab.
Classic (not available in all
3. Click a field and drag it onto an object on the canvas. orgs) and Lightning
4. Enter a field label. Experience
Salesforce populates Field Name using the field label. Field Name can contain only underscores Available in: All Editions
and alphanumeric characters, and must be unique in your org. It must begin with a letter, not
include spaces, not end with an underscore, and not contain two consecutive underscores.
USER PERMISSIONS
When creating a custom field, ensure that its name and label are unique for that object. If a
standard and custom field have identical names or labels, the merge field displays the custom To create fields in Schema
field value. If two custom fields have identical names or labels, the merge field can display an Builder:
unexpected value. • Customize Application

If you create a field label called Email and a standard field labeled Email exists, the merge
field is unable to distinguish between the fields. Adding a character to the custom field name makes it unique. For example, Email2.

5. Enter a description of the custom field.


6. Enter help text to detail the purpose and function of a custom field.
7. Enter a default value to automatically insert a value of a custom field when a new record is created.
8. Depending on the custom field type you chose, enter any remaining field attributes.
9. Click Save.
Any field you add through Schema Builder isn’t automatically added to the object’s page layout. You must edit the page layout to specify
where the field should be displayed.

Note: By default, the field level security for custom fields is set to visible and editable for internal profiles. Fields that aren’t normally
editable, such as formulas and roll-up summary fields, are visible and read-only. To manage permissions of a custom field, click
the element name or label and select Manage Field Permissions. Use the dialog box that appears to manage the field’s visibility
and writeability for all standard and custom profiles.

Delete Custom Objects with Schema Builder


You can delete the custom objects that you no longer need by using Schema Builder.
EDITIONS
Schema Builder displays a list of side effects when you try to delete a custom object. Be sure you’re
ready to accept these side effects before finalizing the deletion. See Delete Custom Objects on page Available in: both Salesforce
148 and Manage Deleted Custom Objects on page 149. Classic (not available in all
orgs) and Lightning
1. Click on the custom object’s icon. Experience
2. Select Delete Object....
Available in: All Editions
A dialog box displays that explains the side effects of deleting an object. Read this information
carefully.
USER PERMISSIONS
3. If you accept the conditions, select Yes, I want to delete the custom object.
To delete custom objects in
4. Click Delete.
Schema Builder:
• Customize Application

194
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

Delete Custom Fields with Schema Builder


Avoid custom field clutter by using Schema Builder to delete custom fields that you no longer need.
EDITIONS
Schema Builder displays a list of side effects when you try to delete a custom field. Be sure you’re
ready to accept these side effects before finalizing the deletion. Available in: both Salesforce
Classic (not available in all
1. Right-click on the custom field.
orgs) and Lightning
2. Select Delete Field.... Experience
A dialog box displays that explains the side effects of deleting a custom field. Read this
Available in: All Editions
information carefully.

3. If you accept the conditions, select Yes, I want to delete the custom field. USER PERMISSIONS
4. Click Delete.
To delete custom fields in
Schema Builder:
• Customize Application

Schema Builder Custom Object Definition


These fields are key to defining your custom object.
EDITIONS
Important: Where possible, we changed noninclusive terms to align with our company
value of Equality. We maintained certain terms to avoid any effect on customer Available in: both Salesforce
implementations. Classic (not available in all
orgs) and Lightning
Experience
Field Description
Available in: All Editions
Label A name used to refer to the object in any user
interface pages.

Plural Label The plural name of the object. If you create a


tab for this object, this name is used for the tab.

Starts with a vowel sound If it’s appropriate for your org’s default language,
check if your label should be preceded by "an"
instead of "a".

Object Name A unique name used to refer to the object when


using the API. In managed packages, this unique
name prevents naming conflicts on package
installations. The Object Name field can contain
only underscores and alphanumeric characters.
It must be unique, begin with a letter, not
include spaces, not end with an underscore, and
not contain two consecutive underscores.

Description An optional description of the object. A


meaningful description helps you remember
the differences between your custom objects
when you’re viewing them in a list.

195
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

Field Description
Record Name The name used in page layouts, list views, related lists, and search
results.

Data Type The type of field (text or auto-number) for the record name. Records
that have unique IDs instead of names use auto-numbers. An
auto-number is a unique number assigned automatically. It’s always
a read-only field.

Allow Reports Makes the data in the custom object records available for reporting
purposes.
To create reports on custom objects, choose the Other Reports
report type category, unless the custom object has a relationship
with a standard object. When the custom object has a master-detail
relationship with a standard object or is a lookup object on a
standard object, select the standard object for the report type
category instead.

Allow Activities Allows users to associate tasks and scheduled calendar events
related to the custom object records.

Track Field History Enables your org to track changes to fields on the custom object
records, such as who changed the value of a field, when it was
changed, and what the value of the field was before and after the
edit. History data is available for reporting, so users can easily create
audit trail reports when this feature is enabled.

Enable Divisions If your org has divisions enabled, select this option to enable the
custom object for divisions. Divisions group records for simplified
search results, list views, reports, and other areas within Salesforce.
Salesforce adds a Division field to the custom object. If the
custom object is the master in a master-detail relationship, custom
objects on the detail side also get the Division field and inherit
their division from the master record.

Available for Customer Portal This option makes the custom object available through the
Salesforce Customer Portal.

Namespace Prefix In a packaging context, a namespace prefix is a one to 15-character


alphanumeric identifier that distinguishes your package and its
contents from packages of other developers on AppExchange.
Namespace prefixes are case-insensitive. For example, ABC and
abc aren’t recognized as unique. Your namespace prefix must be
globally unique across all Salesforce orgs. It keeps your managed
package under your control exclusively.

Deployment Status Indicates whether the custom object is visible to other users.

Add Notes & Attachments... Allows users to attach notes and attachments to custom object
records. You can attach external documents to any object record,

196
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder

Field Description
in much the same way that you can add a PDF or photo as an
attachment to an email.
This option is only available when you’re creating an object.

Schema Builder Considerations


Keep these items in mind when working with Schema Builder.
EDITIONS
• Schema Builder saves the layout of your schema anytime you move an object.
• If your schema contains many objects and fields, loading can take a long time. Click Hide Available in: both Salesforce
Relationships to improve Schema Builder performance. Classic (not available in all
orgs) and Lightning
• When creating a custom field, ensure that its name and label are unique for that object. Experience
– If a standard and custom field have identical names or labels, the merge field displays the
Available in: All Editions
custom field value.
– If two custom fields have identical names or labels, the merge field can display an
unexpected value.
If you create a field label called Email and a standard field labeled Email exists, the merge field is unable to distinguish between
the fields. Adding a character to the custom field name makes it unique. For example, Email2.
• You can’t export your schema from Schema Builder (for example, to use the schema in another org).
• When you click Auto-Layout, you can’t undo it.
• Objects created outside of Schema Builder, such as through an app or the API, don’t automatically display on the canvas. Select the
checkbox for the object created outside Schema Builder to display it on the canvas.
• By default, the field-level security for custom fields is set to visible and editable for internal profiles—those not cloned from Partner
User or Customer Portal Manager. Fields that aren’t normally editable, such as formulas and roll-up summary fields, are visible and
read only.
• You can’t save the level of zoom when closing Schema Builder.

197
Extend Salesforce with Clicks, Not Code Create Custom Settings

Create Custom Settings


Use custom settings to create custom sets of data, or to create and associate custom data for an
EDITIONS
org, profile, or user.
Custom settings are similar to custom objects in that they let you customize org data. Unlike custom Available in: Salesforce
objects, which have records based on them, custom settings let you utilize custom data sets across Classic and Lightning
your org. Custom settings also let you distinguish particular users or profiles based on custom Experience.
criteria.
Available in: Group,
Custom settings data is exposed in the application cache, which enables efficient access without Professional, Developer,
the cost of repeated queries to the database. This data can then be used by formula fields, validation Enterprise, Performance,
rules, flows, Apex, and SOAP API Unlimited, and
Database.com Editions.
Note: If you're thinking of using List Custom Settings, consider using Custom Metadata
Packages aren’t available in
Types instead. Unlike List Custom Settings, you can migrate the records of Custom Metadata
Database.com.
Types using Packages or Metadata API tools.
1. Review the protection and privacy options.
2. Create the custom setting. USER PERMISSIONS

3. Add fields and data. Customize Application


4. Reference the custom setting data in your application using formula fields, validation rules, •
Apex, or SOAP API.

Example: These examples illustrate how you can use custom settings.
• A shipping application requires users to fill in the country codes for international deliveries. By creating a list setting of all
country codes, users have quick access to this data without needing to query the database.
• An application calculates and tracks compensation for its sales reps, but seniority determines commission percentages. By
creating a hierarchy setting, the administrator can associate a different commission percentage for each profile in the sales
organization. Within the application, one formula field can then be used to calculate compensation for all users. The personalized
setting at the profile level inserts the correct commission percentage.
• An application displays a map of account locations, the best route to take, and traffic conditions. This information is useful for
sales reps, but account executives only want to see account locations. By creating a hierarchy setting with custom checkbox
fields for route and traffic, you can enable this data for just the Sales Rep profile.

Protection and Privacy Options for Custom Settings


Manage the visibility and permissions of custom settings.
Define Custom Settings
Create custom sets of data.
View and Edit Custom Settings
After you create a custom setting, you can view the details of the custom setting, manage the custom setting, and add fields.
View Custom Settings Usage and Data
View the percentage of custom settings data your org has used.
Grant Permissions on Custom Settings
By default, access to custom settings is limited through the Restrict access to custom settings org-wide preference.
Admins can grant API Read access through profiles and permission sets to users without the Customize Application permission.

198
Extend Salesforce with Clicks, Not Code Create Custom Settings

Grant Read Access to All Custom Settings


Admins with the Customize Application permission can grant API read access to all custom settings.
Access Custom Settings with Code
You can access custom settings from Apex, SOAP API, and formulas.
Custom Settings Limits and Considerations
When working with custom settings, be aware of the following considerations and limits on the amount of cached data.

Protection and Privacy Options for Custom Settings


Manage the visibility and permissions of custom settings.
EDITIONS

Packages Available in: Salesforce


Classic and Lightning
Only custom settings definitions are included in packages, not data. To include data, populate the Experience.
custom settings using a standard Apex or API script run by the subscribing organization after they
install the package. Available in: Group,
Professional, Developer,
When a custom setting is contained in a managed package, and the visibility is set to Protected, Enterprise, Performance,
access is allowed only through the Apex code that is part of that managed package. Subscriber Unlimited, and
organizations can’t directly access, read, or modify the protected custom settings. Database.com Editions.
Note: Protected custom settings in an unmanaged package behave like public custom Packages aren’t available in
settings. Make sure that secrets, personally identifying information, or any private data are Database.com.
stored in protected custom metadata types that are installed as part of a managed package.
Outside of a managed package, use named credentials or encrypted custom fields to store
secrets like OAuth tokens, passwords, and other confidential material.

Visibility
You can create protected custom settings in developer and scratch orgs. The options for custom settings are.
• Protected—Custom settings in a managed package are visible through Apex and formulas within the same package and namespace.
However, they are not visible to subscribing organizations through Apex and API. Custom settings contained in an unmanaged
package behave like public custom settings and don’t provide protection.
• Public—Regardless of the type of package (managed or unmanaged), the following have access:
– Apex
– Formulas
– Flows
– API for users with Customize Application permission or permissions granted through profiles or permission sets.

Schema Settings
The schema setting options for custom settings are.
• Restrict access to custom settings—This org-wide preference is enabled by default and limits access to custom setting values. Admins
with Customize Application permission can grant Read access to users through profiles and permission sets using the Custom Setting
Definitions or View All Custom Settings permissions.
• Enable SOSL on custom settings—Custom settings values are not returned in Salesforce Object Search language (SOSL) queries. If
your Apex operations require this functionality, enable this option.

199
Extend Salesforce with Clicks, Not Code Create Custom Settings

Grant Permissions on Profiles or Permission Sets


The Restrict access to custom settings org-wide preference is enabled by default and Read access to custom settings must be explicitly
granted.
Admins with Customize Application permission can grant Read permission through profiles and permission sets to users without the
Customize Application permission.
• To grant permission to specific custom settings, use the Custom Setting Definitions permission.
• To grant permission to all custom settings, use the View All Custom Settings permission.

Behavior of Apex, Visualforce, and Aura


There are different execution code modes within Salesforce that affect the accessibility of custom settings.
Apex code that is run in system mode ignores user permissions and your Apex code is given access to all objects and fields. Object
permissions, field-level security, and sharing rules aren't applied for the current user. Running in system mode ensures that the code
doesn’t fail because of hidden fields or objects for a user.
In user mode, functionality such as Visualforce Components, Visualforce Email templates, and Aura, is run with respect to the user's
permissions and sharing of records.

Note: Functionality that runs in system mode, such as Apex, is not affected by the Restrict access to custom settings org preference.
Also, the with sharing modifier in the Apex class, doesn’t affect query behavior such as, isAccessible() and
isCreatable(). If a field value is retrieved in Apex and assigned to a non-sObject variable, the behavior is the same whether
the preference is enabled or not.
When functionality is run in user mode, such as Visualforce Components, Visualforce Email templates, and Aura, you must have permission
to access the custom settings. For example, without permission, the fields on Visualforce pages that you don't have access to aren’t
displayed. The $Setup global variable (available in Visualforce and formulas) continues to load values by direct reference (meaning,
data that is assigned to an sObject type) regardless of the running user.

Example: Consider the following scenario:


1. Apex loads a record that is a row included in a variable such as MySetting__c.
2. What Visualforce displays is MySetting__c.MyPath__c.
3. Access checks are run when the page is loaded.
4. However, the checks are not run in system mode, which is the standard Visualforce behavior. Users without permission to the
custom settings can’t display the Visualforce page because Visualforce is reinitiating the access check.
In this scenario, if a user isn’t allowed permission to the custom setting, there are two workarounds. You can create a string for
each object, which can be passed through, or create a wrapper class. Use these options instead of assigning a variable such as
MySetting__c, then rendering mySetting.Path__c mySetting.Name. For example,

class DataHolder{
public string path {get;set;}
public boolean active {get;set;}
}

When you load the rows into a collection, the Visualforce checks are bypassed because the type is a data type instead of an sObject.
Here’s an example that includes the @AuraEnabled annotation for an Aura or Lightning components controller.
class with sharing MyController {
@AuraEnabled
public static List<My__mdt> thisWillNotWork() {

200
Extend Salesforce with Clicks, Not Code Create Custom Settings

return [select developername from my__mdt];


}
@AuraEnabled
public static List<String> thisWill() {
List<String> retVal = new List<String>();
for(My__mdt config: [select developername from my__mdt]) {
retVal.add(config.DeveloperName);
}
return retVal;
}
}

SEE ALSO:
Grant Permissions on Custom Settings
Access Custom Settings with Code
Grant Permissions on Custom Settings
Grant Read Access to All Custom Settings

Define Custom Settings


Create custom sets of data.
EDITIONS
Note: We strongly suggest using custom metadata types instead of custom settings. Unlike
list custom settings, you can migrate the records of custom metadata types using Available in: Salesforce
second-generation packages or Metadata API tools. Classic and Lightning
Experience.
To create a custom setting:
Available in: Group,
1. From Setup, enter Custom Settings in the Quick Find box, then select Custom Settings.
Professional, Developer,
2. Click New. Enterprise, Performance,
Unlimited, and
Note: A icon indicates that the custom setting is in an installed managed package. Database.com Editions.
You can’t edit or delete a protected custom setting installed from a managed package.
Packages aren’t available in
3. Give the custom setting a label. Database.com.
Enter the label displayed in the application.

4. Define the object name. USER PERMISSIONS


Enter the name to be used when the custom setting is referenced by formula fields, validation To manage, create, edit,
rules, Apex, or SOAP API. and delete custom settings:
• Customize Application
Note: Salesforce recommends using ASCII for the Object Name. The name can't exceed
38 ASCII characters. If you use double byte, there are additional limits on the number of
characters allowed.

5. Define the setting type.


Select a type of List or Hierarchy. After you save a custom setting, you can’t change this value.
• List—Defines application-level data, such as country codes or state abbreviations, and provides a reusable set of static data that
can be accessed across your organization. If you use a particular set of data frequently within your application, putting that data
in a list custom setting streamlines access to it. Data in list settings does not vary by profile or user, but it is available

201
Extend Salesforce with Clicks, Not Code Create Custom Settings

organization-wide. Examples of list data include two-letter state abbreviations, international dialing prefixes, and catalog numbers
for products. Because the data is cached, access is low-cost and efficient—you don't have to use SOQL queries that count against
your governor limits.
• Hierarchy—Uses a built-in hierarchical logic that lets you personalize settings for specific profiles or users. The hierarchy logic
checks the organization, profile, and user settings for the current user and returns the most specific, or lowest, value. In the
hierarchy, settings for an organization are overridden by profile settings, which, in turn, are overridden by user settings.

6. Define the visibility setting.


(Available in developer and scratch orgs) After you save a custom setting, you can’t change this value.
• Protected—If the custom setting is contained in a managed package, subscribing organizations can't see the custom setting—it
doesn't display as part of the package list. In addition, subscribing organizations can't access the custom setting using Apex or
the API. Custom settings can only be accessed by the Apex code that is part of the managed package. If the custom setting is
contained in an unmanaged package, they behave like public custom settings.
• Public—Regardless of the type of package (managed or unmanaged), the following have access: Apex, formulas, flows, and API
for users with Customize Application permission or permissions granted through profiles or permission sets.

7. Enter an optional description of the custom setting. A meaningful description helps you remember the differences between your
custom settings when you view them in a list.
8. Click Save.
After you create a custom setting, add fields to the custom setting.

Add Custom Settings Fields


After you define custom settings, add fields to them. The custom fields contain the data used by the custom setting.
Create Custom Settings Records
After you define your custom settings and add fields, you can populate the fields with data.
Manage Custom Settings Data
After creating custom setting and adding fields, you can add records, then use the values in these records in your Apex code and
validation rules.

202
Extend Salesforce with Clicks, Not Code Create Custom Settings

Add Custom Settings Fields


After you define custom settings, add fields to them. The custom fields contain the data used by
EDITIONS
the custom setting.
1. From Setup, enter Custom Settings in the Quick Find box, then select Custom Settings. Available in: Salesforce
Classic and Lightning
2. Click the custom setting that you want to add fields to. (If you just created the custom setting,
Experience.
the Custom Setting Detail page appears.)
3. Click New. Available in: Group,
Professional, Developer,
4. Select a field type and click Next. Enterprise, Performance,
Unlimited, and
Note: Record size is based on the maximum field size of each field type, not the actual
Database.com Editions.
storage that’s used in each field. When adding fields to a custom setting definition, use
the appropriate type and specify a length that doesn’t exceed what’s needed for your Packages aren’t available in
data. This action helps you avoid reaching the cached data limit. For example, if you create Database.com.
a US social security number (SSN) field, select the Text data type and specify a length
of 9. If you select a Text Area data type, the field would add 255 characters to the
usage count for each record, regardless of the number of characters entered.
USER PERMISSIONS

To manage, create, edit,


5. Enter the details for the field.
and delete custom settings:
6. Confirm the information, and then click Save or Save & New. • Customize Application
After you add fields, add data, and for hierarchy custom settings, specify the access level.

SEE ALSO:
Create Custom Settings Records

Create Custom Settings Records


After you define your custom settings and add fields, you can populate the fields with data.
EDITIONS
You can define one or more data sets. For list custom settings, each data set is named and can be
accessed by that name using Apex, formula fields, and so on. Available in: Salesforce
Classic and Lightning
For custom settings that are hierarchies, the access level—user, profile, or organization—determines
Experience.
how you access the data. The user level is the lowest level, so it is used first, unless otherwise specified
in your application. For example, you can specify different contact numbers for your application: Available in: Group,
one for the general user, and one that is only displayed for system administrators. Professional, Developer,
Enterprise, Performance,
To add data to custom setting fields:
Unlimited, and
1. From Setup, enter Custom Settings in the Quick Find box, select Custom Settings, Database.com Editions.
then click Manage next to a custom setting. Or from the detail page for a custom setting, click
Packages aren’t available in
Manage.
Database.com.
2. Click New or Edit next to an existing data set.
3. Add or change data for custom settings that are lists.
USER PERMISSIONS
a. Specify or change the name for the data set. This name is used by Apex, formula fields, and
so on. Customize Application

b. Enter or change data for all fields.
c. Click Save.

203
Extend Salesforce with Clicks, Not Code Create Custom Settings

4. Add or change data for custom settings that are hierarchies.


a. For the default organization level values, enter or change the data for the fields. The default organization location is automatically
populated.
b. For profile or user level values, select either Profile or User from the Location picklist. Enter the name of the profile or user, or
use the lookup dialog search. Then enter or change the data for the fields.
c. Click Save.

Note: For a hierarchy custom setting, you can add only one record for a profile or user. Adding two records for the same profile
or user results in an error.

SEE ALSO:
Manage Custom Settings Data
Add Custom Settings Fields

Manage Custom Settings Data


After creating custom setting and adding fields, you can add records, then use the values in these
EDITIONS
records in your Apex code and validation rules.
1. From Setup, enter Custom Settings in the Quick Find box, then select Custom Settings. Available in: Salesforce
Classic and Lightning
2. Click Manage next to a custom setting, or from the detail page for a custom setting.
Experience.
3. Provide or change values for the custom setting.
Available in: Group,
If you’re managing a list setting:
Professional, Developer,
• To add data to the fields, click New. Enterprise, Performance,
• To change the name of the data set or to change the data, click Edit next to the name of Unlimited, and
an existing set of data. Database.com Editions.

• To delete the data set, click Delete next to the name of an existing set of data. Packages aren’t available in
Database.com.
If you’re managing a hierarchy setting, decide where in the permission hierarchy you want to
add default data (organization, profile, or user).
• To add default data at the organization level, click New in the Default Organization Level USER PERMISSIONS
Value section. If data has already been defined for the organization, you can only edit or
Customize Application
delete it.

• To add default data at the profile or user level, click New in the lower section of the page,
near the Setup Owner.

After you define data:


• To change the default data set at the organization level, click Edit in the Default Organization Level Value section.
• To delete the data set (only for hierarchical custom settings), click Delete in the Default Organization Level Value section.
• To view the data (only for hierarchical custom settings), click View next to the name of an existing set of data.

SEE ALSO:
Custom Settings Limits and Considerations

204
Extend Salesforce with Clicks, Not Code Create Custom Settings

View and Edit Custom Settings


After you create a custom setting, you can view the details of the custom setting, manage the
EDITIONS
custom setting, and add fields.
From Setup, enter Custom Settings in the Quick Find box, then select Custom Settings, Available in: Salesforce
then click the name of the custom setting you'd like to view. While viewing a custom setting, you Classic and Lightning
can: Experience.

• To change a custom setting, click Edit. Available in: Group,


• To delete a custom setting, click Delete. Professional, Developer,
Enterprise, Performance,
Note: A icon indicates that the custom setting is in an installed managed package. Unlimited, and
You can’t edit or delete a protected custom setting installed from a managed package. Database.com Editions.

• To add data to a custom setting, click Manage. Packages aren’t available in


Database.com.
• To add fields and data to the custom setting, click New.

SEE ALSO: USER PERMISSIONS


Create Custom Settings Records To manage, create, edit,
Add Custom Settings Fields and delete custom settings:
• Customize Application

View Custom Settings Usage and Data


View the percentage of custom settings data your org has used.

View the System Usage Data


View the number of custom objects and custom settings in your org, including installed objects from AppExchange.
View the Percentage of Custom Settings Data
View the percentage of custom settings data used in your organization, out of an allowed limit.

View the System Usage Data


View the number of custom objects and custom settings in your org, including installed objects
EDITIONS
from AppExchange.
1. From Setup, enter System Overview in the Quick Find box, then select System Overview. Available in: Salesforce
Classic and Lightning
2. In the Schema section, you see the number of custom object and custom settings:
Experience.
• Your Custom Objects and Custom Settings—The number of custom object and custom
settings you created. The edition of Salesforce used determines the limit. Available in: Group,
Professional, Developer,
• Total Custom Objects and Total Custom Settings—Total number of custom objects and Enterprise, Performance,
custom settings in your org, and it includes objects installed from AppExchange managed Unlimited, and
packages. Database.com Editions.
Packages aren’t available in
Database.com.

205
Extend Salesforce with Clicks, Not Code Create Custom Settings

View the Percentage of Custom Settings Data


View the percentage of custom settings data used in your organization, out of an allowed limit.
EDITIONS
1. From Setup, enter Custom Settings in the Quick Find box, then select Custom
Settings. Available in: Salesforce
Classic and Lightning
2. To view the percentage of custom settings data your org has used, click Get Usage. Once the
Experience.
usage information is returned, the button no longer appears on the page.
3. To manage a custom setting, click Manage next to a previously defined custom setting, and Available in: Group,
click View next to the data set you want to view. (only for hierarchical custom settings.) Professional, Developer,
Enterprise, Performance,
Unlimited, and
Database.com Editions.
Packages aren’t available in
Database.com.

Grant Permissions on Custom Settings


By default, access to custom settings is limited through the Restrict access to custom
EDITIONS
settings org-wide preference. Admins can grant API Read access through profiles and permission
sets to users without the Customize Application permission. Available in: Salesforce
1. From Setup, enter Schema Settings in the Quick Find box, and make sure that the Classic and Lightning
Restrict access to custom settings org permission is enabled. Experience.

2. Enter User Management Settings in the Quick Find box, and enable Enhanced Available in: Group,
Profile User Interface. Professional, Developer,
This setting provides a uniform and streamlined interface, but isn’t a requirement for granting Enterprise, Performance,
Unlimited, and
permissions.
Database.com Editions.
3. Enter Profiles or Permission Sets in the Quick Find box. Packages aren’t available in
4. Click the name of the profile or permission set that you want to edit. Database.com.

5. Click Custom Setting Definitions.


6. Click Edit.
7. Add the custom setting to the Enabled Custom Setting Definitions list.
8. Click Save.

206
Extend Salesforce with Clicks, Not Code Create Custom Settings

Grant Read Access to All Custom Settings


Admins with the Customize Application permission can grant API read access to all custom settings.
EDITIONS
1. From Setup, enter Schema Settings in the Quick Find box, and make sure that the Restrict
access to custom settings org permission is enabled. Available in: Salesforce
Classic and Lightning
2. Enter User Management Settings in the Quick Find box, and enable Enhanced
Experience.
Profile User Interface.
This setting provides a uniform and streamlined interface, but isn’t a requirement for granting Available in: Group,
permissions. Professional, Developer,
Enterprise, Performance,
3. Enter Profiles or Permission Sets in the Quick Find box. Unlimited, and
4. Click the name of the profile or permission set that you want to edit. Database.com Editions.
Packages aren’t available in
5. Click System permissions.
Database.com.
6. Check the View All Custom Settings permission.
7. Click Save.
USER PERMISSIONS

To grant access to custom


settings:
• Customize Application

Access Custom Settings with Code


You can access custom settings from Apex, SOAP API, and formulas.
EDITIONS
Note: Formulas include: flows, workflow rules, approval processes, validation rules, formula
fields, and Process Builder processes. Available in: Salesforce
Classic and Lightning
Here are some sample code segments: Experience.
Formula Fields
Available in: Group,
Formula fields only work for hierarchy custom settings; they can’t be used for list custom settings.
Professional, Developer,
Enterprise, Performance,
Unlimited, and
Database.com Editions.
Packages aren’t available in
Database.com.

{!$Setup.CustomSettingName__c.CustomFieldName__c}

Apex
Apex can access both custom setting types.
Samples for List Custom Settings
When you add data to a custom setting, name each data set so that you can distinguish them. The following returns a map of
custom settings data. The getAll method returns values for all custom fields associated with the list setting.

Map<String_dataset_name, CustomSettingName__c> mcs = CustomSettingName__c.getAll();

207
Extend Salesforce with Clicks, Not Code Create Custom Settings

The following example uses the getValues method to return all the field values associated with the specified data set. This
method can be used with list and hierarchy custom settings, using different parameters.

CustomSettingName__c mc = CustomSettingName__c.getValues(data_set_name);

Samples for Hierarchy Custom Settings


The following example uses the getOrgDefaults method to return the data set values for the organization level:

CustomSettingName__c mc = CustomSettingName__c.getOrgDefaults();

The following example uses the getInstance method to return the data set values for the specified profile. The
getInstance method can also be used with a user ID.

CustomSettingName__c mc = CustomSettingName__c.getInstance(Profile_ID);

SOAP API
Custom settings that have Privacy defined as Public have the same type of exposure to the API as custom objects. When a custom
setting is contained in a managed package, and Privacy for a custom setting is Protected, the settings can only be accessed by the
Apex code or formulas that are part of the managed package.

Note: You can also access custom settings data through a Standard Object Query Language (SOQL) query, but this method
doesn't use the application cache. It’s similar to querying a custom object.

SEE ALSO:
Grant Permissions on Custom Settings

Custom Settings Limits and Considerations


When working with custom settings, be aware of the following considerations and limits on the amount of cached data.
• Custom settings are a type of custom object. Each custom setting counts against the total number of custom objects available for
your organization.
• The total amount of cached data allowed for your org is the lesser of these two values.
– 20 MB
– 2 MB multiplied by the number of full-featured user licenses in your org
For example, if your org has three full licenses, you have 6 MB of custom setting storage. If your org has 20 full licenses, you have 20
MB of storage.
Each certified managed package gets a separate limit in addition to your org limit. Each certified managed package gets the same
limit as the org, based on the number of licenses up to 20 MB. For example, let’s say your org has two certified managed packages
installed and you have three full licenses. Each certified managed package can have 6 MB of custom setting storage in addition to
your org’s 6-MB custom setting storage limit.
The org custom setting limits and certified managed package custom setting limits aren’t shared.
– Custom settings that are added to an org via a certified managed package count against that package’s storage limit.
– Custom settings that are added to an org directly or from a non-certified managed package count against the org’s storage limit.
Using the previous example, if you have three full licenses, one non-certified managed package, and two certified managed packages,
your custom settings storage limits are: 6 MB combined for the org and non-certified managed package, and 6 MB for each certified
managed package.
• You can add up to 300 fields per custom setting, unless your field limit for custom objects is lower than 300. If your custom objects
field limit is lower than 300, your field limit for custom settings is equal to your custom objects field limit.

208
Extend Salesforce with Clicks, Not Code Customize Fields

• You can’t share a custom setting object or record.


• No owner is assigned when a custom setting is created, so the owner can’t be changed.
• Accessing an undeleted custom setting in a formula field results in an error if the user doesn’t have the “Customize Application”
permission. To prevent this error, redeploy this custom setting to the organization. Alternatively, delete this custom setting, re-create
it with the same name and data, and then delete and re-create all formula fields that use this setting.
• If a cross-object formula references a currency field from a custom setting, this field value isn’t converted to the currency of the
record containing the formula. An inaccurate formula result is possible if the custom setting field’s currency and the record's currency
are different.
• You can’t disable specific permissions with a muting permission set.
To see how much custom settings data your organization is using, from Setup, enter Custom Settings in the Quick Find
box, then select Custom Settings. For each custom setting, this page lists the size of one record, the number of records created, and
the total size used for each custom setting.
Record size is based on the maximum field size of each field type, not the actual storage that’s used in each field. When adding fields to
a custom setting definition, use the appropriate type and specify a length that doesn’t exceed what’s needed for your data. This action
helps you avoid reaching the cached data limit. For example, if you create a US social security number (SSN) field, select the Text data
type and specify a length of 9. If you select a Text Area data type, the field would add 255 characters to the usage count for each
record, regardless of the number of characters entered.

Note: A icon indicates that the custom setting is in an installed managed package. You can’t edit or delete a protected custom
setting installed from a managed package.

Customize Fields
Customize standard and custom fields to tailor your org to your own unique requirements.
EDITIONS
You can:
Available in: both Salesforce
• Modify some aspects of standard fields
Classic and Lightning
• Change or add values to standard and custom picklist fields Experience
• Define dependency rules between fields
Available in: all editions
• Create custom fields to capture additional information
Standard Fields and Page
• Create formula fields that automatically calculate values based on the contents of other fields Layouts are not available in
• Define default values for custom fields Database.com
• Define validation rules for your fields
• Make a field required
USER PERMISSIONS
• Set fields to track changes, including the date, time, nature of the change, and who made the
change To create or change custom
fields:
• Create page layouts to control the display of fields
• Customize Application
• Set field-level security to control access to fields
• Create or modify field sets

Customize Standard Fields


You can customize several aspects of standard fields, such as the values in picklists, the format for auto-number fields, tracking field
history, lookup filters on relationship fields, and field-level help.

209
Extend Salesforce with Clicks, Not Code Customize Fields

Capturing Gender-Related Data with Standard Fields


Represent the diversity of your customer base by recording gender-related data in Salesforce. Use standard, optional fields with
vetted value sets to help you personalize your data, build trust, and close data gaps in your system of record.
Modify Standard Auto-Number Fields in Salesforce Classic
The unique identifiers for solution, case, and contract records are standard auto-number fields. Each record is assigned a unique
number with a specified format upon creation. You can modify the format and numbering for these auto-number fields in Salesforce
Classic.
Custom Fields
You can add custom fields to the objects in your Salesforce org.
Create Custom Fields
Capture your unique business data by storing it in custom fields. When you create a custom field, you configure where you want it
to appear and optionally control security at the field level.
Define Default Field Values
Define a default value for a field. Use a formula to generate dynamic values or constants for static values.
Validation Rules
Improve the quality of your data using validation rules. Validation rules verify that the data a user enters in a record meets the
standards you specify before the user can save the record.
Examples of Validation Rules
Review examples of validation rules for various types of apps that you can use and modify for your own purposes. Validation rules
verify that the data a user enters in a record meets the standards you specify before the user can save the record.
Require Field Input to Ensure Data Quality
Improve the quality of data that users enter in Salesforce by creating universally required fields.
About Field Sets
A field set is a grouping of fields. For example, you could have a field set that contains fields describing a user's first name, middle
name, last name, and business title.
Roll-Up Summary Field
A roll-up summary field calculates values from related records, such as those in a related list. You can create a roll-up summary field
to display a value in a master record based on the values of fields in a detail record. The detail record must be related to the master
through a master-detail relationship. For example, you want to display the sum of invoice amounts for all related invoice custom
object records in an account’s Invoices related list. You can display this total in a custom account field called Total Invoice Amount.
Lookup Filters
Improve user productivity and data quality with lookup filters. Lookup filters are administrator settings that restrict the valid values
and lookup dialog results for lookup, master-detail, and hierarchical relationship fields.
Fields: What’s Different or Not Available in the Salesforce Mobile App
Not every Lightning Experience feature is in the Salesforce mobile app. Find out what’s different.

210
Extend Salesforce with Clicks, Not Code Customize Fields

Customize Standard Fields


You can customize several aspects of standard fields, such as the values in picklists, the format for
EDITIONS
auto-number fields, tracking field history, lookup filters on relationship fields, and field-level help.

Tip: You can’t delete standard fields, but you can remove them from your page layouts. Available in: both Salesforce
Classic and Lightning
1. Navigate to the fields page for your object. Experience
2. Click the field label. Available in: All Editions
3. To add custom help text, click Edit. except for Database.com.

4. On the field’s information page, you can—depending on your edition—set field-level security,
view accessibility settings, and configure validation rules. USER PERMISSIONS
You can also do more, depending on the field’s type. For example, if the field is a picklist, you can To change standard fields:
add, delete, and reorder its values, and set dependencies. You can’t increase the field length of a • Customize Application
standard field. If you need a longer text area, consider creating a custom field.

Note: What does that Indexed checkbox mean on a field, and how did it get there?
If a field is indexed, you can use sidebar search or advanced search to find values in the field.
Having a field indexed can also speed up other operations on the field, such as reporting. See
this blog post to find out more: Know Thy Salesforce Field Indexes for Fast Reports, List Views,
and SOQL.

SEE ALSO:
Custom Fields
Add or Edit Picklist Values
Rename Object, Tab, and Field Labels
Field-Level Help
Lookup Filters

Capturing Gender-Related Data with Standard Fields


Represent the diversity of your customer base by recording gender-related data in Salesforce. Use standard, optional fields with vetted
value sets to help you personalize your data, build trust, and close data gaps in your system of record.

Considerations and Guidelines for Capturing Gender-Related Data


Capturing demographic information boosts data quality, builds trust, and lets you personalize offerings to retain and attract new
customers. But release of gender information could result in safety concerns for individuals or liability issues for your company. It’s
important to classify your data correctly so that you can protect it.
Capture Gender-Related Data
Set up the Gender Identity and Pronouns fields on the Lead, Contact, and Person Account objects to record gender-related data.
And, add nonbinary honorifics like Mx. to the Salutation picklist value list to keep the data in sync. You can customize aspects of
these fields to suit the unique needs of your company.

211
Extend Salesforce with Clicks, Not Code Customize Fields

Considerations and Guidelines for Capturing Gender-Related Data


Capturing demographic information boosts data quality, builds trust, and lets you personalize
EDITIONS
offerings to retain and attract new customers. But release of gender information could result in
safety concerns for individuals or liability issues for your company. It’s important to classify your Available in: both Salesforce
data correctly so that you can protect it. Classic (not available in all
Pronouns and Gender Identity are standard fields on the Lead, Contact, and Person Account objects. orgs) and Lightning
Non-binary picklist values on the Salutation field help keep all your data in sync. Before setting up Experience
these fields, ask yourself if it’s necessary for your use cases. Discuss your goals with project Available in: all editions
stakeholders, and take measures to ensure the data can’t inadvertently be used to discriminate.
Always review the privacy and legal ramifications with your legal department, and refer to your
industry’s standards for guidance. USER PERMISSIONS
When you gather pronouns or gender identity data from your customers, follow these guidelines. To customize standard
• Explain why you’re asking for this specific information. fields:
• Customize Application
• Describe how the data is used.
• Offer how it benefits them to share their personal information with you.
• Indicate how their data is protected.
• Give customers an option to opt out.
• Set up data classification levels.
• Manage access to the fields and to the data within them.
• To prevent mismatched data, add custom business processes.
To report on gender-related data, make sure that the top-level object in the report is Contact, Lead, or Person Account. For example, a
report with Campaign as the top-level object doesn’t have gender-related fields available.

SEE ALSO:
Classify Sensitive Data to Support Data Management Policies
Store Customers’ Data Privacy Preferences
Manage Data Access
Ways to Control User Access to Fields
Automate Your Business Processes

212
Extend Salesforce with Clicks, Not Code Customize Fields

Capture Gender-Related Data


Set up the Gender Identity and Pronouns fields on the Lead, Contact, and Person Account objects
EDITIONS
to record gender-related data. And, add nonbinary honorifics like Mx. to the Salutation picklist value
list to keep the data in sync. You can customize aspects of these fields to suit the unique needs of Available in: both Salesforce
your company. Classic (not available in all
orgs) and Lightning
Note: Review your data classification settings and assess legal and privacy considerations
Experience
before collecting and storing gender-related data.
1. From the object management settings for the object, go to Fields and Relationships. Next, click Available in: all editions
the name of the field you want to set up.
2. Customize the Data Sensitivity Level field, Compliance Categorization field, and Help Text field. USER PERMISSIONS
3. Add or edit picklist values. To customize standard
4. Add the fields to page layouts. fields:
• Customize Application
5. Set the field level security.

SEE ALSO:
Considerations and Guidelines for Capturing Gender-Related Data
Customize Standard Fields
Add or Edit Picklist Values
Page Layouts
Field-Level Security

Modify Standard Auto-Number Fields in Salesforce Classic


The unique identifiers for solution, case, and contract records are standard auto-number fields. Each
EDITIONS
record is assigned a unique number with a specified format upon creation. You can modify the
format and numbering for these auto-number fields in Salesforce Classic. Available in: Salesforce
1. From Setup, enter the name of the object whose field you want to modify in the Quick Find Classic (not available in all
box, then select Fields. orgs)

2. Click Edit next to the name of the auto-number field. Available in: Contact
For example, for cases, edit the Case Number field. Manager, Group,
Professional, Enterprise,
3. Enter a Display Format to control such formatting details as the minimum number of leading Performance, Unlimited,
zeros as well as any prefix or suffix for the number. and Developer Editions
For more information, see Custom Field Attributes on page 230.
Format changes don’t affect existing records; they’re applied only to new records. USER PERMISSIONS

4. Enter the number to be assigned to the next record that is created after you save your changes. To modify standard
auto-number fields:
5. Click Save.
• Customize Application

213
Extend Salesforce with Clicks, Not Code Customize Fields

Warning: Salesforce warns you if the next number you enter isn’t higher than existing numbers. However, it‘s possible to create
duplicate numbers if you change the auto-number format multiple times using similar formats each time.

SEE ALSO:
Custom Field Types

Custom Fields
You can add custom fields to the objects in your Salesforce org.
EDITIONS
The number of custom fields allowed per object varies according to your Salesforce edition. For the
total custom fields that you can create, see Custom Fields Allowed Per Object on page 228. Available in: both Salesforce
Classic (not available in all
When your org is close to the limit of 800 custom fields and you delete or create fields, field creation
orgs) and Lightning
can fail. The physical delete process reclaims and cleans fields, making them count temporarily
Experience
toward the limit. The delete process runs only when the queue is full, so it can take days or weeks
to start. In the meantime, the deleted fields are still counted as part of the limit. To request immediate Available in: all editions
deletion of fields, contact Salesforce Customer Support.
Don’t add a field dependency between managed custom fields in your org, because it can cause USER PERMISSIONS
errors.
To create or change custom
fields:
SEE ALSO: • Customize Application
Create Custom Fields
Edit Custom Fields
Additional Custom Field Options
Custom Field Attributes

214
Extend Salesforce with Clicks, Not Code Customize Fields

Create Custom Fields


Capture your unique business data by storing it in custom fields. When you create a custom field,
EDITIONS
you configure where you want it to appear and optionally control security at the field level.

Important: Where possible, we changed noninclusive terms to align with our company Available in: both Salesforce
value of Equality. We maintained certain terms to avoid any effect on customer Classic (not available in all
orgs) and Lightning
implementations.
Experience
Watch a Demo: How to Create a Custom Field in Salesforce
Available in: Contact
Want to customize Salesforce so it captures all your business data? This short video walks you Manager, Group,
through how to create a custom picklist field, from choosing the correct field type to applying field Essentials, Starter,
level security. Professional, Enterprise,
Watch a Demo: How to Add a Custom Field in Salesforce (Lightning Experience) Performance, Unlimited,
Developer, and
Want to add and arrange a new field while viewing an individual record for an object? This short Database.com Editions
video walks you through creating a picklist field while viewing a contact, and then changing the
Salesforce Connect external
page layout for the field.
objects are available in:
Before you begin, determine the type of field you want to create. Developer Edition and for
an extra cost in: Enterprise,
Note: When you’re close to the limit of 800 custom fields and you delete or create fields,
Performance, and
field creation can fail. The physical delete process reclaims and cleans fields, making them
Unlimited Editions
count temporarily toward the limit. The delete process runs only when the queue is full, so
it can take days or weeks to start. In the meantime, the deleted fields are still counted as part Custom fields aren't
of the limit. To request immediate deletion of fields, contact Salesforce Support. available on Activities in
Group Edition
1. From the management settings for the object you want to add a field to, go to Fields. Custom
Custom settings aren't
task and event fields are accessible from the object management settings for Activities.
available in Professional
2. Click New. Edition

Tip: On custom objects, you can also set field dependencies and field history tracking in Layouts aren't available in
this section. Database.com

3. Choose the type of field and click Next. Note these considerations.
USER PERMISSIONS
• Some data types are available for certain configurations only. For example, the
Master-Detail Relationship option is available for custom objects only when To create or change custom
the custom object doesn’t already have a master-detail relationship. fields:
• Custom settings and external objects allow only a subset of the available data types. • Customize Application
• You can’t add a multi-select picklist, rich text area, or dependent picklist custom field to To add field-level security to
opportunity splits. profiles or permission sets:
• Manage Profiles and
• Relationship fields count toward custom field limits.
Permission Sets
• Additional field types can appear if an AppExchange package using those field types is
installed.
• The Roll-Up Summary option is available only on certain objects.
• Field types correspond to API data types.
• If your org uses Shield Platform Encryption, ensure that you understand how to encrypt custom fields using the Shield Platform
Encryption offering.

4. For relationship fields, associate an object with the field and click Next.

215
Extend Salesforce with Clicks, Not Code Customize Fields

5. For indirect lookup relationship fields, select a unique, external ID field on the parent object, and then click Next. The parent field
values are matched against the values of the child indirect lookup relationship field to determine which records are related to each
other.
6. To base a picklist field on a global picklist value set, select the value set to use.
7. Enter a field label.
Salesforce populates Field Name using the field label. This name can contain only underscores and alphanumeric characters
and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two
consecutive underscores. Use the field name for merge fields in custom links, custom s-controls, and when referencing the field
from the API.

Tip: Ensure that the custom field name and label are unique for that object.
• If standard and custom fields have identical names or labels, the merge field displays the custom field value.
• If two custom fields have identical names or labels, the merge field can display an unexpected value.
If you create a field label called Email and a standard field labeled Email exists, the merge field is unable to distinguish
between the fields. Adding a character to the custom field name makes it unique. For example, Email2.

8. To specify whether the field must be populated and what happens if the record is deleted, enter field attributes and select the
appropriate checkboxes.
9. For master-detail relationships on custom objects, optionally select Allow reparenting to allow a child record in the master-detail
relationship to be reparented to a different parent record.
10. For relationship fields, optionally create a lookup filter to limit search results for the field. Not available for external objects.
11. Click Next.
12. In Enterprise, Unlimited, Performance, and Developer Editions, specify the field’s access settings for each profile or permission set,
and click Next.

Note: To specify the field’s access settings for permission sets instead of profiles, enable Field-Level Security for Permission
Sets during Field Creation on the User Management Settings page.
If you specify access for permission sets, select Permission sets with object permissions to filter the list to permission sets
that have Create, Read, Edit, or Delete access on the field’s object. To show all permission sets, deselect this option. If no
permission sets have object permissions for the field’s object, the list contains all permission sets.

Access Level Enabled Settings (Profiles) Enabled Settings (Permission Sets)


Users can read and edit the field. Visible Edit Access (Read Access is selected
automatically)

Users can read but not edit the field. Visible and Read-Only Read Access

Users can’t read or edit the field. None None

When you create a custom field, by default the field isn’t visible or editable for portal profiles, unless the field is universally required.

13. To show the editable field, choose the page layouts and click Next.

Field Location on Page Layout


Normal Last field in the first two-column section.

216
Extend Salesforce with Clicks, Not Code Customize Fields

Field Location on Page Layout


Long text area End of the first one-column section.

User Bottom of the user detail page.

Universally required Can’t remove it from page layouts or make read only.

14. For relationship fields, optionally click Related List Label and enter a new name to create an associated records related list, then
add it to page layouts for that object. To add the related list to customized page layouts, select Append related list to
users’ existing personal customizations.
15. Click Save to finish or Save & New to create more custom fields.

Note: Creating fields can require changing a large number of records at once. If your request is queued to process these changes
efficiently, you receive an email notification when the process has completed.

Create a Custom Picklist Field


Create custom picklist fields to let your users select values from lists that you define.
Create a Global Picklist Value Set
Use global picklist value sets to share values across objects and custom picklist fields, and to restrict the picklists to only the values
that you specify.
Make Your Custom Picklist Field Values Global
When you create a custom picklist, it’s only available to the current object. To share the values with other objects, promote the
picklist to a global value set. The original custom picklist references the global value set for its values, and the global value set is also
available to other custom picklists.
Custom Field Types
Salesforce supports many different field types. Pick the right type, or convert an existing one.
What’s the Difference between Standard Fields and Custom Fields?
You can add custom fields to standard and custom objects in Salesforce, allowing you to infinitely customize your organization.
Although custom fields are similar to the standard fields that come built-in to Salesforce, there are some differences between standard
fields and custom fields.
Custom Fields Allowed Per Object
The number of custom fields allowed per object varies according to your Salesforce edition.
Custom Field Attributes
A custom field entry consists of several attributes.
Custom Address Fields
Improve address data accuracy and the end-user experience with Custom Address Fields. Users can populate a custom address field
manually or they can use the Google lookup to search for an address. Admins and APIs can access each address stored in a custom
address field as a structured compound data type as well as individual address components.
Geolocation Custom Field
The geolocation custom field allows you to identify locations by their latitude and longitude and to calculate distances between
locations.

217
Extend Salesforce with Clicks, Not Code Customize Fields

Time Custom Field


Track time, unbound to a date, with this custom field type. The time type is useful for time management, event planning, and project
management.