Extend Click
Extend Click
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
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.
1
Extend Salesforce with Clicks, Not Code Lightning Platform Home Page
2
Extend Salesforce with Clicks, Not Code Configure System Overview Messages
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.
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.
SEE ALSO:
Personalize Your Salesforce Experience
5
Extend Salesforce with Clicks, Not Code Customize Your Salesforce Org
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.
6
Extend Salesforce with Clicks, Not Code Find Object Management Settings
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.
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
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
• 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
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
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
• 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
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
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
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.
16
Extend Salesforce with Clicks, Not Code Page Layouts
SEE ALSO:
Ways to Control User Access to Fields
Customize Search Layouts
Trailhead: Customize Record Details with Page Layouts
USER PERMISSIONS
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
18
Extend Salesforce with Clicks, Not Code Page Layouts
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.
SEE ALSO:
Page Layouts
USER PERMISSIONS
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
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.
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.
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
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.
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.
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
• 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
• 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
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
29
Extend Salesforce with Clicks, Not Code Page Layouts
SEE ALSO:
The Enhanced Page Layout Editor
Page Layouts
USER PERMISSIONS
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.
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
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
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
36
Extend Salesforce with Clicks, Not Code Page Layouts
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.
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
• 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.
SEE ALSO:
Tips for Using the Enhanced Page Layout Editor
Page Layout Considerations
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
SEE ALSO:
How Page Layouts Work 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 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.
• 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
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.
SEE ALSO:
Feed-Based Layouts in Salesforce Classic
Use Case Feed in Salesforce Classic
Feed Tracking
Enable Feed Updates for Related Records
45
Extend Salesforce with Clicks, Not Code Page Layouts
• 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
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
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.
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
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.
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.
SEE ALSO:
Considerations for Using the Original Page Layout Editor
Customize Related Lists
Page Layouts
50
Extend Salesforce with Clicks, Not Code Page Layouts
• 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.
53
Extend Salesforce with Clicks, Not Code Compact Layouts
SEE ALSO:
Activity Timeline Customization Considerations
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
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
• 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
c. Select a file and click OK. The New Custom Tab wizard reappears.
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.
59
Extend Salesforce with Clicks, Not Code Custom Tabs
– 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
61
Extend Salesforce with Clicks, Not Code Custom Help Content
• 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.
62
Extend Salesforce with Clicks, Not Code Custom Help Content
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.
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
SEE ALSO:
Custom Help Content
SEE ALSO:
Custom Help Content
Field-Level Help
Find Object Management Settings
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.
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.
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.
67
Extend Salesforce with Clicks, Not Code Custom Help Content
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
68
Extend Salesforce with Clicks, Not Code Custom Help Content
SEE ALSO:
Find Help in Lightning Experience
Customize Content in the Guidance Center
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.
Onboarding
69
Extend Salesforce with Clicks, Not Code Custom Help Content
Sales
Service
Wellbeing
70
Extend Salesforce with Clicks, Not Code Custom Help Content
SEE ALSO:
Find Help in Lightning Experience
Custom Help in Lightning Experience
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
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
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.
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
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.
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.
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 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.
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
Enablement Sites
(myTrailhead) available in:
Enterprise, Performance,
and Unlimited Editions
USER PERMISSIONS
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
80
Extend Salesforce with Clicks, Not Code Custom Help Content
SEE ALSO:
Take Enablement Programs
81
Extend Salesforce with Clicks, Not Code Custom Help Content
82
Extend Salesforce with Clicks, Not Code Custom Help Content
USER PERMISSIONS
SEE ALSO:
Find Help in Lightning Experience Change Guidance Center
Settings
Learning Paths • Modify All Data OR
Customize Application
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.
83
Extend Salesforce with Clicks, Not Code Custom Help Content
84
Extend Salesforce with Clicks, Not Code Custom Help Content
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
USER PERMISSIONS
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
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
SEE ALSO:
Custom Help Content
Define Object-Level Help in Salesforce Classic
Object-Level Help Considerations in Salesforce Classic
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">
</apex:page>
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
Name The API name for the page. You can use the auto-filled value.
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
90
Extend Salesforce with Clicks, Not Code Custom Help Content
<!-- This page redirects to the URL in the action attribute above -->
</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
91
Extend Salesforce with Clicks, Not Code Tailor Business Processes to Different Record Types Users
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.
SEE ALSO:
How Is Record Type Access Specified?
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.
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
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
USER PERMISSIONS
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
SEE ALSO:
Edit Picklists for Record Types and Business Processes
97
Extend Salesforce with Clicks, Not Code Manage Your Translations
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.
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.
SEE ALSO:
Supported Languages
Translation Workbench
• 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
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
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
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
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
SEE ALSO:
Supported Languages
Rename Object, Tab, and Field Labels
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
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
SEE ALSO:
Select Languages for Your Org
Enable or Disable Translation Workbench
Override Translations in Second-Generation Managed Packages and Unlocked Packages
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
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
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
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.
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
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
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.
• 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
111
Extend Salesforce with Clicks, Not Code Manage Your Translations
SEE ALSO:
Export Metadata Translation Files
Export Data Translation Files
Import Translated Files
Note: See the following Data Translation File Considerations for important notes about
deleting the data translation for a record’s Name field.
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.
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 <> 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 <> 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.
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.
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.
15% discount available for .stf <p>15% discount available for veterans.
veterans. </p><p><b>Verification required.</b></p>
Verification required. .xlf <p>15% discount available for veterans.
</p><p><b>Verification
required.</b></p>
114
Extend Salesforce with Clicks, Not Code Manage Your Translations
SEE ALSO:
Export Metadata Translation Files
Export Data Translation Files
Import Translated Files
View, Restore, and Manage the Recycle Bin in Salesforce Classic
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.
115
Extend Salesforce with Clicks, Not Code Manage Your Translations
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>
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.
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
117
Extend Salesforce with Clicks, Not Code Manage Your Translations
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 <>. 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><></target>
118
Extend Salesforce with Clicks, Not Code Manage Your Translations
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
To translate the new field’s label and update the existing label, replace the LABEL text in each row.
# KEY LABEL
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
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
<>. 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.
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 <>
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>
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><></target>
</trans-unit>
<trans-unit id="CustomField.Widget__c.Number.FieldLabel" maxwidth="20" size-unit="char"
outOfDate="true">
<source>#</source>
<target><></target>
</trans-unit>
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.
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-------------------
CustomField.Widget__c.Number.FieldLabel # Número *
------------------TRANSLATED-------------------
# KEY LABEL
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 Label or Text id (in .xlf Files) or Key (in .stf Files)
Country “Spain” in address AddressCountry.ES
“Low” picklist entry in the Customer Priority picklist on the Account PicklistValue.Account.CustomerPriority.Low
object
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
Translation Label or Text id (in .xlf Files) or Key (in .stf Files)
Name of the product with record ID 01txx0000006yvEAAQ Product2.01txx0000006yvEAAQ.Name
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
Screen
126
Extend Salesforce with Clicks, Not Code Manage Your Translations
Choice
Stages
Text Template
127
Extend Salesforce with Clicks, Not Code Manage Your Translations
SEE ALSO:
Work with Translation Files
Considerations for Translating Flows
• 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.
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.
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
SEE ALSO:
Supported Languages
Work with Translation Files
Common Errors with Exporting and Importing Translation Files
Documents Home
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
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
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
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
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
SEE ALSO:
Salesforce Help: Translate Flow Screen Components
135
Extend Salesforce with Clicks, Not Code Set Up Your Data Your Way
136
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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
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%.
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
139
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
SEE ALSO:
Make Search Faster
Object Relationships Overview
Define Object-Level Help in Salesforce Classic
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
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
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.
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.
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
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.
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
USER PERMISSIONS
To customize custom
objects:
• Customize Application
147
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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.
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
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
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.
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.
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
151
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
SEE ALSO:
Truncate Custom Objects
Manage Deleted Custom Objects
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
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.
SEE ALSO:
Salesforce Developers: Big Objects Implementation Guide
153
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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
SEE ALSO:
Create Custom Fields
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.
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.
156
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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.
If the child entity has these permissions These permissions are enabled on the parent entity
Modify All OR View All View All
• 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.
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
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.
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
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
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:
167
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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
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
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.
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.
169
Extend Salesforce with Clicks, Not Code Store Information That’s Unique to Your Organization
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.
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
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
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 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
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 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.
173
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences
174
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences
Store a customer’s subscription preferences for a specific communication. Available in: all editions.
Consumer Credit Score Provider Name The name of the company that provided the
credit score.
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 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.
Military Service Indicates whether the customer has served in the military.
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.
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.
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
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.
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
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 Fax Capable Indicates whether a contact’s phone number is a fax number (true)
or not (false).
Is SMS Capable Indicates whether a contact’s phone number can receive text
messages (true) or not (false).
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.
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
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.
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
181
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences
Capture Contact Point Type The contact point used to capture consent.
• Email
• Mailing Address
• Phone
• Social
• Web
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.
Party Role The party role record that you want to associate
this consent with.
182
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences
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
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.
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.
185
Extend Salesforce with Clicks, Not Code Store Customers’ Data Privacy Preferences
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
USER PERMISSIONS
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.
188
Extend Salesforce with Clicks, Not Code Classify Sensitive Data to Support Data Management Policies
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.
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.
You can update multiple fields at once using the CustomField Metadata API.
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.
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')
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
SEE ALSO:
Create Objects with Schema Builder
Custom Field Types
Change Sets
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
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.
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.
194
Extend Salesforce with Clicks, Not Code Design Your Own Data Model With Schema Builder
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
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".
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.
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.
197
Extend Salesforce with Clicks, Not Code Create Custom Settings
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.
198
Extend Salesforce with Clicks, Not Code Create Custom Settings
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
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.
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
SEE ALSO:
Grant Permissions on Custom Settings
Access Custom Settings with Code
Grant Permissions on Custom Settings
Grant Read Access to All Custom Settings
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.
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.
202
Extend Salesforce with Clicks, Not Code Create Custom Settings
SEE ALSO:
Create Custom Settings Records
203
Extend Salesforce with Clicks, Not Code Create Custom Settings
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
• 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.
SEE ALSO:
Custom Settings Limits and Considerations
204
Extend Salesforce with Clicks, Not Code Create Custom Settings
205
Extend Salesforce with Clicks, Not Code Create Custom Settings
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.
206
Extend Salesforce with Clicks, Not Code Create Custom Settings
{!$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.
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);
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
208
Extend Salesforce with Clicks, Not Code Customize Fields
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
209
Extend Salesforce with Clicks, Not Code Customize Fields
210
Extend Salesforce with Clicks, Not Code Customize Fields
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
211
Extend Salesforce with Clicks, Not Code Customize Fields
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
SEE ALSO:
Considerations and Guidelines for Capturing Gender-Related Data
Customize Standard Fields
Add or Edit Picklist Values
Page Layouts
Field-Level Security
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
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.
Users can read but not edit the field. Visible and Read-Only Read Access
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.
216
Extend Salesforce with Clicks, Not Code Customize Fields
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.
217
Extend Salesforce with Clicks, Not Code Customize Fields